Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 09. Oktober 2012 15:32

simonson
kennt CMS/ms
Ort: Wien
Registriert: 07. März 2012
Beiträge: 192

[GELÖST] Unterschiedliche Templates für verschieden Seiten

Hallo Gemeinde,
trotz längerer Suche im Forum habe ich für mein "Problem" keine Lösung gefunden:

Mein "Basis"-Template funktioniert einwandfrei, allerdings möchte ich auf einigen Seiten andere Header einsetzen,
die zum jeweiligen Thema passen.

Bis jetzt habe ich für die jeweiligen Seiten das Basistemplate kopiert und entsprechend umgebaut.

Das das Basistemplate relativ umfangreich ist, frage ich,
ob es eine elegantere = speichersparende Lösung gibt.

Dank vorab!


mfg
simonson

CMSMS 1.12     Apache/2.4.6 (Linux/SUSE) - PHP 5.4.20 - MySQL 5.0.95 - W7 ultimate - FF 38.0.1

Offline

#2 09. Oktober 2012 19:19

tbtip
kennt CMS/ms
Ort: Hoya
Registriert: 09. November 2010
Beiträge: 117
Webseite

Re: [GELÖST] Unterschiedliche Templates für verschieden Seiten

Hallo simonson,

schau dir mal diese Diskussion an: http://www.cmsmadesimple.de/forum/viewtopic.php?id=1052

Habe das bei meinem Arbeitgeber realisiert was du anscheinend suchst: AKON Robotics

Klick dich mal durch und du siehst das sich das Headerbild ab und zu ändert, wenn ein anderes Themengebiet kommt.

Hier der Code im Template wie ich es realisiert habe:

{* Start Header, with logo image that links to the default start page. Logo image is changed in the stylesheet  "Layout: Left sidebar + 1 column" *}
<div id="header"> {content block="headerbild" oneline="false" size="80" wysiwyg="true" label="Header Bild"}
<hr class="accessibility" />
</div>
{* End Header *}

Die Bilder werden dann auf jeder Seite dementsprechend verknüft.

Offline

#3 09. Oktober 2012 21:20

otter24
kennt CMS/ms
Ort: Hamburg
Registriert: 12. Januar 2011
Beiträge: 339

Re: [GELÖST] Unterschiedliche Templates für verschieden Seiten

Das geht sogar noch einen Tacken eleganter. Dann braucht man nicht immer den WYSISYG Editor aufrufen.
Du installierst Dir das Module GBFilepiker und Advancend Content

so einen oder ähnlichen Code packst Du auf ganz oben in den Body., also nach dem öffnenden Body Tag.

[== Smarties  ==]
 {capture assign="home_bild"}{content_module block="home_bild" lable="Bild auf der Startseite" 
module="GBFilePicker" dir="images/content/home"}{/capture}

Das hat folgendes zu bedeuten...
content_module block="home_bild"  >> Name des Blocks, muss eindeutig sein, also in Form darf nur einmal vorkommen der Name.
lable="Bild auf der Startseite"
"Überschrift" über dem Block im Backend. Sollte eindeutig sein, vom Sinn her.

module="GBFilePicker"  >>Modulaufruf vom GBFilePicker

dir="images/content/home" >>  Der Pfad zu deinem Verzeichnis in dem sich die Header Grafiken befinden. Kannst natürlich anpassen...


Dann baustso etwas in dein Template an dem der Header erscheinen soll.

[== Htmlisch ==]
 <img src="uploads/{if !empty($home_bild)}{$home_bild} {/if}" />

Dann bekommst Du im Backend auf jeder Seite einen Dropdown in dem Du die Bilder auswählen kannst.

Du baust den Code in eins deiner Templates ein und erhälst auf jeder Seite der Du diese Template zugordnet hast diesen Dropdown.  Dann Datei auswählen speichern. Im Browser F5 drücken und glücklich sein...


Viel Spaß


