nichessnichess MemberComments: 12 Received thanks: 0 Member since: December 2010 edited March 2012
Hallo,

beim Anfrage-Formular wird die Ordernumber (Bzw. Artikelnummer oder Bestellnummer) nicht mitgesendet. Dies macht die Zuordnung zum Produkt schwierig.

Da aber im Textfeld mit einem Standart-Text der Artikelname mit übergeben wird, dachte ich mir, dass ich unter Einstellungen/Textbausteine/forms fündig werden würde, und dort ein {$details.ordernumber} einfügen könnte.

Leider habe ich dort den besagten Text-Schnippsel nicht gefunden.

Wo könnte ich Ihn finden?


Beste Grüße

Comments

  • SebastianKlöpperSebastianKlöpper AdministratorsComments: 7196 Received thanks: 1674 Member since: June 2010
    Hi,

    also ausschlaggebend ist hier die Datei: engine/Shopware/Controllers/Frontend/Forms.php

    Schau mal in Zeile: 115

    Dort findest du:
    $element["value"] = $text;
    
    Das kann man schon durch folgendes ersetzen:
    $element["value"] = $text." - ".htmlspecialchars($this->Request()->sOrdernumber);
    
    Dadurch wird die Artikelnummer direkt an den Namen angehängt.
  • MichaelFMichaelF MemberComments: 55 Received thanks: 8 Member since: November 2010
    Super, klappt auch mit Konfigurator Artikeln, das macht das ganze leichter.
    Danke.:thumbup:

    Wie kann ich das auf weitere selbst angelegte Formulare übertragen?

    Sprich Artikelnummer/Name ins Textfeld übernehmen:

    Beispielsweise: "Ihre Anfrage zur Verfügbarkeit des Artikels "X" mit der Bestellnummer123"
    Thanked by 1E-RUPTION
  • E-RUPTIONE-RUPTION MemberComments: 15 Received thanks: 0 Member since: February 2011
    MichaelF wrote:
    Wie kann ich das auf weitere selbst angelegte Formulare übertragen?
    Sprich Artikelnummer/Name ins Textfeld übernehmen:
    Das würde mich btw, auch interessieren.
  • cgxcgx MemberComments: 109 Received thanks: 1 Member since: April 2011
    danke, das hab ich auch gerade gebraucht.

    (btw. bei meiner datei befindet sich der entsprechende code in zeile 141 - dürfte wohl zwischenzeitlich schon ein wenig erweitert worden sein.)
  • Arya_SvitkonaArya_Svitkona MemberComments: 102 Received thanks: 19 Member since: June 2015

    Hallo Zusammen,

    Darf ich fragen wie ich das in SW5 umsetze?
    Dies funktioniert da leider nicht.

    Beste Grüsse
    Arya_Svitkona

    image

     

     

    if ($element["name"] == "inquiry" && !empty($this->Request()->sInquiry)) {
        switch ($this->Request()->sInquiry) {
            case "basket":
                $text = Shopware()->Snippets()->getNamespace('frontend/detail/comment')->get('InquiryTextBasket');
                $getBasket = Shopware()->Modules()->Basket()->sGetBasket();
                //$text = ''; Fix 100363 / 5416 Thanks to H. Ronecker
                foreach ($getBasket["content"] as $basketRow) {
                    if (empty($basketRow["modus"])) {
                        $text .= "\n{$basketRow["quantity"]} x {$basketRow["articlename"]} ({$basketRow["ordernumber"]}) - {$basketRow["price"]} " . Shopware()->System()->sCurrency["currency"];
                    }
                }
                if (!empty($text)) {
                    $this->_elements[$id]["value"] = $text;
                    $element["value"] = $text." - ".htmlspecialchars($this->Request()->sOrdernumber);
                }
                break;
            case "detail":
                if ($this->Request()->getParam('sOrdernumber', null) !== null ) {
                    $getName = Shopware()->Modules()->Articles()->sGetArticleNameByOrderNumber($this->Request()->getParam('sOrdernumber'));
                    $text = Shopware()->Snippets()->getNamespace('frontend/detail/comment')->get('InquiryTextArticle');
                    $text .= " " . $getName;
                    $this->_elements[$id]["value"] = $text;
                    $element["value"] = $text." - ".htmlspecialchars($this->Request()->sOrdernumber);
                }
                break;
        }
    }
    

     

  • AltwerAltwer MemberComments: 13 Received thanks: 2 Member since: January 2016

    In Shopware 5 musst Du die Zeile 174 $element["value"] = $text; abändern in $element["value"] = $text." - ".htmlspecialchars($this->Request()->sOrdernumber);

    dann funktioniert es.

     

    Thanked by 1Arya_Svitkona
  • Arya_SvitkonaArya_Svitkona MemberComments: 102 Received thanks: 19 Member since: June 2015

    Hat nach dem kompilieren des Templates funktioniert :)
    Danke!

  • TannyTanny MemberComments: 647 Received thanks: 81 Member since: September 2014

    Das ist dann aber nicht update-sicher?

  • Arya_SvitkonaArya_Svitkona MemberComments: 102 Received thanks: 19 Member since: June 2015

    Ne, ist es nicht, das stimmt!
    Lässt sich jedoch sonst nur über ein Modul/Plugin lösen.

    Ich mache mir pro Projekt eine Liste mit "ACHTUNG: Punkten", welche ich bei einem Update zur Erinnerung rufe.

  • MSatlerMSatler MemberComments: 28 Received thanks: 2 Member since: June 2015

    Danke für den Lösungsansatz,

    die Möglichkeit die ordernumber mit einzubeziehen sollte meienr Meinung nach mit in den Standard.

    Ich werd ein Ticket erstellen.

     

    Gruß,

    MArkus Satler

Sign In or Register to comment.