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

#1 26. Juni 2013 16:39

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

[GELÖST] Header automatisch an Seiteninhalt anpassen

Hallo Gemeinde,
bastle nun seit einem Jahr meine Seiten mit CMSMS zusammen und bin durchaus zufrieden.
Nun aber habe ich folgendes Problem:

Im Basis-template rufe ich mit {content} die einzelen Seiteninhalte auf.
In den Seiten rufe ich einen globalen Inhaltsblock auf, der den zur Seite passenden header enthält

<!-- Header START -->
<div id="header">{global_content name='JPS_header_peter'}</div>
<div id="menu_vert" >
{menu loadprops=0 template='cssmenu.tpl' start_level="2"}
</div>
<!-- Header END -->

<!-- Content START -->
<div style="width: 100%; border-radius: 10px; border: #ccc solid 1px; background-color: #ffffff; width: auto; padding: 10px;">
{php} readfile ("http://www.simon-peter.com/_CONTENT/ueber_peter.php"); {/php}
</div>

<!-- Content ENDE --><div style="clear: both;"> </div>

Gibt es einen elegantere, einfachere Lösung um ein template zu erstellen,
das den zum Seiteninhalt gehörenden header lädt?

<head>
{header} - ruft header 1, 2, 3, ..... auf
{menu}
</head>
<body>
{content} - ruft Seiteninhalt 1, 2, 3, ... auf
</body>

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 26. Juni 2013 16:45

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

Re: [GELÖST] Header automatisch an Seiteninhalt anpassen

jipp jibbet !


per CSS und {$page_alias}...

http://www.cmsmadesimple.de/forum/viewtopic.php?id=3182

Gruß aus HH


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

Offline

#3 26. Juni 2013 17:25

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

Re: [GELÖST] Header automatisch an Seiteninhalt anpassen

Hallo Otter,
ich stehe auf der Leitung :-(
Ich benutze nur EIN template und keine Seitentemplates und somit keinen seitenspezifischen CSS.

Im Seitencode greife ich ohnedies auf den spezifischen globalen Inhaltsblock zu.
Das funktioniert ja auch zufriedenstellend.

Allerdings möchte ich das übers template lösen.

Wo genau soll {page_alias} hin und wo/wie wird's definiert?

Tut leid, aber stecke immer noch in Kinderschuhen!
Gruß aus Wien

Beitrag geändert von simonson (26. Juni 2013 17:31)


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

#4 26. Juni 2013 20:51

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

Re: [GELÖST] Header automatisch an Seiteninhalt anpassen

Also ...

da wo dein Header erscheinen soll und jetzt wohl das steht.

<div id="header">{global_content name='JPS_header_peter'}</div>

kommt folgendes rein: 

<div class="defaultheader {$page_alias}"> </div>

der Rest kommt ins CSS rein .... und zwar wie folgt.

[== CSS ==]
.defaultheader {background:  url(../path/zudeinem/Bild/defaultheader.gif);}
<< Damit hast Du den Standardheader definiert. Der erscheint immer, wenn er nicht von der nächsten Anweisung ünerschrieben wird ( Kaskade beim CSS) 

.startseite {background:  url(path/zu/deinem/Bild/startseite.gif);}

"startseite" steht im diesem Falle für ein {$page_alias} wenn deine Startseite anders heißt, dann musst Du das anpassen. 
Wenn mehrere Seiten den selben Header haben sollen, dann kannst Du die einzelnen CSS-Klassen, durch ein Komma trennen. Hinter die letzte Klasse kein Komma! 

.kontakt, .profil, .leistungen etc etc etc {background:  url(pfad/zu/deinem/Bild/kontakt.gif);}

ggf musst Du noch höhe und Breite angeben, ich weiß nicht wie den Template auf gebaut ist. 

Gruß aus HH


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

Offline

#5 27. Juni 2013 01:30

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

Re: [GELÖST] Header automatisch an Seiteninhalt anpassen

Danke für deine Mühe Otter,
aber es geht nicht um Bilder, sondern globale Inhaltsblöcke.

z.Zt. sieht das template so aus:

{process_pagedata}<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >

<head>
<title>{sitename} - {title}</title>
{metadata}
{cms_stylesheet}
</head>

<body>
<div id="start"> </div>
  {content}
</body>
</html>

In der Seite wird der entsprechende header als globaler Inhaltsblock aufgerufen:

<!-- Header START -->
<div id="header">{global_content name='JPS_header_renate'}</div>
<!-- Header END -->

<!-- Content START -->
<div id="mainbox">
{global_content name='JPS_re-links_TOP'}
{php} readfile ('http://www.simon-peter.com/_CONTENT/ueber_renate.php');{/php}
{global_content name='JPS_re-links_BOT'}
</div>
<!-- Content ENDE -->
<div style="clear: both;"> </div>

Nun möcht ich, dass bereits im template der zur jeweiligen Seite gehörende header definiert/geladen wird:

<head>
{header} - ruft header 1, 2, 3, ..... auf
{menu}
</head>
<body>
{content} - ruft Seiteninhalt 1, 2, 3, ... auf
</body>

also für seite 1 im <head> der globale Inhaltsblock 1 aufgerufen wird.

Ich hoffe, dass die Geschichte ein wenig klarer dargestellt ist.


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

#6 27. Juni 2013 07:55

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

Re: [GELÖST] Header automatisch an Seiteninhalt anpassen

Benenne Deine Globalen Inhaltsblöcke einfach nach den Seiten auf denen sie angezeigt werden sollen (Seiten-Alias). Im Template rufst Du dann den Globalen Inhaltsblock so auf:

{global_content name="$page_alias"}

Vorteil: ein Template für alle Seiten. Alles läuft automatisch.
Nachteil: Ein Globaler Inhaltsblock kann immer nur für exakt eine Seite gelten.

Eine andere Möglichkeit wäre das Modul AdvancedContent.
Da kannst Du Dir im Backend beim Bearbeiten einer Seite eine Liste mit allen verfügbaren Inhaltsblöcken anzeigen lassen und davon dann immer den Auswählen, der auf der Seite angezeigt werden soll. Ein Beispiel dazu gibts hier: http://www.cmsmadesimple.de/forum/viewtopic.php?id=304
(Kann man auch als Dropdown realisieren, damit nur eine einzige Auswahl pro Seite möglich ist)


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

#7 27. Juni 2013 08:00

antibart
Server-Pate
Registriert: 14. Dezember 2010
Beiträge: 880

Re: [GELÖST] Header automatisch an Seiteninhalt anpassen

zb

{if $page_alias == 'index'}

<div id="header">{global_content name='JPS_header_renate'}</div>

<else>

<div id="header">Irgendwas anderes</div>
{/if}

Mit der Toolbox oder CGSimplesmarty könntest du auch noch schniittigere Abfragen realisieren.

EDIT: ZU spät. NaN Lösung trifft es besser, wenn jede Seite einen anderen Contentblock haben soll.

Beitrag geändert von antibart (27. Juni 2013 08:02)

Offline

#8 01. Juli 2013 00:32

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

Re: [GELÖST] Header automatisch an Seiteninhalt anpassen

Danke für Eure Mühen!
Die Lösungen sind ähnlich kompliziert wie die, die jetzt ohnedies einsetze.
Dachte esgibt da etwas Simpleres.
Nochmals Dank an Alle!


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