Ich bin war  kein Klugscheißer, ich weiß wusste es wirklich nicht besser.

Offline

#4 10. Oktober 2012 09:55

simonson
kennt CMS/ms
Ort: Wien
Registriert: 07. März 2012
Beiträge: 192

Re: [GELÖST] Unterschiedliche Templates für verschieden Seiten

Danke für Eure Hinweise!

Habe mich wahrscheinlich nicht ganz klar ausgedrückt:

Der GESAMTE header soll an den Seiteninhalt angepasst werden,
Eure Hinweise beziehen sich nur auf einen Bilderwechsel.

Gibt's dazu Lösungen?


mfg
simonson

CMSMS 1.12     Apache/2.4.6 (Linux/SUSE) - PHP 5.4.20 - MySQL 5.0.95 - W7 ultimate - FF 38.0.1

Offline

#5 10. Oktober 2012 09:57

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.934
Webseite

Re: [GELÖST] Unterschiedliche Templates für verschieden Seiten

Du kannst dazu auch mehrere Globale Inhaltsblöcke anlegen und diese danach via AdvancedContent als Dropdown zur Auswahl geben.

Allenfalls kannst du einmal 2 verschiedene Header hier posten, damit wir wissen was du genau austauschst.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#6 10. Oktober 2012 10:02

otter24
kennt CMS/ms
Ort: Hamburg
Registriert: 12. Januar 2011
Beiträge: 339

Re: [GELÖST] Unterschiedliche Templates für verschieden Seiten

Klar...

dann musst Du den Vorschlag von tbtip nehmen und den gesamten Header Inhalt den du individuell anpassen möchtest in den Content Block einbetten. Mit der Variante von tbtip bekommst Du einen zusätzlichen WYSIWYG Editor in deinem Back end und da kannst Du nach herzenslust inhalte einbauen. Lass dich nicht von den Namen täuschen nur weil das Header_bild steht. Musst halt ein wenig abstrahieren... Das Modul deiner Wahl ist AdvancendContent. Ließ dir das durch und dann schaffst Du das schon.

Gruß aus HH


Ich bin war  kein Klugscheißer, ich weiß wusste es wirklich nicht besser.

Offline

#7 10. Oktober 2012 18:11

simonson
kennt CMS/ms
Ort: Wien
Registriert: 07. März 2012
Beiträge: 192

Re: [GELÖST] Unterschiedliche Templates für verschieden Seiten

Danke für Eure Vorscläge!

An sich möchte ich nur die rot markierten Teile dem Seiteninhalt entsprechend tauschen.

<!-- start header -->
<div id="header">
<!--  <h1>{sitename}</h1> -->
<table style="border-radius: 10px;" width="100%" border="0">
<tr>
<td align="center">
<img src="uploads/images/Owl_l_53x100_tw.gif" alt="Unternehmerberatung" width="52" height="100" /></td>
<td align="center" valign="middle" width="80%">
<br /> <span style="font-size: 24px; font-weight: bold; color: #666;">
simon´s solutions -
<span style="color: blue;">{title}</span><br /> </span>
<span style="line-height: 1.8em; color: #666; font-weight: bold;">Die Datenbanken des "nutzlosen Wissens" -
<em>aber auch welche des nutzbringenden Wissens!</em></span> <br /><br />

{* Start Navigation *}
<div id="menu_vert">{* stylesheet "Navigation: CSSMenu - Horizontal" *} {menu loadprops=0 template='cssmenu.tpl'}</div>
{* End Navigation *}</td>

<td align="center"><img src="uploads/images/Owl_r_53x100_tw.gif" alt="Unternehmerberatung" width="52" height="100" />
</td>
</tr>
</table>
</div> <!-- end header -->

Es geht also nicht so sehr um die Bequemlichkeit beim programmieren, sondern um die Möglichkeit dies seitenspezifisch zu tauschen.

Offenbar muss ich in jedem Fall den Seiten ein anderes, geändertes und komplettes Template zuordnen - oder sehe ich das falsch?


