Franz Holzinger

Verse of the day

Bei Gott ist mein Heil, meine Ehre, der Fels meiner Stärke; meine Zuversicht ist auf Gott.
Psalm 62:7

© Bible Gateway's Verse of the Day


autor  
31-12-07 19:18:34 click into basket und item_single_view
florian klug
Hallo,

ich habe auf https://www.sulmtaler.at/cms/shop/ einen tt_products shop (2.5.3) eingerichtet.
Der kunde soll bei einem klick auf "In warenkorb einfügen" direkt zum warenkorb kommen. Das funktionierte in der listenansicht auch prima, allerdings nicht in der item_single_display ansicht.
Ich habe daraufhin in der datei class.tx_ttproducts_single_view.php folgende änderungen vorgenommen:

--- class.tx_ttproducts_single_view.php 2007-12-05 14:42:17.000000000 +0100
+++ class.tx_ttproducts_single_view.php.mod 2007-12-31 18:40:47.000000000 +0100
@@ -220,12 +220,12 @@
$backPID = $this->pibase->piVars['backPID'];
$backPID = ($backPID ? $backPID : t3lib_div::_GP('backPID'));
if ($this->conf['clickIntoBasket'] && $backPID) {
- $pid = $backPID;
+ $linkPid = $backPID; //$pid = $backPID;
} else {
- $pid = $TSFE->id;
+ $linkPid = $TSFE->id;
}

- $wrappedSubpartArray['###LINK_ITEM###'] = array('<a href="'. $this->pibase->pi_getPageLink($pid,'',$this->marker->getLinkParams('',array(),true), array('useCacheHash' => true)) .'">','</a>');
+ $wrappedSubpartArray['###LINK_ITEM###'] = array('<a href="'. $this->pibase->pi_getPageLink($linkPid,'',$this->marker->getLinkParams('',array(),true), array('useCacheHash' => true)) .'">','</a>');

if( $datasheetFile == '' ) {
$wrappedSubpartArray['###LINK_DATASHEET###']= array('<!--','-->');



Jetzt funktioniert's einwandfrei. Ich glaube, dass das problem darin bestand, dass die variable $pid zum setzen des zurück links (LINK_ITEM) benutzt und ihr dabei ein neuer wert zugewiesen wird, $pid allerdings dann in der zeile
$markerArray = $this->marker->addURLMarkers($pid, $markerArray, $addQueryString); // Applied it here also...
nochmals benötigt wird.

Wäre um feedback dankbar, vielleicht hab ich da ja was übersehen, ist meine erste typo3 seite überhaupt.
31-12-07 19:23:48 pastebin link
florian klug
ok, der patch kommt im forum nicht gut rüber, deshalb
http://pastebin.com/f52b6ccfc
11-01-08 20:45:13 $pid wird benötigt
Franz Holzinger
Die Variable $pid wird weiter unten noch benötigt. Es macht wenig Sinn, diese in $linkPid umzubenennen. Man könnte ev. eine Kopie als $linkPid anlegen.

$addQueryString = array();
if ($pid == $TSFE->id) {
$addQueryString[$this->pibase->prefixId.'['.$this->type.']'] = $this->uid;
}

$markerArray = $this->marker->addURLMarkers($pid, $markerArray, $addQueryString); // Applied

Alle Code-Differenzen, die ich erkennen kann, sind nur Umbenennungen dieser Variable.
Ich habe keine Erklärung dafür, welchen Fehler dieser Patch behoben hätte. In Version 2.5.4 gibt es bereits eine Verbesserung.
< Zurück zum Forum