Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.
Seiten: 1
#1 06. April 2011 21:06
- Steffen
- Gast
[GELÖST] Assign in Seitentemplate - Geltungsbereich der Variablen
Hallo zusammen.
Ich arbeite noch nicht sehr lang mit CMSMS und habe schon eine Frage.
Ich habe folgendes Template (Auszug) in dem ich eine Variable parent_page mit einem bestimmten Seitenalias füllen möchte, was an sich auch funktioniert. Ich lasse mir den Wert mit {$parent_page} an 2 verschiedenen Stellen anzeigen - einmal funktioniert es - beim 2ten Aufruf nicht. Hat jemand eine Idee woran das liegen könnte bzw. was ich falsch mache?
<!-- {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="de" lang="de" >
<head>
{foreach from=$nodelist item=node}
{if $node->depth == 2 and ($node->parent == true or $node->current == true)}
{assign var="parent_page" value=$node->alias}
{/if}
{/foreach}
{$parent_page} <!-- Wert wird angezeigt -->
<title>{sitename} - {title}</title>
{metadata}
{cms_stylesheet}
{literal}
<script type='text/javascript' src='uploads/js/jquery.js' ></script>
{/literal}
</head>
<body>
{$parent_page} <!-- Wert wird NICHT angezeigt, bei {debug} ist die Variable gar nicht mehr aufgeführt -->
<!-- hier kommt natürlich noch was - ist aber nicht von Bedeutung denke ich -->
<body>
Danke schon einmal für Eure Mühe
Steffen
Beitrag geändert von Steffen (07. April 2011 22:56)
#2 06. April 2011 21:21
- nicmare
- Server-Pate
- Registriert: 15. Dezember 2010
- Beiträge: 1.314
- Webseite
Re: [GELÖST] Assign in Seitentemplate - Geltungsbereich der Variablen
schreib mal das assign in die erste zeile
Meine Projekte:
Dashcam-Test | Babyphone-Testberichte | Türspionkameras
Offline
#3 06. April 2011 21:22
- Klenkes
- Server-Pate
- Ort: 89428 Syrgenstein
- Registriert: 17. Dezember 2010
- Beiträge: 1.437
Re: [GELÖST] Assign in Seitentemplate - Geltungsbereich der Variablen
Ich bin mir nicht ganz sicher, aber ich glaube, dass BODY und HEAD getrennt verarbeitet werden und der BODY zuerst kommt. Daher ist deine Variable im BODY auch nocht nicht bekannt.
Offline
#4 06. April 2011 21:32
- Steffen
- Gast
Re: [GELÖST] Assign in Seitentemplate - Geltungsbereich der Variablen
schreib mal das assign in die erste zeile
Das scheint auf jeden Fall die Variable im ganzen Template bekannt zu machen. Nächstes Problem: Die $nodelist scheint an dieser Stelle noch nicht verfügbar zu sein. Muss dafür vorher {menu} aufgerufen werden?
#5 06. April 2011 21:40
- uniqu3
- Server-Pate
- Ort: Feldkirchen in Kärnten
- Registriert: 20. November 2010
- Beiträge: 305
- Webseite
Re: [GELÖST] Assign in Seitentemplate - Geltungsbereich der Variablen
Genau die variablen aus MenuManager sind so nicht verfügbar.
Mit CGSimpleSmarty Modul geht aber dein vorhaben ziemlich einfach.
[== smarty ==]
{$cgsimple->get_page_title($cgsimple->get_parent_alias(), 'parent_page')}
Und so hättest Du {$parent_page} verfügbar.
Offline
#6 06. April 2011 21:46
- Steffen
- Gast
Re: [GELÖST] Assign in Seitentemplate - Geltungsbereich der Variablen
Genau die variablen aus MenuManager sind so nicht verfügbar.
Mit CGSimpleSmarty Modul geht aber dein vorhaben ziemlich einfach.[== smarty ==] {$cgsimple->get_page_title($cgsimple->get_parent_alias(), 'parent_page')}
Und so hättest Du {$parent_page} verfügbar.
Danke, aber mit CGSimpleSmarty habe ich es auch schon versucht, es ist leider etwas komplizierter. Der Titel $parent_page ist etwas verwirrend: ich benötige den Seitenalias der Seite auf Level 2 wenn ich entweder auf genau dieser seite oder einer ihrer unterseiten bin.
Home
-->ebene1
---->ebene2 seite1
---->ebene2 seite2 ($parent_page = ebene2 seite2) |
------>ebene3 seite1 ($parent_page = ebene2 seite2) > Diese Seiten verwenden alle das gleiche Seitentemplate
------>ebene3 seite1 ($parent_page = ebene2 seite2) |
-->Punkt2
#7 07. April 2011 22:17
- uniqu3
- Server-Pate
- Ort: Feldkirchen in Kärnten
- Registriert: 20. November 2010
- Beiträge: 305
- Webseite
Re: [GELÖST] Assign in Seitentemplate - Geltungsbereich der Variablen
Hoffentlich habe ich es jetzt verstanden.
[== smarty ==]
{if ($position|substr_count:'.' eq '0') or ($position|substr_count:'.' eq '1')}
{title}
{else}
{$cgsimple->get_page_title($cgsimple->get_parent_alias(), 'parent_page')}
{$parent_page}
{/if}
Im Fall Seite ebene 1 oder 2 wird titel normal ausgegeben ist Seite in ebene 3 wird titel der ebene 2 ausgegeben?
Offline
#8 07. April 2011 22:54
- Steffen
- Gast
Re: [GELÖST] Assign in Seitentemplate - Geltungsbereich der Variablen
Hoffentlich habe ich es jetzt verstanden.
[== smarty ==] {if ($position|substr_count:'.' eq '0') or ($position|substr_count:'.' eq '1')} {title} {else} {$cgsimple->get_page_title($cgsimple->get_parent_alias(), 'parent_page')} {$parent_page} {/if}
Im Fall Seite ebene 1 oder 2 wird titel normal ausgegeben ist Seite in ebene 3 wird titel der ebene 2 ausgegeben?
Hallo uniqu3,
So würde es sicher funktionieren, allerdings habe ich dann immer noch das Problem, dass es ab der 4ten Ebene nicht funktioniert, da auch diese den Alias aus Ebene 2 anzeigen müsste. (vielleicht stimmt auch etwas mit meiner Struktur nicht, aber ich weiß ja nicht wieviele Unterseiten derjenige anlegt, der die Seite nachher verwalten muss)
Ich habe es jetzt gelöst indem ich die UDT eines anderen abgewandelt habe. (wiki.cmsmadesimple.org)
Sobald ich das Tag soweit habe, dass es ohne fehler funktioniert werde ich es auch "sharen".
Danke dennoch an alle für eure Hilfe
Steffen
Edit:
Wieso ist da ein Bogenschütze neben dem Link und kein Spiegel?
Beitrag geändert von Steffen (07. April 2011 22:58)
#9 07. April 2011 23:08
- mörml
- Server-Pate
- Registriert: 23. Januar 2011
- Beiträge: 443
Re: [GELÖST] Assign in Seitentemplate - Geltungsbereich der Variablen
Wieso ist da ein Bogenschütze neben dem Link und kein Spiegel?
... weil es "der Link" heißt
kann CMSms buchstabieren...
CMSms 1.11.12
PHP 5.5.14
Offline
#10 07. April 2011 06:59
- Andynium
- Moderator
- Ort: Dohna / SN / Deutschland
- Registriert: 13. September 2010
- Beiträge: 7.018
- Webseite
Re: [GELÖST] Assign in Seitentemplate - Geltungsbereich der Variablen
Ich bin mir nicht ganz sicher, aber ich glaube, dass BODY und HEAD getrennt verarbeitet werden und der BODY zuerst kommt. Daher ist deine Variable im BODY auch nocht nicht bekannt.
Das lässt sich in der config.php einstellen
$config['process_whole_template'] = false;
Offline
#11 07. April 2011 07:36
- uniqu3
- Server-Pate
- Ort: Feldkirchen in Kärnten
- Registriert: 20. November 2010
- Beiträge: 305
- Webseite
Re: [GELÖST] Assign in Seitentemplate - Geltungsbereich der Variablen
uniqu3 schrieb:Hoffentlich habe ich es jetzt verstanden.
[== smarty ==] {if ($position|substr_count:'.' eq '0') or ($position|substr_count:'.' eq '1')} {title} {else} {$cgsimple->get_page_title($cgsimple->get_parent_alias(), 'parent_page')} {$parent_page} {/if}
Im Fall Seite ebene 1 oder 2 wird titel normal ausgegeben ist Seite in ebene 3 wird titel der ebene 2 ausgegeben?
Hallo uniqu3,
So würde es sicher funktionieren, allerdings habe ich dann immer noch das Problem, dass es ab der 4ten Ebene nicht funktioniert, da auch diese den Alias aus Ebene 2 anzeigen müsste. (vielleicht stimmt auch etwas mit meiner Struktur nicht, aber ich weiß ja nicht wieviele Unterseiten derjenige anlegt, der die Seite nachher verwalten muss)
Ich habe es jetzt gelöst indem ich die UDT eines anderen abgewandelt habe. (wiki.cmsmadesimple.org)
Sobald ich das Tag soweit habe, dass es ohne fehler funktioniert werde ich es auch "sharen".
Danke dennoch an alle für eure Hilfe
SteffenEdit:
Wieso ist da ein Bogenschütze neben dem Link und kein Spiegel?
Hast Du es auch mit meinem Vorschlag probiert? Es steht ja {else} heißt ist ebene 1 oder 2 zeige titel sonst zeige parent titel.
Und dein UDT fund zeigt ja immer root page titel, sprich ebene 1 wo wir wieder beim CGSimpleSmarty wäre mit {$cgsimple->get_root_alias()}
Offline
Seiten: 1