Neu Bestseller auf selbst ersteller Seite (nicht Startseite) anzeigen

rwillhaus

Aktives Mitglied
4. Dezember 2016
29
0
Hallo,
ich habe das Forum bereits länger auf mein Problem hin durchsucht, doch leider keinen entsprechenden Beitrag gefunden der helfen konnte.

Folgendes:
Ich habe eine eigene Seite im Backend erstellt, welche eine Übersicht aller vorhandenen Kategorien + Bild anzeigt. Nun soll unter dieser Übersicht eine Auflistung der Bestseller angezeigt werden.

Die Funktion hierfür habe ich in der /layout/index.tpl eingefügt. Es wird dabei überprüft ob der Header die entsprechende Endung der selbst erstellten Seite besitzt und wenn ja, soll der Code ausgeführt werden.

Diesen habe ich aus der /page/index.tpl kopiert:

{if isset($StartseiteBoxen) && $StartseiteBoxen|@count > 0}
<hr>
{foreach name=startboxen from=$StartseiteBoxen item=Box}
{if isset($Box->Artikel->elemente) && count($Box->Artikel->elemente)>0}
{if $Box->name === 'TopAngebot'}
{lang key="topOffer" section="global" assign='title'}
{elseif $Box->name === 'Sonderangebote'}
{lang key="specialOffer" section="global" assign='title'}
{elseif $Box->name === 'NeuImSortiment'}
{lang key="newProducts" section="global" assign='title'}
{elseif $Box->name === 'Bestseller'}
{lang key="bestsellers" section="global" assign='title'}
{/if}
{include file='snippets/product_slider.tpl' productlist=$Box->Artikel->elemente title=$title hideOverlays=true}
{/if}
{/foreach}
{/if}

Dieser Code sorgt auf der Startseite (erfolgreich) dafür, dass die Artikel angezeigt werden. Leider klappt, das auf meiner eigenen erstellten Seite nicht. Wenn ich in den Smarty Debugger gehe, finde ich die $StartseiteBoxen Variablen etc. auch nicht. Wie realisiere ich, dass diese Variablen zur Auflistung Bestseller auch außerhalb der Startseite gefunden werden? Wenn ich auf meiner Seite den Smarty Debugger einschalte, werden die benötigten Artikel-Variablen nicht gefunden und auch ein Einbinden der Funktionen gibBestseller() oder der Beispiel Smarty Funktion:
{get_product_list kKategorie=0 nLimit=3 nSortierung=11 cAssign="myProducts"}
{if $myProducts}
<ul>
{foreach name=custom from=$myProducts item=oCustomArtikel}
<li>{$oCustomArtikel->cName}</li>
{/foreach}
</ul>
{/if}
erbrachte keinen Erfolg.

Vielen Dank
 

martinwolf

Offizieller Servicepartner
SPBanner
6. September 2012
3.704
355
Edit da falscher Bezug.

Die Bestseller werden aktuell nur in Abhängigkeit der Starsteitenboxen erzeugt, ebenso die Topangebote. Hier müsstest du eine eigene Funktion für erzeugen die dir die Bestseller holt.
 

rwillhaus

Aktives Mitglied
4. Dezember 2016
29
0
Hallo,
ok. Sowas habe ich mir schon gedacht.
Im Ordner inlcudes gibt es die Datei seinte_inc.php mit der Funktion gibStartBoxen();

Ich habe schon versucht, diese an den product_slider.tpl zu übergeben. Leider ohne Erfolg, da das zurückgelieferte Array leer bleibt.

Hättest du einen Tipp für mich, wo der Fehler liegen könnte?
 

martinwolf

Offizieller Servicepartner
SPBanner
6. September 2012
3.704
355
Schau dir die classes/class.JTL- Shop.Boxen.php an, dort ab Zeile 345 ist das Query für die Bestseller definiert. Bei dir in der functions.php deines Templates eine neue Funktion welche dieses Query in angepasster Form verwendet und hol dir darüber deine Bestseller.
 

rwillhaus

Aktives Mitglied
4. Dezember 2016
29
0
Vielen Dank schon mal.

Ich habe mir jetzt folgende Funktion gebaut:

