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 JTL Shop 5.5.2 Startseite Breite ändern Allgemeine Fragen zu JTL-Shop 1
Neu Mehrsprachige Startseite mit /en/ URL-Struktur ohne doppelte OPC-Pflege. ie löst ihr das? Allgemeine Fragen zu JTL-Shop 1
Neu Startseite wird doppelt ausgegeben Templates für JTL-Shop 0
Neu SEO-Weiterleitung im Backend auf Startseite des Shops Umstieg auf JTL-Shop 2
Neu Weitere Sprache im JTL-Shop hinzufügen – Anleitung fehlt klare Struktur Allgemeine Fragen zu JTL-Shop 4
Artikel soll laut Wawi auf der Pickliste sein. Ist er er aber nicht. JTL-Wawi 1.9 0
Neu Lieferantenbestellung per CSV Import mit Ameise Artikel VPE JTL-Ameise - Fehler und Bugs 0
Neu Betreff: CMD-Import überspringt Artikel bei Bestandsüberschreibung - Über den GUI-Import keine Probleme JTL-Ameise - Fehler und Bugs 2
Neu Umsatzsteuer Versandkosten bei Mischwarenkorb (7% und 19% Artikel) JTL-Wawi - Fehler und Bugs 5
Artikel Dialog öffnet nicht (F2) nach update auf 1.10.13 JTL-Wawi 1.10 3
Probleme beim Import von eBay-Produkten in JTL – neue Artikel werden nicht übernommen eBay-Anbindung - Fehler und Bugs 5
Neu Sortierung Artikel Wawi - JTL Shop Allgemeine Fragen zu JTL-Shop 1
Neu Trigger wen Artikel online gehen User helfen Usern 8
Neu JTL WaWai Artikel aus Angebote von Plattformen Amazon+Otto erstellen Einrichtung und Installation von JTL-eazyAuction 0
Neu howto: "Rabatte irgnorieren" für einen Artikel per Ameise importieren, so dass in einem angeschlossenen POS dieser Artikel keine Rabatte bekommt User helfen Usern - Fragen zu JTL-Wawi 11
Neu Wie kann man einen Artikel auf einen bestehenden Artikel bei Amazon aufschalten? Amazon-Lister - Ideen, Lob und Kritik 2
Neu Stücklisten Artikel JTL-Wawi - Fehler und Bugs 3
Neu Artikel nicht verschiebbar User helfen Usern - Fragen zu JTL-Wawi 4
Neu Lieferzeiten für Dropshipping und eigene Artikel richtig in Shopware 6 bzw. Wawi anzeigen Schnittstellen Import / Export 1
Versandkostenstaffel nur für bestimmte Artikel zählen lassen? JTL-Wawi 1.9 1
Artikel Reiter "retail" (unser Name für JTL-POS) fehlt unter Sonderpreis JTL-Wawi 1.10 1
In Diskussion Artikel gehen nicht auf Einkaufsliste JTL-Workflows - Ideen, Lob und Kritik 2
Rabattierten Preis auf Artikel-Etikett ausweisen JTL-Wawi 1.10 3
JTL WaWi 2 Mandanten - B2B und B2C Artikel und Bestände automatisch abgleichen JTL-Wawi 1.6 3
Neu JTL Shopify Anbindung - Falscher Bruttopreis bei 7% Artikel, Grundpreise werden nicht übermittelt Shopify-Connector 3
Neu JTL-Shop: Anzeige der Artikel aus untergeordneten Kategorien Allgemeine Fragen zu JTL-Shop 2
Shop Anzeige Nicht lieferbare Artikel Einrichtung JTL-Shop5 0
Fehler in der JTL-Wawi-Anzeige, ob ein Artikel bereits einem Onlineshop zugeordnet wurde. JTL-Wawi 1.10 5
Summe Wert Artikel einer Marke JTL-Wawi 1.10 2
Neu Scheinbar willkürlicher Abgleich der Artikel WooCommerce-Connector 3
Neu Optionalen Artikel NUR über einen anderen Artikel kaufbar anbieten Arbeitsabläufe in JTL-Wawi 10
Eigene Felder Artikel auf Beleg Verkauf Auftrag ausdrucken JTL-Wawi 1.10 1
Neu Artikel vom Lieferanten einbinden User helfen Usern - Fragen zu JTL-Wawi 3
Neu Artikel automatisch einstellen - wie aktiviere ich dieses Feld? JTL-Wawi - Fehler und Bugs 4
Neu Artikel z.B. mit Rabattcode für 0€ verkaufen. Allgemeine Fragen zu JTL-Shop 4
Neu Artikel Filter laufende eBay Angebot funktioniert nicht - SQL Abfrage User helfen Usern - Fragen zu JTL-Wawi 3
Neu Deaktiviertung eines Var-Kindes löscht den ganzen Artikel im Shop PrestaShop-Connector 0
Artikel werden nicht gelistet - Status Wartet auf Hochladen - seit einer Woche kaufland.de - Anbindung (SCX) 3
Das Hinzufügen von Seriennummern zu einem Artikel ist nicht möglich JTL-Wawi 1.10 6
Neu Seit 5.5.0: Manchmal plötzlich kein Checkout mehr möglich "Artikel vergriffen..." Meldung für gesamte Sortiment JTL-Shop - Fehler und Bugs 2
Neu Export der Artikel - Fehler beim Export!? JTL-POS - Fehler und Bugs 0
Neu Einen Puffer, dass Artikel im Shop nicht auf "ausverkauft" gehen? JTL-Wawi - Ideen, Lob und Kritik 4
Neu easyCredit nicht im Artikel sichtbar Plugins für JTL-Shop 1
Nach Update > Artikel > Lieferanten friert ein JTL-Wawi 1.10 3
Nach Update - JTL Artikel Fehlerhaft JTL-Wawi 1.10 5
Neu Gewinn pro Artikel mit SQL exportieren. User helfen Usern - Fragen zu JTL-Wawi 2
Artikel Mindest Bestand und Maximal Bestand kaufland.de - Anbindung (SCX) 0
Fehlermeldung nach Auswahl eines Filters in der Kategorie- / Artikel-ansicht JTL-Wawi 1.10 0
Neu Anzeigegröße Artikel und Artikelübersicht Allgemeine Fragen zu JTL-Shop 0
Neu Druckvorlage Artikel Etikett Bilder 1, 2, 3 - auch Ausgabeweg POS - beliebig Bilder in jeder Vorlage aus Datenbank zeigen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0

Ähnliche Themen