Neu Startseite um weitere Artikel erweitern

marco3993

Aktives Mitglied
22. Dezember 2016
46
16
Guten Morgen

ich habe eine Kleinigkeit für unseren Shop entwickelt den ich gern mit euch teilen wollte, es ist ein für uns simples Script mit dem man weitere Artikel auf die Startseite bringen kann.

Shopversion: 4.05 (Build: 6)


Installation
Unter Artikel => Attribute habe ich für den JTL-Shop ein neues Kategorie-Attribut gesetzt "startseite" eine Werteliste mit den Werten 1,2,3,4,5
upload_2018-7-19_10-23-25.png

in unserem Childtemplate habe ich folgende punkte ergänzt

function.php

Ich habe zum Smarty-Object ein Plugin hinzugefügt:
Code:
->registerPlugin('function', 'get_top_product_by_cat', 'get_top_product_by_cat')

Und so sieht die Funktion aus
Code:
function get_top_product_by_cat($topcatNr, &$smarty) {

    $result = Shop::DB()->executeQuery("SELECT tartikel.* FROM tartikel JOIN tkategorieartikel ON (tartikel.kArtikel = tkategorieartikel.kArtikel) WHERE tkategorieartikel.kKategorie = (SELECT DISTINCT tkategorieattribut.kKategorie FROM tkategorieattribut WHERE tkategorieattribut.cName LIKE 'startseite' and tkategorieattribut.cWert like ".$topcatNr.") AND tartikel.cTopArtikel LIKE 'Y'",2);
    if(count($result) == 0 ) {
        return '';
    }
   $artikelListe = [];
    foreach($result as $key => $value) {
        $artikelListe[$key] = new Artikel();
        $artikelListe[$key]->fuelleArtikel($result[$key]->kArtikel, NULL);
    }
    $kat = Shop::DB()->executeQuery("SELECT * FROM tkategorie WHERE kKategorie = (SELECT DISTINCT tkategorieattribut.kKategorie FROM tkategorieattribut WHERE tkategorieattribut.cName LIKE 'startseite' and tkategorieattribut.cWert like ".$topcatNr.")", 2);

        $artList = new \ArtikelListe();
        $artList->elemente = $artikelListe;
        $return = new stdClass();
        $return->name = $kat[0]->cName;
        $return->sort = 2;
        $return->cURL = $kat[0]->cSeo;
        $return->Artikel = $artList;
        $return->anzahl = count($return->Artikel->elemente);
      
        return $return;
}

page/index.tpl
Auf dem Startseiten-Template-File habe ich oberhalb der Standard-Slider erkennbar durch:
Code:
{if isset($StartseiteBoxen) && $StartseiteBoxen|@count > 0}

habe ich folgende Zeilen eingefügt:
Code:
{assign var='topByCat' value=get_top_product_by_cat(1)}
{include file='snippets/product_slider.tpl' productlist=$topByCat->Artikel->elemente title=$topByCat->name hideOverlays=true moreLink=$topByCat->cURL moreTitle='Zeige alle aus dieser Kategorie'}

{assign var='topByCat' value=get_top_product_by_cat(2)}
{include file='snippets/product_slider.tpl' productlist=$topByCat->Artikel->elemente title=$topByCat->name hideOverlays=true moreLink=$topByCat->cURL moreTitle='Zeige alle aus dieser Kategorie'}

{assign var='topByCat' value=get_top_product_by_cat(3)}
{include file='snippets/product_slider.tpl' productlist=$topByCat->Artikel->elemente title=$topByCat->name hideOverlays=true moreLink=$topByCat->cURL moreTitle='Zeige alle aus dieser Kategorie'}

{assign var='topByCat' value=get_top_product_by_cat(4)}
{include file='snippets/product_slider.tpl' productlist=$topByCat->Artikel->elemente title=$topByCat->name hideOverlays=true moreLink=$topByCat->cURL moreTitle='Zeige alle aus dieser Kategorie'}

