Sie befinden sich hier: start » de » tips_and_tricks

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

de:tips_and_tricks [2016/12/26 21:31]
127.0.0.1 Externe Bearbeitung
de:tips_and_tricks [2018/10/26 15:33]
Zeile 1: Zeile 1:
-====== Tipps und Tricks ====== 
  
-Hier finden Sie einige Tipps und Tricks wie sie CMSimple_XH [[customization|anpassen]] können. 
- 
-Einige weitere Tipps und Tricks sind im  [[http://​cmsimplewiki.com/​doku.php/​tips_and_tricks/​start|CMSimple wiki]] aufgeführt. //Bitte beachten Sie, dass diese Tipps und Tricks nicht notwendigerweise die Qualitätsstandards von CMSimple_XH erfüllen, und dass sie sogar inkompatibel zu CMSimple_XH sein könnten.// 
- 
-===== Eingangs-Seite ===== 
- 
-Manchmal möchte man eine Eingangs-Seite haben, die durch direkten Aufruf der Domain erreichbar ist, aber nicht im Navigationsmenü angezeigt werden soll. Die Lösung ist einfach: erzeugen Sie einfach eine Seite der obersten Ebene als erste Seite der CMSimple_XH-Installation und [[cmsimple_scripting#​show_in_menu|verstecken]] Sie sie. 
- 
-===== Eigene 404 Fehler-Seite ===== 
- 
-Wenn jemand zu einer Seite navigiert, die es nicht gibt, sendet CMSimple_XH den HTTP-Response-Code 404 und zeigt eine entsprechende Meldung an. Seit CMSimple_XH 1.5 ist es einfach Ihre eigene Fehlerseite anzuzeigen: erstellen Sie einfach eine [[cmsimple_scripting#​show_in_menu|versteckte Seite]] auf oberster Ebene mit der Überschrift "​404"​ und dem gewünschten Inhalt. Dann definieren Sie die folgende Funktion in [[customization#​userfuncsphp|userfuncs.php]]:​ 
-<​code=php>​function custom_404() 
-{ 
-    header('​Location:​ ?​404'​);​ 
-    exit; 
-}</​code>​ 
- 
-Wie eine eigene 404 Fehler-Seite mit älteren Versionen von CMSimple_XH implementiert werden kann, ist im [[http://​cmsimpleforum.com/​viewtopic.php?​f=8&​t=3515&​p=20913#​p20902|CMSimple Forum]] beschrieben. 
-===== Template-Anpassung ===== 
- 
-Mit CMSimple_XH ist es möglich ein unterschiedliches Template für individuelle Seiten Ihrer Website auszuwählen. Also ist es immer möglich das Template zu duplizieren,​ und im "​Seiten"​-Reiter das gewünschte auszuwählen. 
- 
-FIXME Sprachspezifische Templates erwähnen. 
- 
-Allerdings können verschiedene Anwendungsfälle durch Ausnutzen des gesamten Leistungsvermögens des CMSimple_XH-Frameworks ohne eine Kopie des Templates behandelt werden, indem Sie kleinere Anpassungen am Template vornehmen. Einige Beispiele nützlicher Techniken werden im folgenden gezeigt. 
- 
-==== Newsbox nur auf der Startseite ==== 
- 
-Um eine [[newsboxes|Newsbox]] nur auf der Startseite anzuzeigen, kann man folgende Änderung am Template vornehmen: 
-<code php> 
-<?php if ($s === 0): ?> 
-    <?php echo newsbox();?>​ 
-<?php endif ?> 
-</​code>​ 
- 
-Dies ist nur ein Beispiel. Sie müssen es an Ihr Template anpassen, d.h. Sie müssen die eingerückte Zeile um alles, das ausgeschlossen werden soll, erweitern, z.B. <​div>​s,​ die die Newsbox zu Layout-Zwecken umgeben. Passen Sie auf, dass die eingerückte Zeile ein vollständiges (X)HTML-Element enthält, und nicht nur einen Teil davon. 
- 
-==== Sprachspezifische Templates ==== 
- 
-Wenn Sie Ihr Template für verschiedene Sprachen anpassen wollen, können Sie dafür die CMSimple_XH-Variable $sl verwenden. Diese enthält die aktuelle Sprache, z.B. "​en",​ "​de"​ oder "​dk"​. Sie können eine Variante der in [[#​Newsbox_nur_auf_der_Startseite|Newsbox nur auf der Startseite]] erwähnten Technik verwenden:<​code php> 
-<?php if ($sl == '​en'​):?>​ 
-    <​p>​Welcome</​p>​ 
-<?php elseif ($sl == '​de'​):?>​ 
-    <​p>​Willkommen</​p>​ 
-<?php elseif ($sl == '​fr'​):?>​ 
-    <​p>​Bienvenue</​p>​ 
-<?php endif;?> 
-</​code>​ 
-Bitte beachten Sie, dass just dieser Effekt leichter erzielt werden kann, indem die "​template texts" in der Subsite-Konfiguration genutzt werden: 
-<​code=php>​ 
-<?php echo $txc['​template'​]['​text1'​];?>​ 
-</​code>​ 
- 
-Manchmal ist es möglich eine alternative Technik zu verwenden. Wenn Sie z.B. ein sprachspezifisches Header-Bild einbinden wollen, können Sie schreiben: 
-<code php> 
-<?php echo tag('​img src="'​.$pth['​folder'​]['​template'​].'​images/​header-'​.$sl.'​.jpg"​ alt="​..."'​)?>​ 
-</​code>​ 
-Dies zeigt header-en.jpg für den englischen und header-de.jpg für den deutschen Teil der Website. Die Bilddateien sollten im image/ Unterordner Ihres Templates hinterlegt sein. 
- 
-FIXME Erklären wie man bei mehrsprachigen Websites verlinkt und Bilder etc. referenziert. Erklären wie man in die selbe Sprache einer anderen Installation verlinken kann. 
-==== Eigenes Stylesheet für jede Seite ==== 
- 
-Um ein eigenes Stylesheet für jede einzelne Seite zu verwenden, können Sie die folgende Anpassung an Ihrem Template vornehmen. Fügen Sie den Code unmittelbar oberhalb des </​head>​ Tags ein. 
-<code php> 
-<?php echo tag('​link rel="​stylesheet"​ type="​text/​css"​ href="'​.$pth['​folder'​]['​template'​].$sl.'​-'​.$su.'​.css"'​)."​\n";​ ?> 
-</​code>​ 
- 
-Auf diese Weise wird ein zusätzliches Stylesheet für die Seite eingebunden. Diese Stylesheets müssen im Templateordner als LANG-HEADING.css (z.B. en-Start.css) gespeichert sein. Sie müssen keine leeren Stylesheets für Seiten anlegen, die kein zusätzliches Styling benötigen. Achten Sie bei dieser Technik darauf, dass Sie keine Sonderzeichen in den Seitenüberschriften verwenden. 
- 
-==== Eine Newsbox vollständig ausblenden ==== 
- 
-Wenn Sie eine Newsbox vorübergehend ausblenden wollen, können Sie einfach ihren Status auf [[..:​cmsimple_scripting#​published|unveröffentlicht]] ändern. Aber manchmal wird die Newsbox innerhalb eines div Elements mit zusätzlichem Styling (z.B. background, border) angezeigt, und dieses bleibt auf der Seite sichtbar. Um die Newsbox vollständig auszublenden,​ können Sie Ihr Template ändern (nur die erste und letzte Zeile muss ergänzt werden): 
-<​code=php><?​php if (isPublished('​News01'​)):?>​ 
-<div class="​newsbox">​ 
-  <?php echo newsbox('​News01'​);?>​ 
-</​div>​ 
-<?php endif;?></​code>​ 
-Die Funktion isPublished() muss mit dem gleichen Parameter wie newsbox() aufgerufen werden. Da isPublished() in CMSimple_XH nicht zur Verfügung steht, müssen Sie es zu [[customization#​userfuncsphp|userfuncs.php]] hinzufügen:​ 
-<​code=php>​ 
-function isPublished($heading) 
-{ 
-    global $h, $pd_router; 
- 
-    $i = array_search($heading,​ $h); 
-    if ($i !== false) { 
-        $pd = $pd_router->​find_page($i);​ 
-        if (function_exists('​Pageparams_isPublished'​)) { 
-            return Pageparams_isPublished($pd);​ 
-        } else { 
-            return $pd['​published'​] == '​1';​ 
-        } 
-    } else { 
-        return false; 
-    } 
-} 
- 
-</​code>​ 
-==== Seitenspezifische Header-Bilder ==== 
- 
-Wenn Sie individuelle Header-Bilder für jede Seite anzeigen wollen, können Sie so genannte "​Template Variablen"​ verwenden. Die Grundidee ist, dass Sie ein Variable anstatt eines fest codierten Wertes im Template verwenden, und dass Sie diesen Wert auf jeder Seite mit [[..:​cmsimple_scripting|CMSimple Skripting]] setzen. Fangen wir mit einem vereinfachten Beispiel an. Angenommen Sie haben in template.htm:​ 
-<​code=php><​img src="​./​images/​header.jpg"></​code>​ 
-Um es variabel zu machen, ändern Sie es in: 
-<​code=php><​img src="​./​images/​header<?​php echo $headerImage;?>​.jpg"></​code>​ 
-Hiermit wird das selbe Header-Bild auf jeder Seite angezeigt. Auf Seiten, auf denen Sie ein anderes Header-Bild anzeigen möchten, schreiben Sie einfach in den Seiteninhalt:​ 
-<​code>#​CMSimple $headerImage='​kontakt';#</​code>​ 
-Damit wird das Bild "​header-kontakt.jpg"​ auf dieser Seite angezeigt. Natürlich muss dieses Bild noch in den gleichen Ordner wie das allgemeine header.jpg hoch geladen werden. Beachten Sie, dass der Wert "​kontakt"​ in obigem Code nichts mit der Seitenüberschrift zu tun hat; es ist einfach nur die Endung des Dateinamens. 
- 
-Nun zu einem richtigen Beispiel. In template.htm:​ 
-<​code=php><?​php if (empty($headerImage)) {$headerImage = '​header.jpg';​}?>​ 
-<?php if (empty($headerAlt)) {$headerAlt = 'ein alt text für das Standard-Header-Bild';​}?>​ 
-<?php echo tag('​img src="'​ . $pth['​folder'​]['​templateimages'​] . $headerImage . '"​ alt="'​ . $headerAlt . '"'​);?></​code>​ 
-Auf der Seite: 
-<​code>#​CMSimple $headerImage = '​header-der-ueber-uns-seite.jpg';​ $headerAlt = 'ein alt text für eben dieses Header-Bild';#</​code>​ 
-Auf diese Weise können sie beliebige Dateinamen (sogar unterschiedliche Grafikformate) auf verschiedenen Seiten wählen, und Sie können einen individuellen "​alt"​ text für das Bild angeben. Beachten Sie, dass die Bilder im Unterordner images/ des Templateordners vorliegen müssen. 
- 
-Zur leichteren Auswahl der seitenspezifischen Bilder können Sie das [[..:​extend:​morepagedata_xh|Morepagedata_XH]] Plugin verwenden. 
 
Sie befinden sich hier: start » de » tips_and_tricks
Falls nicht anders bezeichnet, ist der Inhalt dieses Wikis unter der folgenden Lizenz veröffentlicht: GNU Free Documentation License 1.3
Valid XHTML 1.0 Valid CSS Driven by DokuWiki