Hallo,
ich möchte die Ausgabe von PRODUCT_SIZE einmal mit und einmal ohne Select-Boxen realisieren (Listenansicht).
Das funktioniert auch mit der Angabe plugin.tt_products.selectSize = 1 oder 0 ganz gut, nur werden die Varianten ohne Leerzeichen ausgegeben:
S;M;L;XL -> SMLXL sollte aber S M L XL oder besser noch S-M-L-XL werden.
Ich beiß mir da gerade echt die Zähne aus...
Nun habe ich den Ansatz, den Datenbankeintrag selber auszulesen und einen Marker zu setzten. Allerdings bekomme ich keinen Marker in das Template....
Wer kann helfen?
Ansatz:
plugin.tt_products.marks{
Tester = Content
Tester {
table = tt_products
select {
pidInList = {meine_pid}
where = uid = {meine_uid}
}
renderObj = COA
renderObj.10 = TEXT
renderObj.10.field = size
renderObj.10.wrap = |
wrap = |
}
}
Also ich habe das nun direkt gepatcht. (tt_products 2.5.0)
Die Ausgangslage ist ein Shop für Händler und einer zusätzlichen Ansicht für alle Onlinebesucher (ohne Preise, ohne Bestellmöglichkeit und deswegen ohne Selectboxen für die Varianten). Ich wollte auch - wenn möglich - die Shop-Templates weiterbenutzen und nicht nochmal extra die Daten für die Onlinebenutzer auslesen.
In der Datei: class.tx_ttproducts_article_base.php
wird:
if ($variantRow && $variantRec[1]) {
foreach ($prodTmp as $prodVal) {
$text .= '<option value="'.$prodVal.'">'.$prodVal.'</option>';
}
} else {
$text = $prodTmp[0];
}
mit folgendem getauscht:
if ($variantRow) {
if($variantRec[1]){
foreach ($prodTmp as $prodVal) {
$text .= '<option value="'.$prodVal.'">'.$prodVal.'</option>';
}
}
else{
$_t=0;
foreach ($prodTmp as $prodVal) {
$_t++;
$text .= $prodVal;
if(count($prodTmp)!=$_t) $text .= ' xxx ';
}
}
} else {
$text = $prodTmp[0];
}
Das bedeutet bei einer Einstellung von plugin.tt_products.selectSize = 0 wird im Template der Marker ###PRODUCT_SIZE### im Loop mit 'xxx' getrennt.
Die Größenangaben hätten dann das Format: S xxx L xxx XL.
Im Template muß der Marker ###PRODUCT_SIZE### außerhalb des Subparts <!-- ###display_variant2### --> stehen.
Der 'Wrap' Funktioniert mit allen Varianten, allerdings ist es wirklich mit der heißen Nadel gestrickt. Verbesserungen sind willkommen.