function getBestseller($oBox)
{
$kKundengruppe = $_SESSION['Kundengruppe']->kKundengruppe;
echo "Kundengruppe: " . $kKundengruppe;
$currencyCachePart = (isset($_SESSION['Waehrung']->kWaehrung)) ? '_cur_' . $_SESSION['Waehrung']->kWaehrung : '';

$kArtikel_arr = array();
$limit = 10;
$anzahl = 10;
$nAnzahl = 100;

$menge = Shop::DB()->query(
"SELECT tartikel.kArtikel
FROM tbestseller, tartikel
LEFT JOIN tartikelsichtbarkeit ON tartikel.kArtikel=tartikelsichtbarkeit.kArtikel
AND tartikelsichtbarkeit.kKundengruppe = $kKundengruppe
WHERE tartikelsichtbarkeit.kArtikel IS NULL
AND tbestseller.kArtikel=tartikel.kArtikel
ORDER BY fAnzahl DESC, rand() LIMIT " . $limit, 2
);
echo "Menge: " . count($menge);
if (is_array($menge) && count($menge) > 0) {
$rndkeys = array_rand($menge, min($anzahl, count($menge)));
if (is_array($rndkeys)) {
foreach ($rndkeys as $key) {
if (isset($menge[$key]->kArtikel) && $menge[$key]->kArtikel > 0) {
$kArtikel_arr[] = $menge[$key]->kArtikel;
}
}
} elseif (is_int($rndkeys)) {
if (isset($menge[$rndkeys]->kArtikel) && $menge[$rndkeys]->kArtikel > 0) {
$kArtikel_arr[] = $menge[$rndkeys]->kArtikel;
}
}
}

if (count($kArtikel_arr) > 0) {
$oBox->anzeigen = 'Y';
$oBox->Artikel = new ArtikelListe();
$oBox->Artikel->getArtikelByKeys($kArtikel_arr, 0, count($kArtikel_arr));
$oBox->cURL = baueSuchSpecialURL(SEARCHSPECIALS_BESTSELLER);
}

return $oBox;
}

Bei der Ausgabe Menge zeigt er 3 an. Was auch hinkommt.

In meiner index.tpl im Ordner /layout habe ich folgende Zeilen eingebaut:

{php}
$oBox = getBestseller($Box);
{/php}
Elemente: {count($oBox->Artikel->elemente)}

Seltsamerweise steht hier die Anzahl an Elementen auf 0.
Scheinbar werden die Artikel aus $kArtikel_arr nicht an die $oBox übergeben.

Hast du eine Idee wo der Fehler liegen könnte?

Vielen Dank
 

rwillhaus

Aktives Mitglied
4. Dezember 2016
29
0
Hallo,
ich möchte noch eben die Lösung posten.

Die Funktion oben getBestseller() war soweit in Ordnung. Es muss nicht einmal eine Variable übergeben werden.

Am Ende werden die Bestseller per return $oBox; übergeben.

In der Datei /layout/index.tpl rufe ich die Funktion wie folgt auf und verarbeite sie direkt:

{$oBoxen = getBestseller()}

{include file='snippets/product_slider.tpl' productlist=$oBoxen->Artikel->elemente title=$title hideOverlays=true}

Dadurch wird direkt wie auch auf der Startseite eine Slider-Box mit den Bestsellern generiert.

Vielen Dank für die Hilfe!
 
