Neu Name der Warengruppe am Artikel anzeigen

rote-locke

Gut bekanntes Mitglied
9. Dezember 2011
303
8
Hallo Forum,

ich möchte den Namen der Warengruppe (nicht Kategorie) am Artikel anzeigen lassen - genauer einen Teil daraus, da hier in der WAWI ein Fremdschlüssel hinterlegt ist.
Die Variable für die interne Warengruppen-ID lautet: "kWarengruppe" also bekomme ich die Zahl über {$Artikel->kWarengruppe} aber wie komme ich an den Namen? Wird der überhaupt aus der WAWI zum Shop übertragen?

Frage bezieht sich auf Shop5 NOVA Template

Vielen Dank.
 
Zuletzt bearbeitet:

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
1.359
340
Halle (Saale)
Die Namen sollten in der Tablle twarengruppe stehen. Du wirst da aber nicht drum herum kommen, selber SQL zu schreiben.

Code:
select * FROM twarengruppe;
+--------------+-----------------+
| kWarengruppe | cName           |
+--------------+-----------------+
|            1 | essbar          |
|            2 | nicht essbar    |
|            3 | Kosmetik        |
|            4 | Sportbekleidung |
|            5 | Sportgeräte     |
|            6 | Elektronik      |
|            7 | Ernährung       |
+--------------+-----------------+
 

rote-locke

Gut bekanntes Mitglied
9. Dezember 2011
303
8
Danke für die Rückmeldung. SQL-Abfrage werde ich irgendwie hinbekommen, war mir nur erst mal unsicher, ob der Name überhaupt zum Shop übertragen wird.
 

rote-locke

Gut bekanntes Mitglied
9. Dezember 2011
303
8
@FMoche
Habe mal den Guide durchgesehen und etwas im Forum gesucht. Sehe ich das so als Ansatz für das NOVA Template richtig:
  • NOVAChild Template besteht bereits, bisher aber nur Erweiterung einiger TPL-Blocks
  • In der Bootsrap.php muss eine Funktion erstellt werden, die auf Basis der übergebenen kWarengruppe per SQL-Abfrage den Namen findet.
  • Diese Funktion dann in der entsprechenden TPL-Datei aufrufen/auslesen?
Gibt es da eine aktuellere/bessere Dokumentation als das hier: https://jtl-devguide.readthedocs.io/projects/jtl-shop/de/latest/shop_templates/index.html
Das scheint sich alles eher auf das EVO Template zu beziehen.
 

rote-locke

Gut bekanntes Mitglied
9. Dezember 2011
303
8
Habe inzwischen unter Tips&Tricks das Beispiel für die getPI-Funktion gefunden und mich daran orientiert.

Was schon mal klappt ist eine Funktion in der Bootstrap.php zu integrieren und dieser den Wert für kWarengruppe mitzugeben. Ich kann also am Artikel z.B. die ID wieder ausgeben.
Leider scheitere ich aber jetzt doch noch am SQL-Aufruf welcher die ID auf den Namen mappen sollte.
So sieht die Bootstrap.php bisher aus, stimmt der Befehl zum Verbindungsaufbau überhaupt so an dieser Stelle?

Code:
<?php declare(strict_types=1);

namespace Template\NOVAChild;
use Smarty;

/**
 * Class Bootstrap
 * @package Template\NOVAChild
 */
class Bootstrap extends \Template\NOVA\Bootstrap
{
    /**
     * @inheritdoc
     */
    public function boot(): void
    {
        parent::boot();
        // whatever you do, always call parent::boot() or delete this method!
        try {
            $this->getSmarty()->registerPlugin(Smarty::PLUGIN_FUNCTION, 'getWarengruppenname', [$this, 'getWarengruppenname']);
        } catch (\SmartyException $e) {
            throw new \RuntimeException('Problems during smarty instantiation: ' . $e->getMessage());
        }
    }

    protected function registerPlugins(): void
    {
        parent::registerPlugins();
        // whatever you do, always call parent::registerPlugins() or delete this method!
       
    }
   
    public function getWarengruppenname($id)
    {
        $nummer = $id['ID'];
        $warengruppe = $GLOBALS['DB']->executeQuery('SELECT cName FROM twarengruppe WHERE kWarengruppe = $nummer');

        return $warengruppe;
    }
}
 

FMoche

Moderator
Mitarbeiter
15. Dezember 2014
1.359
340
Halle (Saale)
Das hier wäre ein Beispiel für die Bootstrap.php zur Integration ins Childtemplate:
Code:
<?php declare(strict_types=1);

namespace Template\NOVAChild;

use JTL\DB\ReturnType;
use JTL\Smarty\JTLSmarty;

/**
 * Class Bootstrap
 * @package Template\NOVAChild
 */
class Bootstrap extends \Template\NOVA\Bootstrap
{
    /**
     * @inheritdoc
     */
    public function boot(): void
    {
        parent::boot();
        // whatever you do, always call parent::boot() or delete this method!
    }

    protected function registerPlugins(): void
    {
        parent::registerPlugins();
        $this->getSmarty()->registerPlugin(JTLSmarty::PLUGIN_FUNCTION, 'wgname', [$this, 'getWgName']);
    }

