Neu Startseite um weitere Artikel erweitern

marco3993

Aktives Mitglied
22. Dezember 2016
49
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
Beantwortet Herstellerslider auf Startseite entfernen Betrieb / Pflege von JTL-Shop 2
Neu Weitere Marktplätze über Sellercentral international Listing Amazon-Anbindung - Fehler und Bugs 1
weitere Angaben für eBay JTL-Wawi 1.11 1
Wichtig Connectorversion 2.1.3 - Kompatibilität zu Shopware 6.7.6.0 und weitere Performanceoptimierungen Shopware-Connector 5
Neu Artikel-Menü zurück Allgemeine Fragen zu JTL-Shop 1
JTL Artikel-Maske leer/verschoben (1.11.7) JTL-Wawi 1.11 2
Neu Ein Artikel in der Kategorie Allgemeine Fragen zu JTL-Shop 5
Neu nicht lieferbare Artikel aus Bestellung wieder auf die Einkaufsliste setzen ?! User helfen Usern - Fragen zu JTL-Wawi 1
Neu Streichpreise oder Rabatte für Staffelpreise von einem Artikel einrichten? Wie am Besten? JTL-Wawi 1.6 0
Neu Eigene Artikel Felder im JTL Shop anzeigen lassen User helfen Usern - Fragen zu JTL-Wawi 4
Neu Eigenes Feld aus Artikel in Artikeletikett ausgeben Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 3
Mobile Web-App für JTL-WaWi — Aufträge, Artikel & Lager direkt vom Smartphone JTL-Wawi App 0
Neu Artikel ändern Bilder erst, wenn alle Variationen gewählt wurden Allgemeine Fragen zu JTL-Shop 1
Auswertung welche Kunden kaufen welche Artikel in Zeitraum x JTL-Wawi 1.11 4
Artikel Wareneingang buchen mit anderer Währung? JTL-Wawi 1.10 0
Neu Artikel letzte 10 Versanddaten, sortiert nach Datum mit Plattform Eigene Übersichten in der JTL-Wawi 4
Neu Versandklasse im Checkout am Artikel anzeigen Allgemeine Fragen zu JTL-Shop 1
Kein Versenden-Button wenn "Artikel vor dem Verpacken bestätigen" aktiv JTL-Wawi 1.11 2
Neu Versandklassen für Kategorien / Unterkategorien bzw. Artikel im Warenkorb User helfen Usern - Fragen zu JTL-Wawi 0
OTTO Artikel Zuweisung nicht möglich (1.11.6) JTL-Wawi 1.11 0
Neu Artikel Rücknahme über Kassenbon von letzter Woche in JTL-Pos JTL-POS - Ideen, Lob und Kritik 2
Neu eBay Artikel kommen in WaWi sporadisch als "Angebotsnummer" ohne Text JTL-Wawi - Fehler und Bugs 1
Artikel Eigene Felder kommen nur beim ersten Shopabgleich in den JTL-Shop JTL-Wawi 1.11 2
Neu Abgleich erstellt neue Artikel aber ohne Bestand und Bestandsführung WooCommerce-Connector 2
Neu ebay Angebote Vorlagen im Artikel JTL Ameise - Eigene Exporte 0
Artikel erkennbar machen wenn nur als Dropshippimg zur Verfügung gestellt wird JTL-Wawi 1.10 5
Beantwortet Keine Ausgabe des Artikelnamens (Artikel.Bezeichnung) im Artikeletikett Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Workflow: Artikel geändert -> bat-script ausführen JTL-Wawi 1.11 2
Neu Erscheinungsdatum im Artikel aus Lieferdatum in Bestellung Arbeitsabläufe in JTL-Wawi 2
Artikel Verkaufskanal aktiv JTL-Wawi 1.10 5
Teilbare Artikel NICHT für Kunden, nur für intern teilbar JTL-Wawi 1.11 5
Neu Versichern höherwertiger Artikel User helfen Usern - Fragen zu JTL-Wawi 7
Neu Ebay Artikel mit Fehlern / Export eBay-Anbindung - Ideen, Lob und Kritik 3
Neu Artikel aus Shopware in der Wawi importieren und WMS redy machen Shopware-Connector 0
Neu Workflow Auslöser: Artikel gelöscht User helfen Usern - Fragen zu JTL-Wawi 0
Neu Fehler bei Artikel Filter in der Wawi JTL-Wawi - Fehler und Bugs 2
Neu JTL WMS Mobile Inventur es werden keine vorhandenen Artikel angezeigt JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 0
Import Artikel ohne Kategorie JTL-Wawi 1.11 1
Neu Dropshipping (Ausliefern) - Artikel nicht lieferbar // Euer Ablauf User helfen Usern - Fragen zu JTL-Wawi 5

Ähnliche Themen