Varianten als Tabelle

Hi an alle,

ich habe das mit einem Modul gelöst, welche ich mir gebastelt habe.

Das Modul muss aber mit HTML & CSS angepasst werden.

Gruß
Ümit

Hi Ümit,

noch mal Danke für die Hilfe!

Frage:
Ich würde gerne das image der Variante in die Tabelle aufnehmen.
In der “\ad_variant\application\components\widgets\ad_variant_articledetails_ext.php”
habe ich die Funktion “getAttributes()” gefunden, deren Ergebnis iterativ in der “variantentable.tpl”
ausgegeben wird. ([{foreach from=$_product->getAttributes() item=oAttr name=attribute}])
Ich habe erfolglos versucht, herauszufinden, wie ich das Image abgreife. Hast Du einen Tipp?

Dank und Gruß
Michael

Hi Michael,

nichts zu danken.

Du kannst jederzeit die Debug Modus aktivieren in dem du z. B. in die Variantentabelle.tpl ganz oben den folgenden Code einfügst.

[{debug}]

Somit öffnet sich ein Popup-Fenster sobald du die Seite aktualisiert. Hier drin stehen alle Variablen die dir zur Verfügung stehen.

Dein Wunsch würde ich auf die schnelle wie folgt lösen:
[{foreach from=$products name=variants item=_product}] <tr class="productRaw_[{$smarty.foreach.attribute.iteration}]"> <td><img height="100" width="100" src="[{$_product->nossl_dimagedir}]/generated/product/1/540_340_75/[{$_product->oxarticles__oxpic1}]"></img></td> <td><a href="[{$_product->getLink()}]">[{$_product->oxarticles__oxartnum->value}]</a></td> [{foreach from=$_product->getAttributes() item=oAttr name=attribute}] <td id="attrValue_[{$smarty.foreach.attribute.iteration}]">[{$oAttr->oxattribute__oxvalue->value}]</td> [{/foreach}]

Das ist der Code welche das Bild einfügt:

`<td><img height="100" width="100" src="[{$_product->nossl_dimagedir}]/generated/product/1/540_340_75/[{$_product->oxarticles__oxpic1}]"></img></td>`

Ich hoffe, dass ich somit dir helfen konnte.

Vielleicht haben die anderen einen besseren Vorschlag :slight_smile:

Gruß
Ümit

Oder hier hast du eine bessere Lösung:

Füge den folgenden Code in ad_variant_articledetails_ext.php ein:

` public function getPictureUrl($iIndex = 1)
{
    if ($iIndex) {
        $sImgName = false;
        if (!$this->_isFieldEmpty("oxarticles__oxpic" . $iIndex)) {
            $sImgName = basename($this->{"oxarticles__oxpic$iIndex"}->value);
        }

        $sSize = $this->getConfig()->getConfigParam('aDetailImageSizes');

        return oxRegistry::get("oxPictureHandler")->getProductPicUrl("product/{$iIndex}/", $sImgName, $sSize, 'oxpic' . $iIndex);
    }
}

`

Jetzt kannst du in der Schleife wie folgt die URL des Images abrufen:

`[{$_product->getPictureUrl(1)}]`

Viel Spaß :slight_smile:

Gruß
Ümit

Hi, danke…

Ich kämpfe im Moment noch mit einem anderen Problem. Scheinbar funktioniert die Aktualisierung der Views nicht korrekt. Als ich gemerkt habe, dass das System Änderungen in der variantentable.tpl nicht übernimmt habe ich zum testen das modul vom Server genommen, die Views aktualisiert und den Cache vom Browser gelöscht. Die Tabelle wird aber noch immer angezeigt ?!

Hast ein Cache-System auf dem Server?

Hi,

lösch mal die Dateien die in tmp Ordner drin sind.

Gruß
Ümit

Hi Ümit,
ich habe mich mal wieder festgefahren… und wollte fragen, ob Du mir noch einmal mit Rat helfen kannst.
Wie kann ich die Reihenfolge beinflussen? Ich möchte z.B. nach “OXARTNUM” aufsteigen die Varianten ausgeben.

Dank und viele Grüße
Michael

ändere entsprechend die Sortierung im Backend in der Variantenübersicht

Hi vanilla_thunder, danke, natürlich würde die manuelle Sortierung auch gehen. Aber ich dachte eher an eine flexiblere Möglichkeit, die man über das Script/Template steuern könnte.
Gruß
Michael

Sortierung bei jedem Artikel einzeln vorzugeben ist doch viel flexibler als in einem einzigen Template die Sortierung für alle Produkte zu ändern.

Du hast natürlich recht, aber bei mehreren hundert Varianten könnte das schon mal aufwendiger werden :joy:

Man könnte mit einem SQL Befehl die Artikelnummer in das Feld der Position kopieren, sofern diese nummerisch ist. Sonst müsste man alle Buchstaben etc vorher rausfiltern

Danke für den Tipp. Ja, ich habe mich jetzt für einen ähnlichen Ansatz entschieden.

Hi Footballschlumpf, wir sind auch schon lange auf der Suche nach genau deiner Variantentabelle, könntest du uns deinen Code der Variantentabelle zukommen lassen oder diesen öffentlich stellen. Ich denke das hilft vielen anderen auch weiter.

Grüße Mario

Hi Mario, würde ich gerne machen, aber Ümit war so freundlich (s.o.), mir sein Modul zur Verfügung zu stellen, d.h. es ist seine Entwicklung und nicht meine.
Bzgl. der Sortierung habe ich das über den Import der CSV-Datei und dem Feld OXSORT gelöst.

Gruß
Michael

ok danke dir dann frag ich mal nett bei Ümit an

Hi Michael,

habe die Nachrichten erst jetzt gelesen.

Konntest du das schon lösen?

Gruß
Ümit

Hallo Jungs, ich habe ein kleines Modul für die Variantenliste (Oxid 6) gebastelt. Alle Varianten werden auf eine Tabelle dargestellt (siehe Anleitungsbild auf der Github Seite).

:slight_smile:

1 Like