{assign var='topByCat' value=get_top_product_by_cat(5)}
{include file='snippets/product_slider.tpl' productlist=$topByCat->Artikel->elemente title=$topByCat->name hideOverlays=true moreLink=$topByCat->cURL moreTitle='Zeige alle aus dieser Kategorie'}

Mit diesen Zeilen greift Smarty auf die in der Functions definierten Funktion zu, holt sich die Artikel und gibt diese in eine von JTL definierte Funktion, die den Standardslider mit unseren Artikeln füllt.

Anwendung
Man kann nun seiner Kategorie das Attribut "startseite" vergeben (1-5) und im Slider werden nun die Top-Artikel der Kategorie dargestellt.
Dabei verwendet dieses Script den Kategorienamen als Sliderüberschrift und wenn man auf den Pfeil rechts klickt gelangt man in die Kategorie. Dabei wird die Reihenfolge über den Wert 1-5 gewählt.
upload_2018-7-19_10-40-21.png


Dieser Beitrag ist als Hilfestellung für andere zusehen als auch als Verbesserungsvorschlag für die Startseite des Shops.
Mein PHP ist etwas eingerostet deshalb will ich nochmal ausdrücklich darauf hinweisen, dass ich keine Garantie für dieses Script übernehme.
Mann kann die Anzahl der Slider noch erweitern, worauf ich aufgrund der Seitenladezeit jedoch verzichten würde.

- Marco
 