mfg
simonson

CMSMS 1.12     Apache/2.4.6 (Linux/SUSE) - PHP 5.4.20 - MySQL 5.0.95 - W7 ultimate - FF 38.0.1

Offline

#8 10. Oktober 2012 19:14

NaN
Moderator
Ort: Halle (Saale)
Registriert: 09. November 2010
Beiträge: 4.437

Re: [GELÖST] Unterschiedliche Templates für verschieden Seiten

Ich verstehe nicht wo das Problem liegt.
Du willst ein Bild und einen Text pro Seite haben.
Warum dann nicht mit Inhaltsblöcken arbeiten, die Du für jede Seite individuell befüllen kannst?
Das kannst Du sogar ohne zusätzliche Module mit Boardmitteln lösen.


Module: GBFilePicker, AdvancedContent
Sicherheit: Beispiel .htaccess-Datei
CMSms 1.12 unter PHP 7:
cmsms-1.12.3.zip (inoffiziell - komplett inkl. Installer)
CMSms 1.12 unter PHP 8:
cmsms-1.12.4.zip (inoffiziell - komplett inkl. Installer)

Offline

#9 10. Oktober 2012 19:23

otter24
kennt CMS/ms
Ort: Hamburg
Registriert: 12. Januar 2011
Beiträge: 339

Re: [GELÖST] Unterschiedliche Templates für verschieden Seiten

Ja das siehst Du falsch, völlig falsch. Du hast die Möglichkeit in CMSMS mehrere Contentblöcke zu integrieren.
2 Kennst Du wahrscheinlich den Haupt content Block {content}. Der bewrikt grob und stark vereinfacht, das Du auf jeder Seite in deinem Backenend einen Editor fenster erscheint in dem Du Seiten spezifische Inhalte eingeben kannst. Die Inhalte erscheinen genau dort wo der Content Block eingebaut ist.

Die 2 Variante von Content blöcken die Dir schon über den Wege gelaufen ist sind die Globalen ... Wie der Name schon sagt, haben Sie global also auf der ganzen Website den gleichen/selben Inhalt.

Sooo nun ist es mit CMSMS möglich mehrere Content Blöcke zu integrieren, die müssen aber anders heißen als {content}
Kannst Dir sicher vorstellen warum ... Eindeutigkeit ...

So und hier kommt das AdvancendContent Modul ins Spiel. Mit diesem Modul ist es eifach möglich Content Blöcke die seitenspezifischen Inhalt anzeigensollen AUSSERHALB dern Hauptcontentblock zu plazieren, dazu muss man die Seiten nach der Installation von AdvancendContent alles Seiten von Inhalt auf  "Erweiterten Inhalt" umzeichen.  und dann den entsprechenden Code einbauen... >>>>> Wirklich einbauen das ahaaaa Erlebnis ist wichtig.

Ich bin gerade dabei ziemlich genau so etwas zu bauen. Eine Grafik mit dazugehörigen Text... Ich versuch das mal in einfachen Schritten zu skizzieren was Du zu tun hast .

1. AdvancendContent und GBFilepicker installieren
2. Seiten auch "Erweiterten Inhalt" umzeichnen.
3. Template bearbeiten
4. Inhalte bearbeiten.

so zu 3 ...

[== Template nach dem öffnenden Body Tag ==]
{capture assign="home_bild"}{content_module block="home_bild" lable="Bild auf der Startseite" module="GBFilePicker" dir="images/content/home"}{/capture}  
{capture assign="label_1"}{content block='label_1' label="Label für der Bild einfügen 1 Zeile " oneline="true" size="120"}
{/capture}
 {capture assign="label_2"}{content block='label_2' label="Label für der Bild einfügen 2 Zeile" oneline="true" size="120"}
{/capture}
[== Dein Code der raus muss  ==]
<td align="center"> [color=red]<img src="uploads/images/Owl_l_53x100_tw.gif" alt="Unternehmerberatung" width="52" height="100" 
/>[/color]</td> <td align="center" valign="middle" width="80%"> <br /> <span style="font-size: 24px; font-weight: bold; color: 
#666;"> simon´s solutions - <span style="color: blue;">{title}</span><br /> </span> <span style="line-height: 1.8em; 

