Page 1 of 1
[GELÖST] page_image
Posted: Thu Oct 15, 2009 7:46 pm
by Franatic
Warum klappt das nicht:
Code: Select all
{if $page_image != ''}
<img src="./uploads/images/{page_image}" alt="{title}" />
{/if}
Ich will das image-Tag nur ausgeben, wenn einer Seite ein Bild zugewiesen wurde. Habe das auch schon mit Capture versucht, wie es in diesem Thread
http://forum.cmsmadesimple.org/index.php/topic,34625.0.html beschrieben wird. Also
Code: Select all
{capture assign=pic}
{page_image}
{/capture}
{if $pic != ''}
<img src="./uploads/images/{pic}" alt="{title}" />
{/if}
in's Template geschrieben. Ich glaube, ich verstehe grundsätzlich etwas nicht. Kann mir jemand weiterhelfen?
Dank & Gruß
Franatic
Re: page_image
Posted: Thu Oct 15, 2009 9:40 pm
by Peciura
{page_image} (without "
$") is similar to function, and {
$page_image} would be variable.
Lets say you have image "test.jpg" in "/uploads/images/"
Your last example i would rewrite to
Code: Select all
{capture assign="pic"}test.jpg{/capture}
pic = {$pic}<br/>
{if $pic != ''}
<img src="/uploads/images/{pic}" />
{/if}
Re: page_image
Posted: Fri Oct 16, 2009 8:59 am
by Franatic
Danke für die Antwort, Peciura.
Leider ist Dein Vorschlag sehr unflexibel, denn so müsste ich jedes einzelne Artikel-Image im Template definieren. Gibt es keinen Weg, auf dem ich grundsätzlich abfragen kann, ob einem Artikel irgend ein Bild zugewiesen wurde oder nicht?!
Dank & Gruß
Franatic
Re: page_image
Posted: Fri Oct 16, 2009 9:44 am
by nicmare
vielleicht hilft dir
das weiter?
Re: page_image
Posted: Fri Oct 16, 2009 9:47 am
by Peciura
This will check if path to file is associated to variable {$page_image}, but it will not check if file is accessible.
Code: Select all
{if !empty($page_image)}
<img src="./uploads/images/{$page_image}" />
{/if}
or
Code: Select all
{if isset($page_image) && $page_image!=''}
<img src="./uploads/images/{$page_image}" />
{/if}
It might be just what you are looking for
http://www.smarty.net/manual/de/ . You could start with "Grundlegende Syntax", "{if},{elseif},{else}", "Variablen-Modifikatoren"
And this is JeremyBASS's tip
http://forum.cmsmadesimple.org/index.ph ... #msg180333
I hope you will find it useful.
Re: page_image
Posted: Sat Oct 17, 2009 3:26 pm
by Franatic
@nicmare: Hilft mir leider nicht weiter.
@Peciura: Funktioniert beides nicht. Und ja - im Smarty Manual habe ich "Grundlegende Syntax" und "Variablen-Modifikatoren" gelesen, weiß aber trotzdem nicht, wie man das anwendet.
Also noch mal ganz von vorne. In der Admin gehe ich auf "Inhalte" / "Seiten" / "SeiteXY" - dort auf den Tab "Optionen". Hier wähle ich unter "Bild" irgend ein Bild aus und dieses soll via Template auf SeiteXY im Frontend erscheinen. Da das Tag {page_image} nur den Bild-Namen ausgibt, muss ich im Template noch das Image-Tag herumwickeln - also
. Somit erhalte ich im Frontend aber ein Broken Image auf jeder Seite, der
kein Bild zugewiesen wurde. Darum die Abfrage...
Wie weise ich denn einer Variablen den Ausgabewert vom Tag {page_image} zu?! So geht's nicht:
Code: Select all
{assign var=pic value={page_image}}
{if ($pic !='')}
<img src="./uploads/images/{page_image}" />
{/if}
Dank & Gruß
Franatic
Re: page_image
Posted: Sat Oct 17, 2009 3:29 pm
by cyberman
Re: page_image
Posted: Sat Oct 17, 2009 3:32 pm
by cyberman
Franatic wrote:
So geht's nicht:
Code: Select all
{assign var=pic value={page_image}}
{if ($pic !='')}
<img src="./uploads/images/{page_image}" />
{/if}
Das assign kann nix werden - bei Smarty 2 kannst du keine Funktion in einer Funktion aufrufen. Wenn ich mich recht entsinne wird das erst etwas unter der kommenden Smarty 3 Version.
Re: page_image
Posted: Sat Oct 17, 2009 3:57 pm
by Franatic
Auf den Thread hatte mich schon nicmare aufmerksam gemacht. Dort steht geschrieben
... Ich kann im Backend eine Datei aus dem Verzeichnis auswählen...
und ich frage mich nun - wo im Backend hat nicmare die Auswahl getroffen? Muss ich da noch ein Plugin installieren?
cyberman wrote:
Das assign kann nix werden - bei Smarty 2 kannst du keine Funktion in einer Funktion aufrufen. Wenn ich mich recht entsinne wird das erst etwas unter der kommenden Smarty 3 Version.
Dass das assign so wie ich es schrieb nicht klappt ist mir schon klar. Gibt es denn einen Weg, mit dem das machbar ist?!
Dank & Gruß
Franatic
Re: page_image
Posted: Sat Oct 17, 2009 4:29 pm
by cyberman
Franatic wrote:
und ich frage mich nun - wo im Backend hat nicmare die Auswahl getroffen?
Schau mal in der Seitenbearbeitung in der Registerkarte "Optionen" nach, etwas weiter unten findest du "Vorschaubild" und "Bild"

.
Re: page_image
Posted: Sat Oct 17, 2009 5:23 pm
by Franatic
cyberman wrote:
Schau mal in der Seitenbearbeitung in der Registerkarte "Optionen" nach, etwas weiter unten findest du "Vorschaubild" und "Bild"

.
Funzt! Mir war nicht klar, dass durch das Script im Frontend-Template ein neues Select im Backend erzeugt wird.
Super - 1.000 Dank an alle!
Dank & Gruß
Franatic
Re: [GELÖST] page_image
Posted: Thu Dec 02, 2010 11:52 pm
by nidus
Here is the solution:
{capture name="picture" assign="pic"}{page_image}{/capture}
{if !empty($pic)}style="background-image: url(uploads/images/header/{$pic})"{/if}>