Franz Holzinger

Verse of the day

Wie sich ein Vater über Kinder erbarmt, so erbarmt sich der HERR über die, so ihn fürchten.
Psalm 103:13

© Bible Gateway's Verse of the Day


Autor  
7-08-08 17:43:31 verwandte Produkte
Steffi
Hallo Franz!

ich hab ein recht komisches Problem. In der Einzelansicht der Produkte funktioniert die Anzeige der verwandten Produkte immer wieder mal, plötzlich aber wieder nicht. Also ich klicke auf die Einzelansicht eines Produkts, sehe das verwandte Produkt, gehe dann nochmal kurz auf eine andere Seite und dann wieder auf die Einzelansicht des gleichen Produkts, aber plötzlich ist da kein verwandtes Produkt mehr zu sehen. Mit firebug erkennt man dann, dass der eigentlich dafür vorgesehene div-Container einfach leer ist.

Ich versteh das gar nicht. Hab mir auch die Tabelle tt_products_related_products_products_mm angeschaut. Da sind überall ähnliche Produkte so verknüpft, wie es sein soll. Auch in der Tabelle tt_products ist bei related_uid überall eine 1, wo verwandte Produkte eingetragen sind. Woran kann es denn nur liegen, dass es mal funktioniert und im nächsten Moment wieder nicht?
7-08-08 18:06:10 Ergänzung
Steffi
Ich hab dazu noch was beobachtet:

Meine Gesamtprodukte sind nicht allzuviele, aber ich hab 6 als Maximalzahl für Produkte, die in der Listenansicht auf einer Seite angezeigt werden, angegeben. Bei allen Produkten, die auf Seite 1 der Listenansicht sind, funktioniert die Anzeige immer. Die auf Seite 2 oder 3 funktionieren jedes zweite mal.

Es funktioniert ja so:
man klickt von der Einzelansicht auf den Namen und kommt dann zurück auf die Listenansicht. Jedes zweite mal komme ich dann eben auf die Seite, auf der das eigentliche Produkt war (Seite 2 oder 3) und dann aber wieder auf die Seite 1 der Listenansicht.

Sobald ich auf Seite 1 komme, funktioniert im Anschluss die Anzeige der verwandten Produkte von Seite 2 und 3 nicht. Komme ich auf die Seite der Listenansicht, wo das Produkt sich befindet, funktionieirt beim nächsten Klick auf die Einzelansicht die Anzeige des verwandten Produkts.

Hört sich voll komisch an, aber vielleicht magst du dir das mal anschaun bei diesem Produkt:
http://sine.advertising.de/shop/unterseiten/einzelansicht.html?tx_ttproducts_pi1[begin_at]=6&tx_ttproducts_pi1[backPID]=2&tx_ttproducts_pi1[product]=5&cHash=2946dde96d

In der Listenansicht ist es auf Seite 2 zu finden. Mal gibt es die Variante zu sehn, dann aber wieder nicht
9-08-08 13:31:58 Parameter zu viel: begin_at
Franz Holzinger
Der richtige Link zur Einzelansicht muss so lauten:
http://sine.advertising.de/shop/unterseiten/einzelansicht.html?tx_ttproducts_pi1[begin_at]=6&tx_ttproducts_pi1[backPID]=2&tx_ttproducts_pi1[product]=5&cHash=2946dde96d

Es sollte hier kein Parameter begin_at vorkommen. Er wird allerdings benötigt, wenn man von der Einzelansicht wieder auf die Liste zurückkehrt. Dann will man ja auf dieselbe Browserposition zurückkehren.

Aber vermutlich liegt hier ein Programmfehler begraben. Bei den Related Products darf dieser Parameter begin_at nicht ausgewertet werden, sonst zeigt er nichts mehr an, wenn dies nicht auf 0 gesetzt ist oder es wenige Related Products gibt.
9-08-08 14:00:59 Page Browser
Franz Holzinger
Ich kann unter tt_products 2.5.7 keinen Fehler feststellen. Es muss gewährleistet sein, dass in den Related Products kein Page Browser mehr vorkommt. Das wird nicht unterstützt und ergäbe eine Kollision mit dem Page Browser der normalen Liste.
11-08-08 20:18:09 tt_products 2.6.0
Steffi
Hallo Franz,

also ich verwende Version 2.6.0

Der Teil aus der Einzelansicht meines html-Templates sieht so aus:

<div id="PRODUCT_TITLE_SINGLE">
<!--###LINK_ITEM###-->
###GW1B###
<b>###PRODUCT_TITLE###</b><br />
###GW1E###
###PRODUCT_SUBTITLE###
<!--###LINK_ITEM###--><br />
</div>

