1. Home
  2. Dokumente
  3. Plugin „Ladenhüter ...
  4. Plugin-Konfiguration
  5. Erweiterung um individuelle Felder und Filter

Erweiterung um individuelle Felder und Filter

Seit Version 1.1.0 ist es möglich, die Statistiken um individuelle Felder zu erweitern. Grundsätzlich wird die Erweiterung dabei in zwei Schritte unterteilt:

  1. Erweiterung der Datenbank-Tabelle des Plugins (im Standard ‚coe_bad_sellers‘) um die entsprechenden Felder.
  2. Anpassung / Konfiguration der neuen Felder mittels der PHP-Dateien im Ordner „../coe_bad_sellers/customization“

Die folgenden Erläuterungen zeigen die Erweiterung der Statistik um das Feld „Mindesthaltbarkeitsdatum (MHD)“. Wir gehen daher davon aus, dass für jeden Artikel das zusätzliche Feld „products_mhd_date“ angelegt wurde (vgl. Dokumentation von xt-commerce), sodass für jeden Artikel das Mindesthaltbarkeitsdatum angegeben werden kann.

Nun soll das Plugin um diese Statistik erweitert werden.

Schritt 1):
Fügen Sie zunächst die zusätzliche Spalte „products_mhd“ in die Tabelle ‚coe_bad_sellers‘ des Plugins ein. Der Typ ist hierbei „Datetime“, da es sich um ein Datumswert handeln soll.

Wenn Sie nun die Statistikseite aufrufen, wird das zusätzliche Feld bereits angezeigt, allerdings noch ohne Werte und auch ohne Filtermöglichkeit.

Schritt 2):
Es sind die PHP-Dateien im Ordner „../coe_bad_sellers/customization“ gemäß Ihren Bedürfnissen anzupassen. Aktivieren Sie die Dateien (sofern noch nicht geschehen), indem Sie die Dateiendung auf .php ändern (Entfernen von .BAK).

Datei „coe_bad_sellers_customFields.php“:
Hier werden die Felder konfiguriert. Der Aufbau der Datei ist selbsterklärend – im Array „$customFields“ werden die neuen Tabellenspalten (vgl. Schritt 1) definiert/konfiguriert. Wichtig ist hierbei, dass für jedes zusätzliche Feld, welches Sie in Schritt 1) angelegt haben ein entsprechender Eintrag existiert und der Wert ‚db_column‘ exakt mit dem Spaltennamen übereinstimmt (in unserem Beispiel ‚db_column‘ => ‚products_mhd‘)

Datei „coe_bad_sellers_customStats.php“:
Hier wird für jedes neue Feld (vgl. Schritt 1) definiert, wie die Statistik / der Wert sich berechnet. In der Logik sind Sie vollkommen frei – wichtig ist, dass für jedes neue Feld eine Berechnung angegeben wird und das Array „$p_stats“ geschrieben wird. Der Feldname muss dabei exakt mit dem Wert „column_name“ aus der Datei „coe_bad_sellers_customFields.php“ übereinstimmen.

In unserem Fall lautet die Angabe daher

$p_stats[‚MHD‘] = … (da ‘column_name‘ => ‚MHD‘ in „coe_bad_sellers_customFields.php“).

Wie zu sehen, wird in unserem Beispiel einfach das MHD („products_mhd_Date“) aus der Products-Tabelle abgefragt. Dieses wurde wie erläutert zuvor natürlich angelegt.

Sie können hier beliebige Berechnungen, Abfragen etc. vornehmen, um den Wert für das Feld jeweils zu ermitteln. Dieser wird dann jedem Produkt entsprechend zugeordnet und in die Statistik aufgenommen.

Datei „coe_bad_sellers_formatStats.php“:
Die Änderungen dieser Datei sind optional, d. h. nicht zwingend erforderlich. Sie haben hier die Möglichkeit die Werte (welche mittels der Statistik / Angabe in coe_bad_sellers_customStats.php ermittelt bzw. berechnet werden) zu formatieren. Dies ist insbesondere bei Dezimalzahlen zu empfehlen, bspw. um auf zwei Nachkommastellen zu runden.

Hier wird für jedes neue Feld (vgl. Schritt 1) definiert, wie die Statistik / der Wert sich berechnet. In der Logik sind Sie vollkommen frei – wichtig ist, dass für jedes neue Feld eine Berechnung angegeben wird und das Array „$p_stats“ geschrieben wird. Der Feldname muss dabei exakt mit dem Wert „column_name“ aus der Datei „coe_bad_sellers_customFields.php“ übereinstimmen.

In unserem Fall lautet die Angabe daher

$p_stats[‚MHD‘] = … (da ‘column_name‘ => ‚MHD‘ in „coe_bad_sellers_customFields.php“).

Sind alle Anpassungen vorgenommen, so wird das neue Feld “MHD” in der Statistik für jeden Artikel angezeigt. Zudem kann nun nach diesem Feld gefiltert und sortiert werden.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert