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.452
282
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.452
282
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 Nach Update von 5.0.x auf 5.3.3 funktioniert "Mindestanzahl Verkäufe für Bestseller" Einstellung in Englischer Sprache nicht mehr Installation / Updates von JTL-Shop 0
Bestseller verschwinden immer wieder von der Startseite Einrichtung JTL-Shop5 0
Neu Anzeige Bestseller über Produkten in jeder Kategorie Allgemeine Fragen zu JTL-Shop 1
Neu [Liquid Error: Ein Aufrufziel hat einen Ausnahmefehler verursacht] Fehlermeldung in meiner Designvorlage auf Ebay eBay-Designvorlagen - Fehler und Bugs 0
Neu Bildgrößen auf der Startseite (in den Boxen wie z.B. Top-Angebot) Allgemeine Fragen zu JTL-Shop 3
Warum und auf was updaten? Wir sind zufrieden mit der Version 1.6.48.0 JTL-Wawi 1.6 4
Neu Lagerplatz Frei! Fulfillment Dienstleister freut sich auf euch Dienstleistung, Jobs und Ähnliches 0
Neu Anzeige Nettopreis auf Auftragsbestätigung Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Stücklisten Anzeige auf der Pickliste User helfen Usern - Fragen zu JTL-Wawi 17
Neu Sendungsnummer oder Tracking-Link auf Export-Vorlage anzeigen Gelöste Themen in diesem Bereich 6
Neu Artikel auf Bestellung nicht zusammenführen Arbeitsabläufe in JTL-Wawi 2
Neu Update Wawi von 1.0.11 auf 1.9 Installation von JTL-Wawi 7
Neu Shopify Produkte auf Entwurf Onlineshop-Anbindung 0
Neu Vererben der Bildern einer Variation auf alle anderen Variationen, wie beim Vererben von Vater zu Kind-Artikeln, möglich wie? User helfen Usern - Fragen zu JTL-Wawi 0
Neu Workflow - Wert "Netto-EK" im Auftrag auf 0,00 € setzen für eine bestimmte Kundengruppe User helfen Usern - Fragen zu JTL-Wawi 1
In Diskussion Abfrage auf Wert bei allen Artikelpositionen nicht möglich? Gelöste Themen in diesem Bereich 12
Neu Mermalbild auf Artikeletikett drucken Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 5
Neu Artikelmerkmale auf Pickliste ausgeben Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Neu Update von 5.1.5 auf 5.3.3 Installation / Updates von JTL-Shop 2
Bilder werden nicht auf WMS mobile angezeigt JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 0
Neu Umstellung Paypal Plus auf Paypal Checkout - bleiben die Sonderkonditionen erhalten ? Smalltalk 0
Chargennummer eines Artikels auf der Rechnung mit ausdrucken JTL-Wawi 1.9 3
Überbeträge auf Vorlagen JTL-Wawi 1.7 3
Neu Sales Info / Aussendienst Informationssystem mit Besuchserfassung und vielen weiteren Funktionen auf der JTL Connect 2024 Dienstleistung, Jobs und Ähnliches 1
Neu Amazon Abgleich Fehler: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt Amazon-Anbindung - Fehler und Bugs 18
Neu Artikelbilder im Tab "Bewerten" sind teilweise zu groß auf dem Desktop JTL-Shop - Fehler und Bugs 0
Neu Problem mit Scroll-Link nach Update auf Shop-Version 5.3.3 Technische Fragen zu Plugins und Templates 5
Neu Kann man JTL 1.8 und 1.9 auf einem Client parallel betreiben (ohne hyper V) ? Installation von JTL-Wawi 3
Neu Kern Waage die im Netzwerk hängt (via Moxa NPort 5100) auf RDP Server mit WMS nutzen User helfen Usern - Fragen zu JTL-Wawi 0
Neu MS SQL Server auf Windows vs Linux Starten mit JTL: Projektabwicklung & Migration 9
Neu Workflow Adresse prüfen auf deutsche Kunden eingrenzen Gelöste Themen in diesem Bereich 6
Neu Paket X von Y auf Shippinglabel einfügen - GLS Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Tagesabschluss Beleg von/bis 4 stellig auf Ausdruck, obwohl Nummernfolge 5-stellig (letzte Nummer abgeschnitten) Allgemeine Fragen zu JTL-POS 0
Neu Bestellbare Menge auf Account beschränken? User helfen Usern - Fragen zu JTL-Wawi 3
Neu Update auf 1.9 - wo sind die Kommentarfelder des Artikels geblieben? Eigene Übersichten in der JTL-Wawi 1
Neu Hinweis auf JTL-POS Customer Display 'Meldung nicht erneut anzeigen' funktioniert nicht JTL-POS - Fehler und Bugs 0
Neu "Artikel erscheint" Datum mit auf RE drucken Arbeitsabläufe in JTL-Wawi 2
In Bearbeitung Entnahmen gesondert aufgegliedert auf Tagesabschluss Allgemeine Fragen zu JTL-POS 1
Neu Freipositionen auf jeden Lieferschein User helfen Usern - Fragen zu JTL-Wawi 2
update von 1.3.21.1 auf Version 1.8.12.2 JTL-Wawi 1.8 6
Neu PayPal Checkout Update auf 1.5.1 nicht möglich Betrieb / Pflege von JTL-Shop 2
Neu Probleme beim Update von 5.2.4 auf 5.3.3 Installation / Updates von JTL-Shop 6
Hintergrundfarbe der Wawi auf Dunkel umstellen. JTL-Wawi 1.9 1
Neu Atrribut in Wawi gelöscht - Keine Auswirkung auf Shopware Shopware-Connector 0
Neu Lagerplätze Priorität & Restemenge auf Lagerplatz Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
In Bearbeitung Wiederherstellung der Datenbank auf neuer Hardware unintuitiv JTL-POS - Ideen, Lob und Kritik 4
Neu Einzelne Merkmale ausblenden auf Merkmalseiten Templates für JTL-Shop 5
Neu Firmenzusatz fehlt auf DHL Label JTL-ShippingLabels - Fehler und Bugs 0
Neu Zusätzliche Nummer auf das DHL Label bringen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Problem bei Upgratevon Shop 4 auf shop 5 (SQLSTATE[42000]) Upgrade JTL-Shop4 auf JTL-Shop5 2

Ähnliche Themen