|
|||
|
Hallo,
ich möchte mit Smarty feststellen ob eine Datei existiert. Wenn Ja, soll er sie via "include" importieren Wenn Nein, soll eine Defaultausgabe ausgegeben werden. Als erstes setze ich eine Variable. Code:
{assign var="specialmsg" value="/plugins/auto_cross_sell/auto_cross_sell.html"}
Code:
{if file_exists($specialmsg)}
Code:
{if $specialmsg|file_exists}
--> Es wird immer der else-Zweig ausgegeben Die Datei sollte hier inkludiert werden. Wenn ich diese Zeile ohne if-Abfrage ausführe wird die Datei problemlos inkludiert. Code:
{include file=$specialmsg type="tpl_include"}
Code:
{else}
<hier der else-Zweig>
{/if}
Der Zweck: ich habe ein eigenes Template erstellt in dem ich völlig andere Bildgrößen verwende. Klarerweise habe auch eigene Templates wo die Bilder hineinpassen. Allerdings hat jedes Plugin nur 1 HTML-Template das für alle Shop-Templates gilt. Nun habe ich eine Spezielles Plugin-Template geschrieben das ich in plugin-Ordner meines Templates gespichert habe. Dieses möchte ich inkludieren wenn es existiert. Wenn nicht soll er die Standardausgabe des Plugins verwenden. Hier nochmal der ganze Code: Code:
{assign var="specialmsg" value="/plugins/auto_cross_sell/auto_cross_sell.html"}
{if file_exists($specialmsg)}
{include file=$specialmsg type="tpl_include"}
{else}
<hier der else-Zweig>
{/if}
|
|
|||
|
Sry fürs pushen des Threads.
Problem ist noch immer nicht gelöst, allerdings hier ein Workaround: Zuweisen der Template-Datei in eine Variable Code:
{assign var="specialmsg" value="../`$selected_template`/plugins/box_bestseller_products/box_bestseller_products.html"}
Code:
{capture name='templateloaded'}
{include file=$specialmsg type="tpl_include"}
{/capture}
Code:
{if $smarty.capture.templateloaded ne ''}
{$smarty.capture.templateloaded}
{else}
<else-Zweig>
{/if}
Hinzufügen von "../`$selected_template`" in die Variable "specialmsg" Geändert von ddgFriend (01.07.2011 um 11:39 Uhr) |
|
|||
|
hi,
was soll das Ganze eigentlich ? Normalerweise wird auto-cross-sell über den Hook "product_info_tpl" ausgegeben -> richtiges Vorgehen wäre, den Hook umzubennenen und an der richtigen Stelle zu plazieren ( siehe auch diverse Threads zum Thema Master/Slave ). Das mit den Templates stimmt so nicht: in den Templates gibt es einen Plugin-Ordner, in den man pro Plugin eigene Templates hinterlegen kann ( mit der gleichen Ordnerstruktur wie im Plugin selber, halt dann ohne classes, pages, installer etc. pp. ) Dann ist Deine mühsame Abfrage hinfällig .... Grüsse |
|
|||
|
Hi
Zitat:
Zitat:
Nun gleich eine Frage: Code:
/shop/plugins/xt_bestseller_products/templates/boxes/box_xt_bestseller_products.html /shop/templates/nf_v1/plugins/xt_bestseller_products/templates/boxes/box_xt_bestseller_products.html Allerdings wird im FE noch immer das Template vom Plugin geladen und nicht mein Template. Muss ich noch Einstellungen ändern? |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
|
|
Ähnliche Themen
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| CSV Datei umbauen | rici2454 | Fragen zur Software | 0 | 12.06.2010 16:47 |
| XML Datei kann nicht gelesen werden | xenon777 | Fragen zur Software | 0 | 21.03.2010 15:46 |
| Wo Ist Die Datei "gv_faq.php" Abgeblieben? | p4rad0x | Allgemeine Diskussionen | 7 | 03.08.2004 22:10 |