Alle Versandarten für ein Produkt anzeigen

Hallo Gemeinde,

da ich erst vor kurzen damit angefangen habe mich mit OXID zu beschäftigen, habe ich leider noch so meine Defizite und bräuchte etwas Hilfe.

Da ich neben einer Standard-Versandart noch eine Expressversandart verwenden will, möchte ich dies gleich bei der Produktdetailseite anzeigen lassen. So soll der Kunde gleich erkennen können, dass dieser Artikel auch per Express versendet werden kann. Ich dachte, dies könnte ich auch in der normalen Produktbeschreibung unterbringen. Hat jemand einen Ansatz für mich?

Ferner ist mir noch was aufgefallen, was ich allerdings schon behoben habe. Bei dem Bestellschritt 3, wenn alle verfügbaren Zahlungsarten angezeigt werden, wurde bei Lastschrift und COD der Abschlag bzw. Aufschlag für die Zahlungsweise nicht in Klammern angezeigt.Bei Rechnung und Vorkasse hingegen schon. Ist das Absicht oder ein Bug?

Vielen Dank schon Mal für eure Antworten.

LG nova

Ok, hab es hinbekommen. Trotzdem danke an all jene, die sich die Zeit genommen haben, den Beitrag zu lesen:-)

gerne - jederzeit wieder! :slight_smile:

Da es offensichtlich niemand wusste (und deshalb nichts geantwortet hat) - könntest Du Deine Lösung beschreiben? Für den nächsten Suchenden?

Gerne, bei der Gelegenheit, kannst du ja gerne mal ein Feedback abgeben und eventuell Verbesserungsvorschläge mit einfließen lassen:-)

Zuerst habe ich mir in der oxarticle.php eine neue Funktion angelegt, die prüft ob der nötige Eintrag in der Datenbank vorhanden ist.


public function getExpressDelivery( )
    {
		$artikelID = $this->oxarticles__oxid->value;
		
         // Eintrag vorhanden?
        $sSql = "SELECT * FROM `oxobject2delivery` WHERE OXOBJECTID='" . $artikelID . "' AND OXDELIVERYID ='5d7749495367253db8b2a184379074e6' AND OXTYPE='oxarticles' ";

        $oDB = oxDb::getDb( true );
        $rs = $oDB->execute( $sSql );

        if ($rs != false && $rs->recordCount() > 0) {
			$test =true;
		} else {
			$test =false;
		}

        return $test;
    }

Dann in der productmain.tpl an gewünschter Stelle eingefügt.


        [{* EXPRESS ITEM *}]
        [{block name="express_delivery"}]
            [{oxhasrights ident="EXPRESSDELIVERY"}]
                [{if $oDetailsProduct->getExpressDelivery()}]
                    <div class="shortDescription description" id="productShortdesc" itemprop="description">Japp, dat ist ein Express Artikel</div>
                [{/if}]
            [{/oxhasrights}]
        [{/block}]

Funktioniert soweit perfekt und ich konnte noch keine Fehler feststellen.

Danke - für ein technisches Review bin ich zuwenig Coder, sieht aber schonmal logisch aus auf den ersten Blick!

Abgesehen davon, dass man nicht im core direkt rumschrauben sollte (-> Updatesicherheit!!!), sondern besser über ein Modul gehen sollte, ist mir so erstmal nichts aufgefallen.

Danke für dein Feedback.

Ich werde mal versuchen deinen Ratschlag zu beherzigen und das ganze in ein Modul zu packen. Dazu muss ich mir aber erstmal die Doku etwas genauer vornehmen.