color: #666; font-weight: bold;">Die Datenbanken des "nutzlosen Wissens" - <em>aber auch welche des 
nutzbringenden Wissens!</em></span> <br /><br /> {* Start Navigation *} <div id="menu_vert">{* stylesheet 
"Navigation: CSSMenu - Horizontal" *} {menu loadprops=0 template='cssmenu.tpl'}</div> {* End Navigation *}</td>
[== Der neue Code der eingebaut werden sollte ==]
<td align="center"> [color=green]<img src="uploads/{if !empty($home_bild)}{$home_bild} {/if}" />[/color]</td> <td align="center" 
valign="middle" width="80%"> <br /> <span style="font-size: 24px; font-weight: bold; color: #666;"> simon´s solutions
 - <span style="color: blue;">{title}</span><br /> </span> <span style="line-height: 1.8em; color: #666; font-weight:
 bold;">{if !empty($label_1)}<p>{$label_1} {/if}  <em>{if !empty($label_2)}<p>{$label_2} {/if} </em></span> <br 
/><br /> {* Start Navigation *} <div id="menu_vert">{* stylesheet "Navigation: CSSMenu - Horizontal" *} {menu 
loadprops=0 template='cssmenu.tpl'}</div> {* End Navigation *}</td>

Damit erhälst Du wie auf diesem Bild mini_backend.pngzu sehen folgende neue Eingabe Möglichkeiten.

Das wie das bei mir aussieht in Live kannst Du hier nachverfolgen. Allerdings sind nur die Seiten Home und Karriere ...


Sooo alles Klar soweit?

Gruß aus HH


Ich bin war  kein Klugscheißer, ich weiß wusste es wirklich nicht besser.

Offline

#10 10. Oktober 2012 20:29

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.934
Webseite

Re: [GELÖST] Unterschiedliche Templates für verschieden Seiten

[== Template nach dem öffnenden Body Tag ==]
{capture assign="home_bild"}{content_module block="home_bild" lable="Bild auf der Startseite" module="GBFilePicker" dir="images/content/home"}{/capture}  
{capture assign="label_1"}{content block='label_1' label="Label für der Bild einfügen 1 Zeile " oneline="true" size="120"}
{/capture}
 {capture assign="label_2"}{content block='label_2' label="Label für der Bild einfügen 2 Zeile" oneline="true" size="120"}
{/capture}

Das {capture} braucht es nicht. Dafür kennt der Content Block den Parameter "assign":

[== Template nach dem öffnenden Body Tag ==]
{content_module block="home_bild" lable="Bild auf der Startseite" module="GBFilePicker" dir="images/content/home" assign="home_bild"}
{content block='label_1' label="Label für der Bild einfügen 1 Zeile " oneline="true" size="120" assign="label_1"}
{content block='label_2' label="Label für der Bild einfügen 2 Zeile" oneline="true" size="120" assign="label_2"}

Zudem ist assign direkt in der Funktion drin effizenter als ein {capture}


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#11 10. Oktober 2012 20:53

otter24
kennt CMS/ms
Ort: Hamburg
Registriert: 12. Januar 2011
Beiträge: 339

Re: [GELÖST] Unterschiedliche Templates für verschieden Seiten

Siehst wohl und wieder was gelernt...
Dann baue ich mal um.

effizienter bedeutet wohl perfomanter, oder ?
Danke nockenfell


Ich bin war  kein Klugscheißer, ich weiß wusste es wirklich nicht besser.

Offline

#12 10. Oktober 2012 21:26

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.934
Webseite

Re: [GELÖST] Unterschiedliche Templates für verschieden Seiten

genau


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline