Quantcast
Channel: Programmierung - Shopware Community Forum
Viewing all articles
Browse latest Browse all 2871

Bestehende Controller-Funktion überschreiben/anpassen

$
0
0

Hallo,

ich fange gerade erst mit Shopware an und komme nicht so recht vorran.
Ich möchte den Controller des Kontaktformulars bearbeiten und zwar würde ich gerne die Funktion replaceVariables (engine/Shopware/Controllers/Frontend/Forms.php)  updatesicher anpassen.
Hier möchte ich erst einmal einfach nur das Datumsformat ändern. Ich dachte mir eventuell den Controller zu Vererben und die Funktion zu überschreiben, bin mir aber nicht sicher ob das der richtige Weg ist und wie ich dem System sagen würde, dass es meinen Controller anstelle des Originalen aufrufen soll.

Hier ist eine mögliche Subklasse die ich erstellt habe:

<?php
class Shopware_Controllers_Frontend_FormsOwn extends Shopware_Controllers_Frontend_Forms
{
     /**
     * replaces placeholder variables
     * @param  string $content
     * @return string
     */
    private function replaceVariables($content)
    {
        foreach ($this->_postData as $key => $value) {
            if ($this->_elements[$key]['typ'] == "text2") {
                $names = explode(";", $this->_elements[$key]['name']);
                $content = str_replace("{sVars." . $names[0] . "}", $value[0], $content);
                $content = str_replace("{sVars." . $names[1] . "}", $value[1], $content);
            } else {
                $content = str_replace("{sVars." . $this->_elements[$key]['name'] . "}", $value, $content);
            }
        }

        $content = str_replace("{sIP}", $_SERVER['REMOTE_ADDR'], $content);
        $content = str_replace("{sDateTime}", date("d.m.Y H:i"), $content);
        $content = str_replace('{sShopname}', Shopware()->Config()->shopName, $content);

        return strip_tags($content);
    }

}
?>

Ich hoffe ihr könnt mir weiterhelfen und eventuell bessere/richtige Ansätze verraten.

 

Viele Grüße 

Glodi


Viewing all articles
Browse latest Browse all 2871

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>