    /**
     * @param array $params
     * @param JTLSmarty $smarty
     * @return string|void
     */
    public function getWgName($params, $smarty)
    {
        if (isset($params['id'])) {
            $all = $this->getDB()->query('SELECT * FROM twarengruppe', ReturnType::ARRAY_OF_OBJECTS);
            foreach ($all as $item) {
                if ((int)$params['id'] === (int)$item->kWarengruppe) {
                    if (isset($params['assign'])) {
                        $smarty->assign($params['assign'], $item->cName);
                        break;
                    } else {
                        return $item->cName;
                    }
                }
            }
        }
    }
}

Wenn dein ChildTemplate nicht "NOVAChild" heißt, jeweils alle Vorkommen von "NOVAChild" durch deinen Template-Namen ersetzen.

Das würde jetzt die Smarty-Funktion "wgname" definieren, die du dann im Template so aufrufen kannst:
{wgname id=6} // gibt den Namen direkt aus
{wgname id=3 assign='myVarName'} // gibt nichts aus, sondern assignt den Namen der Gruppe der Smartyvariablen $myVarName
 

rote-locke

Gut bekanntes Mitglied
9. Dezember 2011
303
8
Vielen Dank für das Beispiel. Leider bekomme ich das so nicht zum Laufen. Die Ausgabe ist immer leer, egal ob direkte Ausgabe oder über eine Variable.

ChildTemplate heißt NOVAChild (auch auf Groß-/Kleinschreibung geachtet), es wird auch kein Fehler generiert, sondern das Feld bleibt einfach leer.
Ich verstehe zwar die Funktion selbst, aber der Rest der Datei erschließt sich mir noch nicht so richtigt.

So sieht mein Aufruf für deine Bootstrap.php in der Template-Datei aus:
Code:
<span>{wgname id=($Artikel->kWarengruppe)}</span>

Auch wenn ich dort mit einer Zahl als id teste, ist das Ergebnis ein leerer <span>
 

rote-locke

Gut bekanntes Mitglied
9. Dezember 2011
303
8
Ha! Ja, die gibt es. Aber leider nur eine Handvoll, wo es eigentlich ein paar hundert hätten sein sollten. Es scheint als würde diese Tabelle beim Abgleich nicht vollständig gefüllt. Ist das ein Bug oder so gewollt?

EDIT: Die bestehenden Einträge sind darüber hinaus alle bis auf einen falsch. Hier scheint tatsächlich ein Fehler vorzuliegen. Ich versuche mal eine Komplettabgleich zum Shop zu machen.

EDIT2: Habe nochmal mit einem Eintrag getestet der definitiv in der Tabelle steht, hier funktioniert es erwartungsgemäß einwandfrei - dafür schon mal vielen Dank. Aber die Übertragung der Warengruppen zum Shop scheint definitiv einen Fehler zu haben.
 
Zuletzt bearbeitet:

rote-locke

Gut bekanntes Mitglied
9. Dezember 2011
303
8
Ein Komplettabgleich hat jetzt die Einträge vervollständigt.

Ein normaler Abgleich ändert an der Tabelle aber nichts, egal ob neu hinzugefügte oder geänderte Warengruppe. Ich denke, das sollte geprüft werden. Eine neu hinzugekommene oder geänderte Warengruppe sollte beim Shopabgleich mit übertragen werden.

EDIT: ich habe dazu gerade eine Ticket erstellt.
 
