Affilinator Forum
Partnerprogramm Skript kostenlos testen


Zurück   Affilinator Forum > Kundenforum > HTML, CSS & Smarty

HTML, CSS & Smarty Tipps und Fragen rund um HTML, CSS und den verschiedenen Befehlen der Smarty Template Engine.

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 10.03.2006, 17:17
StefanB StefanB ist offline
Benutzer
 
Registriert seit: 07.02.2006
Beiträge: 98
Standard Smarty mehrfache If-Abfrage

Hallo,

Gibt es eine Möglichkeit in Smarty so eine Abfrage zu verkürzen, oder die betreffenden id´s sogar in einem externen Config-File zu speichern ?

{if $id == "1" || $id == "3" || $id == "7" || $id == "14" || $id == "15" || $id == "26" || $id == "77" || $id == "118"}
tu was
{/if}

Gruß
Stefan
Mit Zitat antworten
  #2  
Alt 15.03.2006, 01:56
Benutzerbild von AxelK
AxelK AxelK ist offline
Administrator-Technik
 
Registriert seit: 07.11.2005
Ort: Niefern
Beiträge: 991
Standard

Hallo Stefan,

ich habe mal in den Weiten der Smartys nach einer komfortableren Lösung gesucht.

Hier meine Lösungsvorschläge:

Code direkt im Template:

Code:
{php}
  $array = array(1,3,7,14,15,26,77,128); 
  $this->assign('vergleich', $array); 
{/php}
{if in_array($id,$vergleich)}
  <b>hier wenn Eintrag im Array</b>
{/if}

Du lagerst das Array in einer externen Datei aus. Diese muss aber unbedingt in den Ordner 'configs' den du unterhalb des Affilinator-Ordners anlegen musst.

'/configs/shops.if'
Code:
vergleich = 1
vergleich = 3
vergleich = 7
vergleich = 14
vergleich = 15
vergleich = 26
vergleich = 77
vergleich = 118


in das Template kommt:
Code:
{php}$this->config_overwrite = false;{/php}
{config_load file='shops.if'} 

{if in_array($id,#vergleich#)}
  <b>hier wenn Eintrag im Array</b>
{/if}
Mit "config_overwrite" wird es in Smarty erst möglich ein Array abzuspeichern. Also ein überladen der Variable 'vergleich'.
Mit 'config_load' wird das Array im Template zur Verfügung gestellt.
'in_array' überprüft, ob die Variable im Array #vergleich# vorhanden ist. #vergleich# ist die Kurzform für $smarty.config.vergleich.

Was ich leider nicht mit dieser Abfrage hinbekommen habe, ist die Nutzung von Section in der Datei. Also das File in Abschnitte aufzuteilen und diese gezielt zu laden. Vielleicht funktioniert das ja mit der aktuellen Smartyversion.

Gruß Axel
Mit Zitat antworten
  #3  
Alt 15.03.2006, 17:36
StefanB StefanB ist offline
Benutzer
 
Registriert seit: 07.02.2006
Beiträge: 98
Standard Danke

Hallo Axel,

funktioniert super, vielen Dank !

Gruß
Stefan
Mit Zitat antworten
  #4  
Alt 04.08.2008, 03:50
HelmutG HelmutG ist offline
Benutzer
 
Registriert seit: 07.11.2007
Ort: Hamburg
Beiträge: 365
Standard

Danke Axel,

Dein (uralter) Tipp hat mir heute sehr geholfen.

Ich hatte hier im Forum nichts zu arrays gefunden und mich daher auf die Suche im www gemacht. Etliche Seiten bei Google durchblättert und dann Deinen Beitrag gefunden.

Wer die Suche nachvollziehen will, muss nur mal hiernach googlen.

Alle anderen Beiträge auf Google waren echt wertlos für meine Anfrage.

PS: PHP-Freaks und Smarty-Jonglierer hätten das natürlich auswendig gewußt.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Smarty Variablen als Bild ausgeben StefanB Affilinator - Wie geht das ? 2 09.03.2006 22:45
Problem Smarty sasa Vorschläge und Feedback 9 02.03.2006 18:57
PHP Code per Smarty einbinden Toddy Affilinator - Wie geht das ? 0 17.12.2005 10:26



Alle Zeitangaben in WEZ +2. Es ist jetzt 11:46 Uhr.


Powered by vBulletin® Version 3.8.0 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
SEO by vBSEO 2.3.2
Affilinator GmbH