Page 1 of 1
[gelöst] {get_template_vars} einzelne Werte ausgeben ?
Posted: Wed Mar 04, 2009 6:22 pm
by amh
Servus,
mit {get_template_vars} kann man ja alle (bekannten) smarty-Variablen Ausgeben. Wie kan ich eine bestimmte ausgeben? Leider geht folgender Text nicht im Template:
Code: Select all
$page_alias = $smarty->get_template_vars('page_alias');
echo "Wert: " .$page_alias;
Vielen Dank für Tipps Andreas
Re: {get_template_vars} einzelne Werte ausgeben ?
Posted: Wed Mar 04, 2009 6:40 pm
by NaN
Dein Code sieht mir nach ganz gewöhnlichem php-Code aus.
Das hat so nix im Template zu suchen.
Für das Alias gibt es bereits eine Templatevariable
Nämlich genau $page_alias.
Oder auch $page_name.
Also wenn Du einfach irgendwo ins Template {$page_alias} schreibst, dann wird Dir an dieser Stelle das Seiten Alias ausgegeben.
Versuch mal zu beschreiben was genau Du vorhast.
Re: {get_template_vars} einzelne Werte ausgeben ?
Posted: Wed Mar 04, 2009 6:57 pm
by amh
Danke für den Hinweis. Also zwei Dinge habe ich im Kopf:
1. Ich würde gern die page-id ausgeben und das z.B. für das Menü benutzen. Gern aber (für später) mal einen anderen Wert.
2. WICHTIGER: Ich versuche im Kalendermodul einen Hinweis einzubauen, wenn keine Events angezeigt werden.
Code: Select all
{if $items == 0} <– geht nicht.
{foreach from=$events key=key item=event}
<div class="calendar-event">
… Kalender-Tamplate-Code
{/foreach}
{else}
<p>Keine Termine eingetragen.</p>
{/if}
Mit get_template_vars wird angezeigt, dass es da eine Array gibt, dass die Anzahlt der Events enthält (Events = Array (3) ). Na ja, und da dachte ich …nen if drum und feddisch.
Viele Grüße Andreas
Re: {get_template_vars} einzelne Werte ausgeben ?
Posted: Wed Mar 04, 2009 7:09 pm
by NaN
Mit
kann man sich den kompletten Inhalt dieses Arrays anzeigen lassen.
Ich bezweifle aber, dass dort die Anzahl der Events drin steht.
Dort werden vielmehr alle Evtens inklusive ihrer Eigenschaften enthalten sein.
Was ist $items für eine Variable?
Um die Anzahl der Elemente in diesem Array zu ermitteln fallen mir zwei Möglichkeiten ein:
oder
Für die page-id müsste es doch auch eine Variable
$content_id geben, oder?
Re: {get_template_vars} einzelne Werte ausgeben ?
Posted: Wed Mar 04, 2009 8:50 pm
by cyberman
Letztens hab ich
Code: Select all
{if $events}
...
{else}
<p>In dieser Kategorie können wir Ihnen gegenwärtig keine Tickets anbieten.</p>
{/if}
verwendet

.
Re: {get_template_vars} einzelne Werte ausgeben ?
Posted: Wed Mar 04, 2009 9:05 pm
by amh
Servus!
2. Deine BEIDEN Code-Beispiel funktionieren PERFEKT! YIPIEEEEEH. Nun kann ich eine Nachricht ausgeben, wenn im list-view keine Termine vorhanden sind. DANKE!
1. Die Tags {$page_alias}, {$content_id} und {$page_name} funktionieren prächtig. Aber – ich möchte natürlich Deine Hilfsbereitschaft nicht überstrapazieren – wie kann ich einen Wert ausgeben, für den es
kein fertiges Tag gibt
Viele Grüße Andreas
@cyberman: Danke

Re: {get_template_vars} einzelne Werte ausgeben ?
Posted: Wed Mar 04, 2009 9:15 pm
by cyberman
Für was brauchst du denn einen Tag?
PS: Alles, was bei dem Tag auf der linken Seite ausgegeben wird, sind die verfügbaren Smarty-Variablen, einfach nur in Dollar-Zeichen davor und in Klammern setzen ... von Arrays kannst du die Werte mit dem Modifikator print_r ausgeben, also z.Bsp.
Re: {get_template_vars} einzelne Werte ausgeben ?
Posted: Wed Mar 04, 2009 9:33 pm
by amh
*verneig*
Für mich und andere nochmals zusammengefasst:
Code: Select all
{$smartyArray|print_r} (z.B. lang = Array (9) )
{$smartyVariable} (z.B. customcontent_monthfulltext = March)
So einfach?

Genial – wenn man es weiß.
Herzlichen Dank Ihr Beiden! Der Arbeitstag ist somit gerettet. Nun gehts nach Hause zu Frau und Kind
Andreas
Re: {get_template_vars} einzelne Werte ausgeben ?
Posted: Wed Mar 04, 2009 9:38 pm
by cyberman
amh wrote:
So einfach?

Genial – wenn man es weiß.
Yep. Ich entdecke fast täglich das Wunder von Smarty neu

.
Und das obige Beispiel beschreibt nur einen Bruchteil der Möglichkeiten ... wenn du wüsstest, was da noch alles möglich ist.