Modul für Preisbadges

Hallo Leute,

habe mal eine Frage.
Wahrscheinlich übersehe ich mal wieder was aber im Moment komme ich einfach nicht drauf wo mein Fehler liegt.

Ich habe ein Modul programmiert, welches einem die Möglichkeit bietet Preisbadges anzeigen zu lassen. Wer sich nichts darunter vorstellen kann: Grafiken, welche neben dem Preis stehen und aussehen wie ein Stempel… z.B. “JETZT NEU” u.ä.

Über ein zusätzliches Selectfeld kann eine Grafik ausgewählt werden. Die ausgewählte Option wird dann in die Datenbank gespeichert. Hierzu habe ich ein Feld “oxpricebadge” in oxarticles angelegt.

Auswahl und abspeichern in die Datenbank funktioniert. Der Wert wird in das dafür vorgesehene Feld gespeichert. Es scheint ein Problem mit dem Auslesen des Wertes im Frontend zu geben, dann rufe ich im Frontend “$product->oxarticles__oxpricebadge” ab, bekomme ich “null” zurückgeliefert, dabei ist in der Datenbank doch ein Wert abgespeichert.

  • Cach habe ich gelöscht
  • Datenbank views sind auch aktualisiert

Ein [{debug}] im Template zeigt auch, dass für “oxarticles__oxpricebadge” -> “null” zurückgeliefert wird.

Mir stellt sich jetzt die Frage warum der Wert nicht ausgelesen wird ?

Danke schonmal im Vorraus !

Hier noch etwas Quellcode falls das hilft :slight_smile:

Erweiterung im Template:


<select class="editinput" name="editval[oxarticles__oxpricebadge]" [{ $readonly }]>
                        <option value="norm" selected>[{oxmultilang ident="ARTICLE_BADGE_NORMAL"}]</option>
                        <option value="new" [{if $edit->oxarticles__oxpricebadge == 'new'}]selected[{/if}]>[{oxmultilang ident="ARTICLE_BADGE_NEW"}]</option>
                        <option value="percent" [{if $edit->oxarticles__oxpricebadge == 'percent'}]selected[{/if}]>[{oxmultilang ident="ARTICLE_BADGE_PERCENT"}]</option>
                        <option value="topten" [{if $edit->oxarticles__oxpricebadge == 'topten'}]selected[{/if}]>[{oxmultilang ident="ARTICLE_BADGE_TOPTEN"}]</option>
                        <option value="tipp" [{if $edit->oxarticles__oxpricebadge == 'tipp'}]selected[{/if}]>[{oxmultilang ident="ARTICLE_BADGE_TIPP"}]</option>
                        <option value="only" [{if $edit->oxarticles__oxpricebadge == 'only'}]selected[{/if}]>[{oxmultilang ident="ARTICLE_BADGE_ONLY"}]</option>
                    </select>

Erweiterung in admin/article_main.php


    protected $str_Template = '../../../modules/nfc_addBadges/out/admin/tpl/addBadges.tpl';

   public function render()
   {
        --------standard quellcode------
   
        return $this->str_Template;
   }

Gespeichert wird das neue Selectfeld über die Standardfunktionen in article_main.php.
Die Ausgabe müsste doch eigentlich funktionieren ohne einen getter in oxarticles zu definieren, oder ?