Ähnliche Themen
Titel Forum Antworten Datum
Neu Update auf 5.7.2 Installation / Updates von JTL-Shop 2
Update auf Wawi 2.0 - Worker funktioniert nicht mehr JTL-Wawi 2.0 2
Auftragsbild auf Auftrag über den Formulardesigner JTL-Wawi 2.0 0
"Wer hat Lust auf einen Erfahrungsaustausch bei Kaffee und Kuchen?". Starten mit JTL: Projektabwicklung & Migration 3
Wichtig GLS auf JTL Shipping 2.0 — Webinar am 17. September (Live-Walkthrough & Migration) News, Events und Umfragen 0
Update 5.3 auf 5.7.2 Shop funktioniert nicht mehr Upgrade JTL-Shop4 auf JTL-Shop5 3
Amazon FBA Bestand auf 0 und Amazon verkauft trotzdem weiter JTL-Wawi 2.0 0
„Wer hat Lust auf einen Erfahrungsaustausch bei Kaffee und Kuchen?“. Starten mit JTL: Projektabwicklung & Migration 43
Mehrere Probleme mit Update auf 2.0.5 JTL-Wawi 2.0 6
Neu Drucker funktioniert nicht nach update auf 2.0.0.2 JTL-POS - Fehler und Bugs 4
Neu onpage SEO auf SW - Was ist mit der Wawi? Shopware-Connector 1
Neu Stücklistenartikel mit Differenzbesteuerung + 19 % USt. – Komponenten getrennt auf Rechnung ausweisen? User helfen Usern - Fragen zu JTL-Wawi 3
Neu Shopify-Connector auf neues JTL-Kundenkonto umstellen – App bleibt altem Konto zugeordnet Shopify-Connector 4
Neu Stücklisten auf Vorlagen für Picklisten formatieren User helfen Usern - Fragen zu JTL-Wawi 0
Neu 🔥 𝐍𝐮𝐫 𝟓× verfügbar 𝟓𝟎% 𝐑𝐚𝐛𝐚𝐭𝐭 auf dein Besucherticket für die kommende JTL-Connect am 02.10.2026 in Köln Dienstleistung, Jobs und Ähnliches 0
Neu Fehler nach Update auf Version 5.7.2 beim Bestellabschluß Betrieb / Pflege von JTL-Shop 7
Weiter gehts....Kein Anlegen von Artikel mit Fotos mehr möglich, seit Update auf 2.06 JTL-Wawi 2.0 14
Neu Fehler Datenbank auf neuem Server mit Wawi 2.0.6 JTL-Wawi - Fehler und Bugs 5
Neu JTL-Wawi REST API (Beta): HTTP 402 "Zahlung erforderlich" auf allen Endpunkten trotz gebuchter Beta-Lizenz Schnittstellen Import / Export 2
Neu JTL Shop 5.7.2 NOVA - Akkordeon Überschriften herabstufen auf H3 Templates für JTL-Shop 3
Neu Conrad - Umstellung auf das One-Creditor-Modell Einrichtung und Installation von JTL-eazyAuction 0
Neu Update auf 1.11 / 2.0 nicht möglich Installation von JTL-Wawi 6
JTL reaktiviert keine Angebote mehr auf Otto Otto.de - Anbindung (SCX) 1
Neu Möglichkeit QR Code auf Label zu drucken JTL-ShippingLabels - Fehler und Bugs 2
Neu Probleme beim Shop Update auf 5.7.2 Installation / Updates von JTL-Shop 4
QR-Code auf der Rechnung gibt 100-fachen Betrag des eigentlichen Rechnungsbetrages aus JTL-Wawi 2.0 5
Seit dem Update meines JTL-Shops auf Version 5.7.1 funktioniert die Verbindung zwischen JTL-Wawi 2.0.4.0 und dem Shop nicht mehr. JTL-Wawi 2.0 6
Neu Dringend: USA DHL Versand Umstellung ab 24.07. auf HTSUS Zolltarifnummern JTL-ShippingLabels - Ideen, Lob und Kritik 10
Neu Update auf 5.7.2 - kein DB Update Installation / Updates von JTL-Shop 10
Neu Feld "Informationen" auf Smartphone immer ausklappen Allgemeine Fragen zu JTL-Shop 2
Neu Update von 1.8.12.4 auf 2.0.5 - Kostenfreie Version - Registrierung erforderlich? User helfen Usern - Fragen zu JTL-Wawi 1
JTL Update auf 1.9 , danach Import Kundenspezifrische Preise velerhaft JTL-Wawi 1.9 0
Neu Rechte-Fehler im J10n Modul und Auswirkung auf base.mo.php in div. Plugins (Shop 5.7.1) JTL-Shop - Fehler und Bugs 0
nach Update von 5.3 auf 5.7 neue Position im Warenkorb "Gebühr" die auch in den Auftrag übernommen werden Einrichtung JTL-Shop5 2
Beantwortet Shop Abgleich nach Update auf 5.7.2 nicht mehr möglich JTL-Shop - Fehler und Bugs 4
Neu Amazon: Artikel-Highlight / Produkttitel auf 75 Zeichen begrenzt Amazon-Anbindung - Fehler und Bugs 8
Neu Produktionsaufträge tauchen nicht in der Workbench auf JTL-Plan&Produce - Fehler und Bugs 2
Bei Update auf 2.05 kam folgende Meldung JTL-Wawi 2.0 2
Ameise - Importvorlage auf 80 Spalten begrenzt? JTL-Wawi 2.0 0
Login Wawi nicht möglich nach Update auf 1.11.11 JTL-Wawi 1.11 1
Neu Anpassung Kundendaten auf XRechnung User helfen Usern - Fragen zu JTL-Wawi 7
Neu Absenderadresse auf Versandlabel ändern User helfen Usern - Fragen zu JTL-Wawi 1
Ameise (1.11.11.0) Export auf Clients nicht möglich - Das Dezimaltrennzeichen kann nicht die leere Zeichenfolge sein JTL-Wawi 1.11 5
Neu Hinweis zum Auftrag wird seit Update auf die 1.11 nicht mehr angezeigt JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 0
Neu Umstellung auf Jera Datev Schnittstelle - keine Kundennummer im Kundencenter Schnittstellen Import / Export 2
JTL APP - Fehlermeldung nach Update auf Wawi 1.11. JTL-Wawi App 6
JTL Wawi 1.11. - Fenstergröße - Artikel auf Einkaufsliste setzen JTL-Wawi 1.11 13
Nach Update auf 2.0.3 Keine Fehlermeldungen mehr sichtbar Otto.de - Anbindung (SCX) 3
DPD Cloud Labeldruck auf Zebra LP 2844-Z seit Update auf JTL-Wawi 1.11.x fehlerhaft JTL-Wawi 1.11 3
JTL nach Update auf 2.0.3 im Bereich „Kunden“ extrem langsam JTL-Wawi 2.0 2

Ähnliche Themen