[QUOTE=leofonic;23926]Mal gucken, München ist weit weg von Weilburg.
Um den Fehler wegzubekommen musst du einfach aus mylastseen.php alle Leerzeichen und Zeilenumbrüche außerhalb der PHP-Tags (also ganz am Anfang oder ganz am Ende) entfernen.[/QUOTE]
Ja, super, hat funktioniert.
Da ich in den nächsten 2 Jahren alle 3 Monate mal im Süden vom Starnberger See sein werde, klappt es sicher auch mal in München!
[QUOTE=leofonic;23866]Ist ein kleines Modul mit dem man last_seen_products.tpl auch in anderen Templates als details.tpl includen kann:
[/QUOTE]
Sorry das Ich denn Beitrag noch mal hochhole, da ich die “zuletzt angesehenen Artikel” auch gern auf jeder Seite “Links” hätte. Hatte ich gesucht und bin hier gelandet. Das Modul habe ich eingebunden allerdings tut sich nichts die “zuletzt angesehenen Artikel” werden nach wie vor nur auf der Detail Seite angezeigt.
[QUOTE=leofonic;23866]Ist ein kleines Modul mit dem man last_seen_products.tpl auch in anderen Templates als details.tpl includen kann:
[/QUOTE]
Ich bin gerade dabei, dein Modul zu implementieren, habe jedoch meine liebe Mühe.
Ich sehe letzte Produkte in details.tpl, das funktioniert und ich habe somit zuletzt gesehene Produkte. Aber wenn ich das Ganze in start.tpl einbinden will, sehe ich nichts. $oView->getLastProducts() liefert kein Ergebnis.
Im Admin habe ich oxcmp_utils => mylastseen eingetragen und modules/mylastseen.php gibt es.
Die Syntax im Template hat sich geändert, früher wurde gleich $aLastProducts verwendet, jetzt der getter im detail.php. Also mit dem Modul bitte im Template wieder direkt die Variable verwenden:
[{if $aLastProducts && $aLastProducts->count() > 0 }]
//hier die Überschrift
[{foreach from=$aLastProducts item=lastproduct}]
//hier das Produkt
[{/foreach}]
[{/if}]
Oxid meint es nicht gut mit mir, glaube ich, ich wäre ein Schritt weiter, kommt der nächste Knüppel zwischen die Beine:
In allen Browsern sehe ich ausserhalb von “details” die “last seen”, nur im IE nicht. Hier ist $aLastProducts leer. Da ich mich mit Modulen noch gar nicht auskenne, meine Frage, ob das ein bekanntes Problem ist, oder wo kann ich bei der Suche ansetzen? Das Module browserabhängige Ergebnisse liefern können, ist eine neue Erkenntnis für mich
Also ich habe mir das nochmal angesehen und ein neues Modul erstellt.
@jeannie: Wenn du die LastSeen nur in der productmain.tpl einbinden willst, brauchst du kein Modul, weil productmain.tpl nur in “details” verwendet wird. Du kannst den Code aus last_seen_products.tpl aus dem Basic-Theme anpassen und verwenden.
@paubolix: Das liegt wahrscheinlich nicht am IE, sondern es wurden einfach keine neuen Produkte aufgenommen, also in einer neuen Session wurden dann auch keine angezeigt.
Hier das neue Modul:
<?php
/*
* LASTSEEN PRODUCTS ANYWHERE for OXID 4.3.0 and higher
* Module to include last_seen_products.tpl anywhere
* Filename: modules/mylastseen.php
* Add one line to System/Modules for each view where
* you want to show last seen articles, excluding "details" view, e.g.:
alist => mylastseen
start => mylastseen
*/
class mylastseen extends mylastseen_parent{
public function getLastProducts( $iCnt = 4 )
{
$oHistoryArtList = new lastseenoxarticlelist;
$aHistoryArticles = $oHistoryArtList->getHistoryArticles();
if (is_array($aHistoryArticles)){
$aHistoryArticles = array_unique( $aHistoryArticles );
if ( count( $aHistoryArticles ) > ( $iCnt ) ) {
array_shift( $aHistoryArticles );
}
$aHistoryArticles = array_values( $aHistoryArticles );
$oHistoryArtList->loadIds( $aHistoryArticles );
$oHistoryArtList->sortByIds( $aHistoryArticles );
}
return $oHistoryArtList;
}
}
class lastseenoxarticlelist extends oxarticlelist{
public function sortByIds($aArtIds){
$this->_sortByIds($aArtIds);
}
}
und das zugehörige Snippet für die sidebar.tpl von Azure:
[QUOTE=leofonic;77748] @paubolix: Das liegt wahrscheinlich nicht am IE, sondern es wurden einfach keine neuen Produkte aufgenommen, also in einer neuen Session wurden dann auch keine angezeigt.
[/QUOTE]
Liegt tatsächlich nicht am IE, ich klicke mich gerade mit dem FF durch die Artikel, aber “last seen” bleibt beharrlich leer. Da scheint ein wenig Vodoo im Spiel zu sein.
Ich habe dein überarbeitetes Modul verwendet und [I]start => mylastseen[/I] eingetragen, weil ich es nur auf der Startseite benötige. Zusätzlich in start.tpl [{assign var=“aLastProducts” value=$oView->getLastProducts() }] ergänzt.
Letzte Produkte gibt es aber keine zu sehen. Und ich war in vielen Produkten in gleicher Session.
[QUOTE=Paubolix;77755] Zusätzlich in start.tpl [{assign var=“aLastProducts” value=$oView->getLastProducts() }] ergänzt. [/QUOTE]
In details muss das auch eingebunden werden also mindestens die Zeile
weil damit auch die Produkte zum Array hinzugefügt werden. Wenn das nur in der start.tpl steht wird es in der Detailansicht nicht aufgerufen und somit keine neuen Produkte zu den “zuletzt angesehenen” hinzugefügt.
Das war es, ich habe mal ganz locker alles aus details.tpl raus genommen, weil ich da keine zuletzt gesehenen brauche. Aber eigentlich ja logisch, wo sollen die Daten her kommen? Ich sollte jetzt Feierabend machen, Konzentration lässt doch sehr nach…