From 5708731ebc098c0233acbec3d2744076f0b6e9ec Mon Sep 17 00:00:00 2001 From: jensp Date: Wed, 11 Dec 2013 09:59:09 +0000 Subject: [PATCH] =?UTF-8?q?-=20SiteBanner=20um=20Methoden=20f=C3=BCr=20das?= =?UTF-8?q?=20Auslesen=20der=20einzelnen=20erweitert,=20diese=20k=C3=B6nne?= =?UTF-8?q?n=20einfach=20=C3=BCberschrieben=20werden=20-=20SubSiteBanner?= =?UTF-8?q?=20erstellt.=20Dies=20ist=20eine=20Unterklasse,=20die=20die=20M?= =?UTF-8?q?ethode=20getSiteName()=20von=20SiteBanner=20=C3=BCberschreibt.?= =?UTF-8?q?=20Die=20=C3=BCberschriebene=20=20=20Methode=20gibt=20den=20Nam?= =?UTF-8?q?en=20der=20SubSite=20(aus=20dem=20Kontext)=20zur=C3=BCck=20und?= =?UTF-8?q?=20nicht=20wie=20SiteBanner=20den=20Namen=20aus=20der=20Konfigu?= =?UTF-8?q?ration?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Um das Default-Layout so zu ändern, dass der SubSiteBanner verwendet wird, muss derzeit noch die Konfiguration angepasst werden. git-svn-id: https://svn.libreccm.org/ccm/trunk@2480 8810af33-2d31-482b-a856-94f89814c4df --- ccm-core/src/com/arsdigita/ui/SiteBanner.java | 27 ++++++++---- .../com/arsdigita/subsite/Initializer.java | 2 +- .../arsdigita/subsite/ui/SubSiteBanner.java | 43 +++++++++++++++++++ 3 files changed, 63 insertions(+), 9 deletions(-) create mode 100644 ccm-subsite/src/com/arsdigita/subsite/ui/SubSiteBanner.java diff --git a/ccm-core/src/com/arsdigita/ui/SiteBanner.java b/ccm-core/src/com/arsdigita/ui/SiteBanner.java index d098b0ce7..15fbef28f 100755 --- a/ccm-core/src/com/arsdigita/ui/SiteBanner.java +++ b/ccm-core/src/com/arsdigita/ui/SiteBanner.java @@ -30,17 +30,28 @@ import com.arsdigita.xml.Element; */ public class SiteBanner extends SimpleComponent { + @Override public void generateXML(PageState state, Element parent) { - Element content = parent.newChildElement("ui:siteBanner", - UIConstants.UI_XML_NS); + final Element content = parent.newChildElement("ui:siteBanner", + UIConstants.UI_XML_NS); exportAttributes(content); - content.addAttribute("hostname", - Web.getConfig().getServer().toString()); - content.addAttribute("sitename", - Web.getConfig().getSiteName()); - content.addAttribute("admin", - Kernel.getSecurityConfig().getAdminContactEmail()); + content.addAttribute("hostname", getHostname()); + content.addAttribute("sitename", getSiteName()); + content.addAttribute("admin", getAdminContactEmail()); } + + protected String getHostname() { + return Web.getConfig().getServer().toString(); + } + + protected String getSiteName() { + return Web.getConfig().getSiteName(); + } + + protected String getAdminContactEmail() { + return Kernel.getSecurityConfig().getAdminContactEmail(); + } + } diff --git a/ccm-subsite/src/com/arsdigita/subsite/Initializer.java b/ccm-subsite/src/com/arsdigita/subsite/Initializer.java index 80a719c15..478dd1576 100755 --- a/ccm-subsite/src/com/arsdigita/subsite/Initializer.java +++ b/ccm-subsite/src/com/arsdigita/subsite/Initializer.java @@ -34,6 +34,7 @@ import com.arsdigita.runtime.PDLInitializer; import com.arsdigita.runtime.RuntimeConfig; import com.arsdigita.subsite.dispatcher.SubsiteItemURLFinder; import com.arsdigita.templating.PatternStylesheetResolver; +import com.arsdigita.ui.UIConfig; import com.arsdigita.ui.admin.ApplicationManagers; import com.arsdigita.xml.XML; @@ -80,7 +81,6 @@ public class Initializer extends CompoundInitializer { //Register the ApplicationManager implementation for the Subsite application ApplicationManagers.register(new SubsiteAppManager()); - } } diff --git a/ccm-subsite/src/com/arsdigita/subsite/ui/SubSiteBanner.java b/ccm-subsite/src/com/arsdigita/subsite/ui/SubSiteBanner.java new file mode 100644 index 000000000..a87c428cb --- /dev/null +++ b/ccm-subsite/src/com/arsdigita/subsite/ui/SubSiteBanner.java @@ -0,0 +1,43 @@ +/* + * Copyright (C) 2013 Jens Pelzetter + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public License + * as published by the Free Software Foundation; either version 2.1 of + * the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + * + */ +package com.arsdigita.subsite.ui; + +import com.arsdigita.subsite.Subsite; +import com.arsdigita.subsite.SubsiteContext; +import com.arsdigita.ui.SiteBanner; + +/** + * + * @author Jens Pelzetter + * @version $Id$ + */ +public class SubSiteBanner extends SiteBanner { + + @Override + protected String getSiteName() { + final SubsiteContext context = Subsite.getContext(); + + if ((context == null) || (context.getSite() == null)) { + return super.getSiteName(); + } else { + return Subsite.getContext().getSite().getHostname(); + } + } + +}