Zuletzt bearbeitet:
Ähnliche Themen
Titel Forum Antworten Datum
Neu HOME (Engl. Startseite) nicht editierbar (forbidden) - Bitte um Hilfe Gelöste Themen in diesem Bereich 7
Slider - Position auf der Startseite? Einrichtung JTL-Shop5 0
Neu Links der Startseite funktionieren nach Update mobil nicht Installation / Updates von JTL-Shop 1
Neu ein email formular auf startseite einbinden Allgemeine Fragen zu JTL-Shop 0
Neu Neues Plugin: Google Translate / Übersetzer (DSGVO-konform und weitere Features) Plugins für JTL-Shop 2
Neu Neues Plugin: Instagram-Feed Portlet (Als Galerie- oder Slideransicht und weitere Features) + 3x kostenlose Lizenzen Plugins für JTL-Shop 4
Neu In einen Portlet-Container im Frontend per Ajax Datennachladen (weitere anzeigen) Technische Fragen zu Plugins und Templates 1
In Diskussion Workflow wenn offene Rechnungen, dann weitere offene Aufträge sperren und im Kundensatz Sperrung setzten. JTL-Workflows - Ideen, Lob und Kritik 0
Neu Fehler bei Update von 1.5.55.8 auf jede weitere Version bis einschließlich 1.8.11.0 Gelöste Themen in diesem Bereich 3
Plattformname "weitere Verkaufskanäle" Otto.de - Anbindung (SCX) 4
SQL Abfrage via Ameise: Seriennummer u. weitere Daten JTL-Wawi 1.8 0
Artikel per Ameise mehreren Kategorien zuordnen - Artikeldatenimport in WaWi nicht mehr vorhanden JTL-Wawi 1.8 3
SQL Abfrage für verkaufte Artikel + aktueller Bestand JTL-Wawi 1.8 1
Neu Suche nur in Kategorien anstatt Artikel Allgemeine Fragen zu JTL-Shop 0
Nachträglich Zölle bei Artikel EK-Netto einpflegen JTL-Wawi 1.8 2
Neu Probleme mit Artikel Abgleich Shopware-Connector 2
Neu Variations Artikel mit Kindern automatisch Stücklisten zuweisen Arbeitsabläufe in JTL-Wawi 4
Neu Artikel von JTL mit Ebay verbinden in Easy Action Einrichtung und Installation von JTL-eazyAuction 2
Neu Artikel im Warenkorb wird von 1 auf null runtergesetzt. Anstatt es zu entfernen wird es automatisch wieder auf 1 gesetzt Allgemeine Fragen zu JTL-Shop 6
Neu Status: Artikel vergriffen andere Farbe geben Allgemeine Fragen zu JTL-Shop 0
Neu Export Gesamtpreis für Artikel mit Mindestabnahme Allgemeine Fragen zu JTL-Shop 0
Neu Shopping Feed übertragt nicht alle Artikel an Google Allgemeine Fragen zu JTL-Shop 2
Neu Artikel nach Übertragung von JTL auf geplant im Jahr 2030 WooCommerce-Connector 2
Neu 💙 Neues Plugin: Wunschzettel Plus (Wunschzettelauswahl direkt am Artikel) Plugins für JTL-Shop 0
Neu SW5 Artikel nachträglich Variantenartikel Shopware-Connector 4
Artikel als neu kennzeichnen JTL-Wawi 1.8 3
Artikel bei Conrad anlegen JTL-Wawi 1.8 0
Neu Überverkäufe aktiviert doch beim Artikel steht Ausverkauft JTL-Shop - Fehler und Bugs 1
Neu Amazon Varianten anlegen bei bestehendem Artikel Amazon-Anbindung - Fehler und Bugs 0
Neu Alles Artikel "unverkäuftlich" mit Urlaubshinweis JTL-Ameise - Ideen, Lob und Kritik 4
Neu Probleme mit Artikelzustand bei Ebay Laufene Artikel ändern Einrichtung und Installation von JTL-eazyAuction 4
Benutzerrechte - Artikel auf Einkaufsliste setzen JTL-Wawi 1.6 1
Neu Artikel kopieren / duplizieren Arbeitsabläufe in JTL-Wawi 4
Neu Bestimmte Artikel von JTL-Search ausschließen JTL-Search 0
WaWi Preisuntergrenze für Artikel festschreiben JTL-Wawi 1.7 4
Artikel Netto Preis von 4 Nachkommastellen auf 2 umstellen JTL-Wawi 1.7 5
Neu Artikel: Stückliste & Lieferant User helfen Usern - Fragen zu JTL-Wawi 1
Neu Zusatzkosten für Artikel Gelöste Themen in diesem Bereich 17
Neu Artikel wieder dem Vater zu ordnen User helfen Usern - Fragen zu JTL-Wawi 4
Datenbank-Abfrage per SQL nach Lagermenge pro Artikel & Warenbereich (WMSLager) JTL-Wawi 1.8 1
In Bearbeitung Artikel über csv-Datei bearbeiten und importieren Allgemeine Fragen zu JTL-POS 3
Workflow Artikel + Anzahl in Einkaufsliste aktualisieren JTL-Wawi 1.8 0
Neue angelegte Artikel ausverkauft - kein Erscheinen auf Bestellvorschlägen JTL-Wawi 1.6 1
Neu Sortierung von Artikel nach Preis absteigend Allgemeine Fragen zu JTL-Shop 4
Neu Artikel nicht pro Stk. sondern pro kg verkaufen User helfen Usern 2
In Diskussion Automatische Zuweisung der Kategorien für Artikel durch Workflow JTL-Workflows - Ideen, Lob und Kritik 3
Neu Verschiedene Artikel pro Lagerplatz beschränken JTL-WMS / JTL-Packtisch+ - Ideen, Lob und Kritik 0
Issue angelegt [WAWI-75449] Artikel duplizieren - ASIN wird nicht mit dupliziert. JTL-Wawi - Fehler und Bugs 1
Neu Bewertungen mittels Importtabelle auf andere Artikel übertragen User helfen Usern - Fragen zu JTL-Wawi 0
Neu Artikel mit Variationen? Allgemeine Fragen zu JTL-Shop 2

Ähnliche Themen