Zum Inhalt springen

tt_products 2.3.X und d. MEMO Liste

Erstellt am 28. Oktober 2005 · 8 Antworten · letzte Antwort am 17. Juli 2006

Tags: Frage

RChristian ·

morgen,

hat jemand ne ahnehng wie die d. link im template heißen mußt, damit unter tt_products 2.3.X als angemeldeter benutzer seine lieblingsprodukte auf die wunschliste (memo liste) eintragen kann und diese später auch anzeigen lassen.
mit folgende einstellung in listtemplate

<input type="image" name="addtomemo" src="typo3/ext/tt_products/pi/addmemo.png" value="auf die Merkliste" onclick="document.forms['###FORM_NAME###']['###FIELD_NAME###'].value; document.getElementsByName('###FORM_NAME###')[0].action='###FORM_MEMO###&addmemo=###PRODUCT_ID###';" />

klappt es leider nicht.

jemand ne idee?

mfg,
RChristian

schittl ·

Hallo,

hast du schon was herausgefunden, wie es geht? ich tüftle auch schon ne ganze Weile daran, aber es will nicht funktionieren.

PIDstoreRoot = 3
PIDsearch = 5
PIDthanks = 12
currencySymbol = EUR
PIDmemo = 3

Im Template versuche ich es mit:

<input type="image" name="addtomemo" src="fileadmin/template/images/addmemo.png" value="auf den Merkzettel" onclick="if (!document.forms['###FORM_NAME###']['###FIELD_NAME###'].value!=''){document.forms['###FORM_NAME###']['###FIELD_NAME###'].value=1;};" />

Kann mir jemand verraten wie man es einrichten muss?

Gsicht ·
Flink schrieb

Das läuft über die Link-Parameter

addmemo

und

delmemo

Siehe Template von zk_products.

Ich habe das mal probiert, aber es funktioniert leider nicht...

Zum Hinzufügen:

<form method="post" action="###FORM_MEMO###&addmemo=###PRODUCT_ID###">
    <input type="submit" name="addtomemo" class="submit" value="auf die Merkliste" />
</form>

Zum entfernen:

<form method='post' action='###FORM_MEMO###&delmemo=###PRODUCT_ID###'
    <input type="submit" class="submit" name="remove" value="von Merkliste entfernen" />
</form>

Er springt zwar jeweils auf die richtige Seite (36.0.html?&tx_ttproducts_pi1[backPID]=10&addmemo=1, bzw. 36.0.html?&tx_ttproducts_pi1[backPID]=36&delmemo=1, wobei 36 die Seite ist, auf der die Merkliste eingefügt wurde), aber die Produkte werden nicht auf die Merkliste hinzugefügt/entfernt.

Ein weiteres Problem: Wenn ein User keine Produkte auf seiner Merkliste hat, dann werden auf dieser Seite einfach alle Produkte angezeigt. Sobald er mindestens eines hat (habe ich manuell im Backend eingegeben), dann wird (korrekterweise)nur das angezeigt.

Sieht jemand einen Fehler?

-Gsicht

batomo ·

Statt addmemo=###PRODUCT_ID### muss

&tx_ttproducts_pi1[addmemo]=###PRODUCT_ID###

geschrieben werden.

Gruss batomo

Flink ·
Gsicht schrieb

Er springt zwar jeweils auf die richtige Seite (36.0.html?&tx_ttproducts_pi1[backPID]=10&addmemo=1, bzw. 36.0.html?&tx_ttproducts_pi1[backPID]=36&delmemo=1, wobei 36 die Seite ist, auf der die Merkliste eingefügt wurde), aber die Produkte werden nicht auf die Merkliste hinzugefügt/entfernt.

Du hast wohl vergessen, die Memo-Seite zu setzen:

plugin.tt_products.PIDmemo = 188

Nur über die MEMO-Seite werden die MEMO-Parameter ausgewertet.

Gsicht ·
Flink schrieb

Du hast wohl vergessen, die Memo-Seite zu setzen:

plugin.tt_products.PIDmemo = 188

Nur über die MEMO-Seite werden die MEMO-Parameter ausgewertet.

PIDmemo ist gesetzt. Die Lösung von batomo hat funktioniert. Nun besteht nur noch das Problem, dass alle Produkte angezeigt werden, wenn der User noch nichts auf seiner Memopage hat.

-Gsicht

batomo ·

lib/class.tx_ttproducts_memo_view.php muss folgendermassen angepasst werden

                if ($fe_user_uid)       { //bestehende Zeile ca. 156

// --------------- BEGIN neuer Code
// --------------------------------

                        // if no products in memo page
                        if(count($this->memoItems) == 0)        {

                                include_once (PATH_BE_ttproducts.'lib/class.tx_ttproducts_marker.php');

                                $marker = t3lib_div::makeInstance('tx_ttproducts_marker');
                                $marker->init(
                                        $this->pibase,
                                        $this->cnf,
                                        $this->basket
                                );

                                $content = $this->pibase->cObj->getSubpart($templateCode,$marker->spMarker('###MEMO_NO_PRODUCTS###'));

                        } else {

// --------------- END neuer Code
// ------------------------------

anschliessend kann der Marker ###MEMO_NO_PRODUCTS### analog ###MEMO_NOT_LOGGED_IN### benutzt werden.

Das ganze ist natürlich ohne Gewähr, dafür dass dieser Code überhaupt zukünftig so aufgenommen wird, und der Marker dann so heissen wird.

Gruss batomo

P.S. bug report wird ausgefüllt