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

#1 13. September 2011 18:25

mike-r
CMSMS-Profi
Registriert: 21. Dezember 2010
Beiträge: 898
Webseite

Re:

ich suche die Möglichkeit dynamisch abzufragen, ob ein Bild existiert oder nicht.
Konkret möchte ich page-alias-abhängig Grafiken einbinden, etwa so:

<img src="/uploads/images/{$page_alias}.jpg" alt="" />

Wenn das Bild bananen.jpg nicht exisitert soll nichts gemacht werden.

Geht sowas? Stelle ich mir etwas schwierig vor, da in der DB bspw. keine Infos über die Grafiken stehen.
Irgendwelche Ideen dazu? (mittels CSS wäre ja einfach, aber das kann ich in dem Falle nicht verwenden)


Unablässige Tools für's Webdevelopement/ Fehlerfindung: CSS Validierungsservice, Bildschirmlineal, Firebug, Tidy, Deutsche CSS-Referenz

Offline

#2 13. September 2011 18:46

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

Re:

Probier mal das:

{capture assign="image"}uploads/images/{$page_alias}.jpg{/capture}
{if $image|file_exists}
    <img src="/{$image}" alt="" />
{/if}

Beitrag geändert von NaN (13. September 2011 21:41)

Offline

#3 13. September 2011 18:59

piratos
CMSMS-Profi
Registriert: 12. August 2011
Beiträge: 545

Re:

[== Smarty ==]
{if is_file("uploads/images/`$page_alias`.jpg")}
halloo
{else}
nix da
{/if}

Offline

#4 13. September 2011 20:34

piratos
CMSMS-Profi
Registriert: 12. August 2011
Beiträge: 545

Re:

Ich warne in dem Zusammenhang unnötige capture zu verwenden, denn jedes capture zieht sich über den Outputbuffer  ein Minimum von 4096 Bytes rein und granuliert die Memory Strecke, macht man das in einer längeren Schleife kann es trotzt ausreichendem memory_limit eng werden.

Offline

#5 13. September 2011 20:59

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

Re:

Finde die capture Methode selber nicht toll. Hab nur nicht daran gedacht, dass man bestimmte PHP-Sprachkonstrukte auch direkt in Smarty einsetzen kann.

Offline

#6 13. September 2011 21:31

mike-r
CMSMS-Profi
Registriert: 21. Dezember 2010
Beiträge: 898
Webseite

Re:

piratos' Schnipsel gefällt mir egtl. besser, er tut nur leider nicht, NaNs Schnipsel tut mit folgender Modifikation:

{capture assign="image"}uploads/images/{$page_alias}.jpg{/capture}
{if $image|file_exists}
    <img src="/{$image}"
{/if}

danke euch beiden!

Beitrag geändert von mike-r (13. September 2011 21:32)


Unablässige Tools für's Webdevelopement/ Fehlerfindung: CSS Validierungsservice, Bildschirmlineal, Firebug, Tidy, Deutsche CSS-Referenz

Offline

#7 13. September 2011 21:50

piratos
CMSMS-Profi
Registriert: 12. August 2011
Beiträge: 545

Re:

Dann hast du möglicherweise die Backticks übersehen ohne die funzt es nicht.

Ausprobiert mit cmsms 1.9 die letzte und 1.10 die letzte.

Offline

#8 14. September 2011 23:14

mike-r
CMSMS-Profi
Registriert: 21. Dezember 2010
Beiträge: 898
Webseite

Re:

Backticks? Du meinst die Anführungszeichen? Das is immer das Erste, wonach ich schaue, wenn ich irgendwo Code herkopiere.

Edit: lol, hätte ich wohl besser nicht schauen dürfen - der Code läuft so, hatte bei meinem Versuch die "Backticks" "korrigiert".

Beitrag geändert von mike-r (14. September 2011 23:16)


Unablässige Tools für's Webdevelopement/ Fehlerfindung: CSS Validierungsservice, Bildschirmlineal, Firebug, Tidy, Deutsche CSS-Referenz

Offline

#9 14. September 2011 23:16

dc2
arbeitet mit CMSMS
Registriert: 26. November 2010
Beiträge: 140
Webseite

Re:

Backticks (das obere Akzentzeichen neben Backspace) sind eigentlich keine richtigen Anführungszeichen aber werden manchmal als spezielle Variante verwendet, z.B. in SQL oder eben auch bei Smarty, um eingebettete Variablen richtig zu maskieren.

Offline

#10 14. September 2011 23:30

mike-r
CMSMS-Profi
Registriert: 21. Dezember 2010
Beiträge: 898
Webseite

Re:

wieder was gelernt smile


Unablässige Tools für's Webdevelopement/ Fehlerfindung: CSS Validierungsservice, Bildschirmlineal, Firebug, Tidy, Deutsche CSS-Referenz

Offline

Fußzeile des Forums

Powered by FluxBB