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.477
289
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.477
289
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
Bestseller verschwinden immer wieder von der Startseite Einrichtung JTL-Shop5 0
Neu Megamenü Anzahl der Kategrien je Zeile von vier auf sechs erhöhen Templates für JTL-Shop 0
Preiskalkulation auf Grundlage von Lieferantenpreise und Lieferantenbestand JTL-Wawi 1.8 1
Kettensymbol auf alle Artikel verwenden Otto.de - Anbindung (SCX) 0
Neu ++ Fehler beim update von 1.55.5.3 auf version 1.8.11.0 ++ Installation von JTL-Wawi 8
Neu Verkaufskanal POS Kundengruppen Preis brutto auf Artikeletikett drucken Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Neu Wasserzeichen auf Lieferschein und Rechnung auf ganze A4 Seite User helfen Usern - Fragen zu JTL-Wawi 5
Neu Keine Bestellung möglich über Nova 5.4 auf 4K Laptop JTL-Shop - Fehler und Bugs 16
Bestellungen beim Lieferanten - Aufteilung auf verschiedene Läger ? JTL-Wawi 1.9 3
Neu JTL Artikel auf Shopify als Varianten anzeigen Shopify-Connector 2
Neu Sehr lange Ladezeit der Produktseite nach Upgrade auf Version 5.4 Allgemeine Fragen zu JTL-Shop 6
JTL-Search - Hardwarestörung auf einem der Search-Server (s7) Störungsmeldungen 0
Neu Nach update auf 5.4 kein Login mehr möglich JTL-Shop - Fehler und Bugs 2
Neu JTL Shop 5.4 - Seite 1 verschachtelt sich bei klick auf Seite 1 JTL-Shop - Fehler und Bugs 0
Nach Umstieg auf V5 Paypal express weg. Einrichtung JTL-Shop5 5
Neu Update JTL Wawi von 1.0.0.0 auf 1.8.10.0 Installation von JTL-Wawi 8
Neu Warnung: Update auf Shop 5.4 Installation / Updates von JTL-Shop 39
POS Zahlungen tauchen in Wawi unter Zahlungen nicht mehr auf JTL-Wawi 1.9 0
Neu Umstellung auf den Amazon Lister 2.0 Amazon-Lister - Ideen, Lob und Kritik 0
API Zeichenbegrenzug auf 20 Zeichen Otto.de - Anbindung (SCX) 1
Neu Nach Update auf 5.4 klappt einiges nicht mehr ! Installation / Updates von JTL-Shop 9
Neu Update auf 5.4.0 schlägt fehl Installation / Updates von JTL-Shop 4
Neu JTL Shop Subscription wurde durch Umstellung auf "Advanced Edition" teils doppelt berechnet Allgemeine Fragen zu JTL-Shop 1
Neu Umfrage: Scanpflicht auf Artikelebene (Nur für bestimmte Artikel aktivieren/deaktivieren) JTL-WMS / JTL-Packtisch+ - Ideen, Lob und Kritik 0
Filter und Workflows nicht auf Vaterartikel anwendbar JTL-Workflows - Fehler und Bugs 0
Neu Fehler mit Zugriff auf die Datenbank (Exec Direct). Installation von JTL-Wawi 4
Neu Packtisch+ wartet nicht auf TrackingID Import Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 6
Neu Upgrade CFE auf Advanced wenn Hosting gebucht Allgemeine Fragen zu JTL-Shop 6
Neu Retouren/Rückerstattungen auf Amazon Arbeitsabläufe in JTL-Wawi 1
Neu Fehler bei Coupons bei Wechsel von 4 auf 5 Betrieb / Pflege von JTL-Shop 0
Neu Artikelnamen auf der Homepage vollständig sehen. Er ist wenn er zu lang ist verkürzt. Allgemeine Fragen zu JTL-Shop 2
Neu Anfägerfragen und Installtion auf ngix server Installation / Updates von JTL-Shop 13
Nach Update auf 1.9 alle Drucker verschwunden JTL-Wawi 1.9 6
Seit Wechsel auf DPD werden keine Versanddaten mehr an Kaufland übertragen. kaufland.de - Anbindung (SCX) 1
Neu Amazon Lister 2.0 Fehlercode: SLR402 Bild "1.jpg" für das Angebot mit SKU "xxxxx" auf Channel "AMAZONDEJTL" wurde nicht gefunden Amazon-Lister - Ideen, Lob und Kritik 0
Update von 1.6.47.2 auf 1.9.5.3 (Registrierung, usw.) JTL-Wawi 1.9 1
Neu Inhalt eines Containers mehrfach auf verschiedenen Unterseiten darstellen Allgemeine Fragen zu JTL-Shop 4
Neu Bestand auf einem Amazon-Marktplatz auf Null setzen. User helfen Usern - Fragen zu JTL-Wawi 0
Neu Gleichzeitiger Zugriff von zwei Nutzern auf JTL-Shop-Backend Allgemeine Fragen zu JTL-Shop 2
Ändern der Bearbeitungszeit auf Amazon lässt sich nicht auf Länder eingrenzen JTL-Wawi 1.9 0
Attribute für EWR Pflichtangaben (ab 13.12.2024) auf den Marktplätzen otto.de & kaufland.de Otto.de - Anbindung (SCX) 8
Fehler bei Update von 1.5.55.8 auf 1.7.15.6 ( Unbehandelte Ausnahme #7110FFD83C0136E0 vom Typ JTL.Database.SqlUpdater.UpdateException) JTL-Wawi 1.7 0
Neu Wie finde ich per SQL heraus welche Aufträge auf Teillieferbar stehen? JTL Ameise - Eigene Exporte 1
Neu DPD A6 Versandlabel auf A4 Etiketten Bogen drucken JTL-ShippingLabels - Fehler und Bugs 0
JTL Wawi Update 1.8.12.4 auf 1.9.5.2 nicht möglich JTL-Wawi 1.9 4
Neu Kontaktformular auf einer eigenen Seite hinzufügen Allgemeine Fragen zu JTL-Shop 1
Neu QR Code auf Rechnung bei PayPal fehlerhaft User helfen Usern - Fragen zu JTL-Wawi 0
Neu WMS Wareneingang falscher Artikel auf Etikett JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 0
Beantwortet Artikelbilder auf Lieferschein / Rechnung / Angebot. Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 8
Neu [Liquid Error: Ein Aufrufziel hat einen Ausnahmefehler verursacht] Fehlermeldung in meiner Designvorlage auf Ebay eBay-Designvorlagen - Fehler und Bugs 0

Ähnliche Themen