Hallo,
habe eine Frage, wie man einen Button in details.tpl einfügt, der aber nur bei bestimmten Produkten angezeigt wird. Man müsste also abfragen, ob es das Produkt ist und nur dann den Button anzeigen…?
Danke für Hilfe
beschreib doch mal ein wenig ausführlicher, was Du genau vorhast - Sonderangebote kennzeichnen? Zusatzinformationen downloaden lassen?
Geht um Affilate Link zu Amazon, soll halt nur bei Büchern angezeigt werden und dann eben je nach Buch ein anderer Link.
Hi Elia,
hier gibts meiner Meinung nach gleich mehrere Möglichkeiten:
-
Du bringst in der Artikelnummer des jeweiligen Buches bestimmte Zeichen unter, nach denen man im Template abfragen kann. Trifft diese bestimmte Kombination zu, dann gibst Du den Button inklusive Affiliate Link im Template aus.
-
Du baust das Backend so um und erweiterst die oxarticle Tabelle um eine Spalte “affiliate”, die Du dann wiederum im Frontend abfragen kannst und im Backend die entsprechenden Produkte natürlich komfortabel kennzeichnen kannst.
-
Hier gibts auch schon ein Modul, mit dem man Artikel kennzeichen kann, dieses könnte man natürlich auch für so eine Affiliate Geschichte missbrauchen, da man im Frontend wieder quasi sagen kann: trifft diese Kennzeichnung zu, dann gib den Affiliate Link aus.
-
Du könntest die betreffenden Artikel zusätzlich einer versteckten Affiliate Kategorie zuweisen und eine Abfrage basteln, ob der betreffende Artikel in dieser Kategorie vorhanden ist und dann den Link ausgeben, wenn das zutreffend ist.
Ok Danke. Kannst du evtl mal ein Beispiel für die 1. Variante machen. Wie fragt man die Artikelnummer ab?
Du hängst Deiner gewünschten Artikelnummer einen bestimmten String an,
also zum Beispiel -afi.
Deine Artikelnummer lautet dann z.B. 1234567-afi
Im Detailtemplate baust Du dann an Deiner gewünschten
Stelle sowas in der Art ein (ungetestet):
[{if $product->oxarticles__oxartnum->value|@strstr:"-afi"}]
Linkausgabe
[{/if}]
Ok super, habs hinbekommen mit der 1. Variante, vielen Dank
Jetzt hätte ich noch ne Frage, wie man den Button je nach Sprache anders anzeigen kann. Wie checkt man ob man auf der deutschen oder englischen Seite ist?
Servus der Herr, Du legst einfach eine Sprachvariable in cust_lang.php an. Und zwar in der Englischen und Deutschen. Im Template machst Du das dann so:
[{ oxmultilang ident="DEIN_BUTTON_TEXT" }]
Den Switch an sich macht dann der Shop automatisch.
Btw. hat mein Beispiel eigentlich genau so funktioniert?
[QUOTE=coarsy;106342]Servus der Herr, Du legst einfach eine Sprachvariable in cust_lang.php an. [/QUOTE]
Ok, dann weiß ich das für was anderes. Hier hab ich nen button als jpg, es soll also unterschiedliche Bilder laden, geht das?
[QUOTE=coarsy;106342]Btw. hat mein Beispiel eigentlich genau so funktioniert?[/QUOTE]
Ja, hab zwar nen anderen Substring verwendet, aber sonst top. Danke nochmal
Du meinst, je nach Sprache unterschiedliche Bilder? Wenns denn unbedingt ne Grafik sein soll, dann als Sprite anlegen und sämtliche Sprachen dann dort in einer Grafik hinterlegen.
In dem Div oder was auch immer, dann die Sprache entsprechenden als Klasse mit einbauen, zum Beispiel so: <div class=“button english”> und die background-position dann für den englischen Button entsprechend “korrigieren”.
Oder Du legst in den verschiedenen Sprachdateien gleich Deine Bilder mit <img src=""> usw. an… Alles in allem ist die sauberste und schönste Variante immer noch mit den normalen Sprachvariablen. Mit CSS 3 kommt man ganz ohne Grafiken aus und die älteren Browser zeigen dann halt keinen Verlauf an. Nennt sich dann progressive Webdesign bzw. Programmierung.
[QUOTE=coarsy;108302]
Oder Du legst in den verschiedenen Sprachdateien gleich Deine Bilder mit <img src=""> usw. an… Alles in allem ist die sauberste und schönste Variante immer noch mit den normalen Sprachvariablen. Mit CSS 3 kommt man ganz ohne Grafiken aus und die älteren Browser zeigen dann halt keinen Verlauf an. Nennt sich dann progressive Webdesign bzw. Programmierung.[/QUOTE]
Ja das ist ne gute Idee, aber was ist, wenn man ein Logo auf dem Button hat. Egal, nur so, ich würd es lieber mit der cust lang machen. Hab probiert es in der Sprachdatei umzusetzen, aber ich schaff es nicht auf das Bild zuzugreifen. Hier was ich in der custlang versucht habe
'AFFILIATE_BUTTON' => "<img src="[{$oViewConf->getImageUrl()}]btn_afi_en.png">",
und
'AFFILIATE_BUTTON' => "<img scr="url(../img/btn_afi_en.png)">",
Geht beides leider nicht…?
Mach das anders:
Das ins Template:
<img src="[{$oViewConf->getImageUrl()}][{oxmultilang ident="AFFILIATE_BUTTON"}]" alt="">
und das in die Sprachdatei:
'AFFILIATE_BUTTON' =>"meinBild.jpg",
Und die Bilder legst du in den image Ordner, also dort, wo auch dein Logo liegt.
Jawohl so hauts hin, vielen Dank an alle