Zuletzt bearbeitet:
Ähnliche Themen
Titel Forum Antworten Datum
Neu PayPal Checkout: Kunden verwirrt wegen Zahlungsart Name Plugins für JTL-Shop 0
Neu Fehlermeldung bei Installation (Warning: Cannot declare class Event, because the name is already in use ) Installation / Updates von JTL-Shop 0
Neu Vorlage hat im Standard die Variable SalesQuotationPositionConfiguration.Name die nicht funktioniert Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu Wunschzettel Name verleitet zum Missbrauch JTL-Shop - Fehler und Bugs 0
Wunschzettel Name verleitet zum Missbrauch Einrichtung JTL-Shop5 5
Neu Block Name= Selector und Modifikator Variable Technische Fragen zu Plugins und Templates 1
Neu Gravierender Fehler in der Shop Software Betrieb / Pflege von JTL-Shop 1
Neu Packtisch: In der Liste der Aufträge neue Feld-Spalte mit Spalteneditor hinzufügen Arbeitsabläufe in JTL-WMS / JTL-Packtisch+ 0
Neu Workflow der bei Stücklisten: Überverkäufe de-/aktivieren User helfen Usern - Fragen zu JTL-Wawi 11
Wo befindet sich das Feld mit der Information für "Zustandsbeschreibung" auf Ebay? JTL-Wawi 1.8 9
Neu Nach Umstellung auf WMS Probleme mit der JTL Ameise Installation von JTL-WMS / JTL-Packtisch+ 0
Neu Vorschaubilder in der Artikeldetailseite werden nicht angezeigt Betrieb / Pflege von JTL-Shop 1
Neu Update des JTL shops aus der Wawi funktioniert nicht Allgemeine Fragen zu JTL-Shop 1
Neu EK-Netto der Verkäufe aus Datenbank ? User helfen Usern - Fragen zu JTL-Wawi 5
Neu Shopify Erhöhung der Varianten von 100 auf 2000 - Connector App Problem Shopify-Connector 1
Fehler beim Rendering der Attribute bei SCX Abgleich kaufland.de - Anbindung (SCX) 1
Neu Eigene Felder des Auftrages in der Druckvorlage Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Neu klare Warnung vor den Bausteinen und der PDF in Vorlagen User helfen Usern - Fragen zu JTL-Wawi 4
Neu Folgendes fehlt seit Mai 23 auf der Rechnung: "Versanddatum: Ist gleich dem Rechnungsdatum." Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 4
Workflow MwSt.-Sätze ersetzen 0% -> 19% ändert netto in Positionen aber nicht in der Auftragssumme JTL-Wawi 1.7 2
Neu Menüleiste wird plötzlich in der Mitte von der Seite angezeigt Allgemeine Fragen zu JTL-Shop 0
Neu SEO URL der Kategorien wird nicht an Shopware 6 übertragen Shopware-Connector 0
Neu Formatierung der Spalte Rabatt Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 5
In Diskussion Automatische Zuweisung der Kategorien für Artikel durch Workflow JTL-Workflows - Ideen, Lob und Kritik 3
Neu Vorlagen: Formel um Textfeld nur auf der letzten Seite der Rechnung darzustellen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 2
Neu Angabe der wesentlichen Eigenschaften der Ware im Checkout Allgemeine Fragen zu JTL-Shop 11
Slider - Position auf der Startseite? Einrichtung JTL-Shop5 0
Gelöst Packtisch+ 1.8.112 : Rechnung wird bei Teillieferung erzeugt, obwohl als Ausführungsbedingung "Nur bei der letzten Teillieferung" ausgewählt ist. JTL-WMS / JTL-Packtisch+ - Fehler und Bugs 2
Speicherort der Seriennummern zu Auftragsposition in der Datenbank ? JTL-Wawi 1.8 2
Export der Einstellungen im admin Einrichtung JTL-Shop5 2
Beantwortet #GEFUNDEN# Suche jemand , der uns eine (automatische) SQL Abfrage erstellen kann mit Mail Ausgabe Dienstleistung, Jobs und Ähnliches 2
Neu Bestände von der Wawi mit ebay abgleichen User helfen Usern - Fragen zu JTL-Wawi 2
Fehlermeldung nach Speichern vom Auftrag in der Wawi JTL-Wawi 1.6 5
Neu Erstinstallation JTL WaWi 1.8.12 - heruntergeladen wird SQL Express 2017 _statt_ der empfohlenen 2022 Version Installation von JTL-Wawi 8
Auftragsimport über eBay - Bezeichnung der Versandart auf der Rechnung leer JTL-Wawi 1.8 1
In Bearbeitung JTL POS in der JTL-WaWi-Cloud Allgemeine Fragen zu JTL-POS 2
Neu Suchen Mitarbeiter für 40h Festanstellung gern auch 100% Homeoffice für Produkt und Kategorie Pflege mit der Wawi Dienstleistung, Jobs und Ähnliches 0
Neu Bestände der einzelnen Lager weichen von den reellen Beständen willkürlich ab JTL-Shop - Fehler und Bugs 7
Neu Export nach Vorgabe der Artikelnummern JTL Ameise - Eigene Exporte 5
Neu Wenn Rabatt als Zeile auf Rechnung steht, fliegt der Gesamtwert weg.. Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 0
Neu jtl wawi Versanddatenexport Originalmeldung: In der Sendung trat mindestens ein harter Fehler auf. Code: 1101 Schnittstellen Import / Export 2
Neu Versandetikett von der Merchant FFN JTL an die Fulfiller FFN JTL übertragen? Richtiger Weg? User helfen Usern - Fragen zu JTL-Wawi 0
Neu NEU ✔️ PDF-Angebots-Plugin für den JTL-Shop 5 - PDF Angebote von der Produktseite oder aus dem Warenkorb heraus generieren B2C / B2B Plugins für JTL-Shop 5
Neu Variationskombinationen in der Sitemap Allgemeine Fragen zu JTL-Shop 5
[JTL-WAWI API] CaseSensitiv in der Create Sales Order JTL-Wawi 1.8 0
Neu Link Farbe im Header sowie Abstand der Box im Footer anpassen Allgemeine Fragen zu JTL-Shop 1
Neu SQL Ausgabe der Varko-Auswahl eines Artikels, mehrsprachig Tabelle zwei mal auf sich Joinen? User helfen Usern - Fragen zu JTL-Wawi 5
Neu Links der Startseite funktionieren nach Update mobil nicht Installation / Updates von JTL-Shop 1
Neu Mögliche steuerrechtliche Verstöße beim Nutzen der JTL Druckvorlagen Druck-/ E-Mail-/ Exportvorlagen in JTL-Wawi 4
Verkaufseinheit der Kinder JTL-Wawi 1.8 7

Ähnliche Themen