Wenn ich jetzt das LINK_ITEM oben und unten rausnehme, dann funktionieren die Related Products gar nicht mehr auf den Seiten 2 und 3.

Und was sagen eigentlich die Marker ###GW1B### und ###GW1E### aus?

Auch wenn ein Produkt (zb dieses: http://sine.advertising.de/shop/unterseiten/einzelansicht.html?tx_ttproducts_pi1[backPID]=2&tx_ttproducts_pi1[product]=3&cHash=ebb25760fb ) gar keine related Products eingetragen hat, wechselt der Link vom Titel des Produkts das 1. mal auf Seite 1 der Listenansicht und erst das 2. mal auf die richtige Seite 2.

Meintest du damit "Es muss gewährleistet sein, dass in den Related Products kein Page Browser mehr vorkommt", dass ich die Konstante
plugin.tt_products.limit = ... nicht befüllen darf?

Wenn ich nun alle Produkte auf einer Seite anzeigen lasse, mir dann eins in der Einzelansicht anschaue, dann von da auf das related Product gehe und in der Einzelansicht des related Products wieder auf den Titel (um auf die Listenansicht zurückzukehren), komme ich nur auf die Einzelansicht des Produktes mit der UID 1.

Hängt das irgendwie damit zusammen?

http://jambage.com/index.php?id=201&tt_board_uid=1595&cHash=60c6504752

Viele liebe Grüße und herzlichen Dank
12-08-08 21:43:47 welche Seitennummern?
Franz Holzinger
Hallo Steffi.

Mir sagen die Seitennummern leider gar nichts, weil keine im Frontend angezeigt werden.

Damit kein Page-Browser in den Related Products angezeigt wird, kann entweder das limit leer sein, oder dieser Teil aus dem HTML Template gelöscht werden:

<td><!--###LINK_PREV###-->###GW2B###<div align="left"><b>vorherige Seite</b></div>###GW2E###<!--###LINK_PREV###--></td>

12-08-08 22:01:32 eine Korrektur
Franz Holzinger
Es ist aber ein Korrektur notwendig, weil der Parameter 'product' nicht mehr richtig ist.

Zeile 326 in view/class.tx_ttproducts_single_view.php

$linkUrl = $this->pibase->pi_getPageLink($pid,'',$this->marker->getLinkParams('',$addQueryString,true,$bUseBackPid,$viewCatTable->piVar),array('useCacheHash' => true));
12-08-08 22:28:27 und noch eine Korrektur
Franz Holzinger
Zeile 427:

if ($pid == $TSFE->id) {
$addQueryString[$this->type] = $this->uid;
}

statt

$addQueryString[$this->pibase->prefixId.'['.$this->type.']'] = $this->uid;
13-08-08 13:13:46 Korrekturen durchgeführt
Steffi
danke für deine Bemühungen!

Also ich habe den PageBrowser für die Listenansicht rausgenommen. Wenn nun alle Produkte auf einer Seite gelistet werden, werden in der Einzelansicht immer die related Products angezeigt. Allerdings hat das so auch schon vor der Änderung funktioniert.

Anders im Vergleich zu vorher ist:
Klicke ich in der Einzalansicht eines Produkts dann unten auf das related Product und dieses wird in der Einzelansicht angezeigt, geht der Link des Produktnamens nicht mehr auf das Produkt mit UID 1 sondern bleibt auf der Einzelansichtsseite stehen.
Und bei Verwendung des PageBrowsers geht der Link des Produktnamens in der Einzelansicht immer auf die richtige Seite zurück.

Gibt es gar keine Möglichkeit, einen Pagebrowser in der Listenansicht zu verwenden und in der Einzelansicht trotzdem die verwandten Produkte zu sehen (so wie es, wenn der Pagebrowser aktiv ist, bei der ersten Seite funktioniert)? Bei vielen Produkten könnte die Listenansicht dann vielleicht schnell unübersichtlich werden...

Jetzt habe ich zur besseren Ansicht nochmal alle Änderungen rückgängig gemacht in der Datei class.tx_ttproducts_single_view.php und 2 Listenansichtsseiten angelegt. Eine mit Pagebrowser (http://sine.advertising.de/shop/shop.html) und eine ohne (http://sine.advertising.de/shop.html)

Und mit Pagebrowser funktioniert es ja, dass die verwandten Produkte angezeigt werden, aber eben nur jedes zweite mal (also auf Seite 1 geht es immer und auf Seite 2 und 3 immer dann, wenn mann von der Listenansicht in die Einzelansicht eines Produktes wechselt, dann wieder zurück in die Listenansicht und dann nochmal in die Einzelansicht. Also beim zweiten anklicken des Produktes erscheinen auch auf den Seiten 2 und 3 die verwandten Produkte.

Entschuldige diese langwierigen Erklärungen.
13-08-08 13:39:35 Related Product List
Franz Holzinger
Es genügt, den Pagebrowser aus der Liste der Related Products herauszunehmen:
###ITEM_LIST_RELATED_TEMPLATE###

Der Page Browser funktioniert hier eben nicht oder kommt wegen dem Startpunkt durcheinander und zeigt dann keine Related Products mehr an.
13-08-08 16:03:00 ###ITEM_LIST_RELATED_TEMPLATE###
Steffi
Ich hab im Teil ###ITEM_LIST_RELATED_TEMPLATE### keinen Pagebrowser.

<!-- ###ITEM_LIST_RELATED_TEMPLATE### begin -->
<!-- ###ITEM_CATEGORY_AND_ITEMS### begin -->
<!-- ###ITEM_CATEGORY### begin -->
<!-- ###ITEM_CATEGORY### end -->
<!-- ###ITEM_LIST### begin -->
<form method="post" action="###FORM_URL###" name="###FORM_NAME###">
<!-- ###ITEM_SINGLE### begin-->
###ITEM_SINGLE_PRE_HTML###
<h2>Weitere Farben/Varianten:</h2><br />
<div class="aehnlich">
<!--###LINK_ITEM###-->
###PRODUCT_TITLE###
<!--###LINK_ITEM###-->
</div>
<br>
<div class="image_single_aehnlich">###PRODUCT_IMAGE1### </div><br>
###ITEM_SINGLE_POST_HTML###
<!-- ###ITEM_SINGLE### end -->
</form>
<!-- ###ITEM_LIST### end -->
<!-- ###ITEM_CATEGORY_AND_ITEMS### end -->
<!-- ###ITEM_LIST_RELATED_TEMPLATE### end -->

Ist irgendwas anderes falsch angegeben in diesem Teil?
13-08-08 16:16:13 Ergänzung
Steffi
Und wenn die Änderungen in der Datei view/class.tx_ttproducts_single_view.php durchgeführt werden, funktionert, sobald die Listenansicht auf mehrere Seiten aufgeteilt ist, auf den Seiten 2 und 3 die Anzeige der ähnlichen Produkte gar nicht mehr. (auch nicht beim 2. mal)
13-08-08 16:24:48 Seitennummern?
Franz Holzinger
Vielleicht kannst du mal die Seitennummern im Frontend sichtbar machen.
Welche Links werden erzeugt, wenn du auf ###PRODUCT_TITLE### klickst?
Schreibe alle Links der Reihe nach auf. Vermutlich ist da irgendwo ein falscher Parameter hineingekommen.
In der Standardeinstellung müsste er von der Listenansicht immer in die Einzelansicht wechseln.
13-08-08 17:03:03 ###PRODUCT_TITLE###
Steffi
Auf dieser Unterseite des Shopsr http://sine.advertising.de/shop/shop.html sind die Seitennummern sichtbar,
denn für diese Seite ist

plugin.tt_products.limit = 6

angegeben.
(auf der nicht: http://sine.advertising.de/shop.html)


In der Listenansicht auf Seite 1 wird dieser Link erzeugt
http://sine.advertising.de/shop/unterseiten/einzelansicht.html?tx_ttproducts_pi1%5BbackPID%5D=72&tx_ttproducts_pi1%5Bproduct%5D=13&cHash=c09817a456


In der Listenansicht auf Seite 2 beim ersten Klick dieser:
http://sine.advertising.de/shop/unterseiten/einzelansicht.html?tx_ttproducts_pi1%5Bbegin_at%5D=6&tx_ttproducts_pi1%5BbackPID%5D=72&tx_ttproducts_pi1%5Bproduct%5D=5&cHash=a3a8328d7f
(da funktioniert dann in der Einzelansicht die Anzeige der related Products nicht.)

Bei diesem Link, wenn im Anschluss related Products sichtbar sind.
http://sine.advertising.de/shop/unterseiten/einzelansicht.html?tx_ttproducts_pi1%5BbackPID%5D=72&tx_ttproducts_pi1%5Bproduct%5D=5&cHash=463486fce9

Wenn man nun von der Einzelansicht eines Produkts, welches auf Seite 2 der Listenansicht zu finden ist,
auf den Producttitle klickt und auf die Seite 2 der Listenansicht zurückkommt, ist der Link folgender:
http://sine.advertising.de/shop/shop.html?backPID=9&begin_at=6&cHash=48ff1686ee

Wenn man von der Einzelansicht des gleichen Produktes aber zurückkommt auf die Seite 1 der Listenansicht, ist es dieser:
http://sine.advertising.de/shop/shop.html?backPID=9&cHash=c055bc0696
13-08-08 19:48:15 Korrekturvorschlag
Franz Holzinger
In view/class.tx_ttproducts_single_view.php hinten eine 1 anhängen:

$tmpContent = $listView->printView (
$templateCode,
'LISTRELATED',
implode(',', $relatedIds),
$listPids,
$error_code,
$templateArea,
$this->pibase->pageAsCategory,
array(),
1
);

in view/class.tx_ttproducts_list_view.php:
function &printView (
&$templateCode,
$theCode,
$allowedItems,
$additionalPages,
&$error_code,
$templateArea = 'ITEM_LIST_TEMPLATE',
$pageAsCategory,
$mergeRow = array(),
$calllevel = 0
) {


und weiter unten ändern zu

if ($calllevel == 0) {
$begin_at = $this->pibase->piVars['begin_at'];
$begin_at = ($begin_at ? $begin_at : t3lib_div::_GP('begin_at'));
}
$begin_at = t3lib_div::intInRange($begin_at,0,100000);







14-08-08 16:08:00 funktioniert fast!
Steffi
vielen vielen Dank! Die Anzeige der related Products funktioniert
jetzt von jeder Anzeige der Listenansicht aus.

Das einzige, was noch nicht ganz funktioniert ist:

Man klickt in der Einzelansicht eines Produktes dann unten auf das verwandte Produkt, dann kommt man auch auf die Einzelansicht des
gewünschten Produktes. Klickt man aber dann in dieser Einzelansicht aber auf den Produkttitel, kommt man auf die Einzelansicht des Produktes mit der UID 1 und nicht zurück auf die Listenansicht...

Linkadresse ist dann:
http://sine.advertising.de/shop/unterseiten/einzelansicht.html?backPID=9&product=14&cHash=50f5780466
die zum Produkt UID1 führt.

Klickt man sonst auf den Produktnamen in der Einzelansicht und kommt dann in die Listenansicht zurück, ist die Linkadresse:

http://sine.advertising.de/shop/shop.html?backPID=9&cHash=c055bc0696

Tausend Dank nochmal!
14-08-08 16:56:31 Korrektur nicht durchgeführt
Franz Holzinger
Wenn du von Link der Einzelansicht des Related Products nicht zur Liste zurückkommst, hast du eine der zuletzt beschriebenen Korrekturen nicht oder nicht richtig durchgeführt.

product=14 darf gar nicht mehr vorkommen.
15-08-08 12:55:14 verwandte Produkte
Steffi
ich glaub es war alles wie beschrieben, aber gerade hab ich leider
keinen Zugriff auf den Server. Ich werd es nochmal durchschauen.
Viele Grüße

28-08-08 10:00:32 richtig geändert
Steffi
ich habe nochmal alle Änderungen nachkontrolliert und es müsste schon alles soweit angepasst sein.

Es gibt unterschiedliche Abläufe, wo man dann plötzlich auf die die Einzelansicht des Produktes mit UID 1 kommt:

- man geht von der Listenansicht in die Einzelansicht des Produktes, dann über den Namenslink des Produktes wieder zurück in die Listenansicht, wenn man - da angelangt - dann etwas in den Warenkorb legt, kommt man auf die Einzelansicht UID1.

- man ist in der Einzelansicht eines beliebigen Produktes, ein registrierter Benutzer meldet sich an, nach erfolgreicher Anmeldung kommt man auf Einzelansicht UID1

- und eben wenn man von der Listenansicht in die Einzelansicht geht, da auf das verwandte Produkt klickt, dann in dem verwandten Produkt auf den Namenslink, dann kommt man wieder auf Einzelansicht von UID1.

Woran könnte das noch liegen?

Ich könnte abgeänderten Dateien auch mal schicken:
view/class.tx_ttproducts_list_view.php
view/class.tx_ttproducts_single_view.php
28-08-08 13:00:58 Parameter überprüfen
Franz Holzinger
Hallo Steffi,

überprüfe stets den Parameter tx_ttproducts_pi1[product]=1 in der URL.
Dieser Parameter muss irgendwann noch falsch mitgegeben worden sein.
Beim Wechsel des Produktes 1 in eine andere Ansicht muss dieser Parameter verlorengehen. Er darf nicht mehr weitergereicht werden.
< Zurück zum Forum