php in smarty einbinden

Liebes Forum :slight_smile: wie ich herausgefunden habe konnte man früher durch das Tag {php} php-Code einfach in smarty-Templates verwenden. Das geht nicht mehr. Eigentlich schade. Jetzt muss man php wohl als Datei einbinden oder so. Aber wie macht man das genau? Ich habe folgenden Link gefunden: http://www.smarty.net/best_practices Es mag da erklärt sein, aber ich sage ganz ehrlich, obwohl ich das mehrere Male versucht habe durchzulesen - das ist mir zu kompliziert :frowning: :frowning: Kann mir jemand das bitte ein bisschen einfacher erklären? Vielleicht an einem einfachen Beispiel. Wie die php-Datei aussieht und wie es dann in smarty aussieht. Liebe Grüße

Hi, du solltest folgenden Hinweis beachten: [quote] Do not embed PHP! This is by far the biggest mistake with Smarty templates. […] Experience has revealed that directly embedding PHP is not only unnecessary, it creates more problems than it solves. [/quote] Beschreibe doch lieber was du vor hast und vielleicht können wir dir „richtig“ helfen. Viele Grüße

es mag ja unsauber sein, direkt php in das Template zu schreiben, aber um es mal zu testen ist es sicher kein Fehler. Die Möglichkeit auszuschalten empfinde ich richtig als Bevormundung. Wie dem auch sei, weiß jemand wie man php jetzt einbindet? Was ich vorhabe? Ich muss mich zunächst mal in shopware und die Programmierung einarbeitn. Insbesondere auch in php. Das konkrete Vorhaben kommt dann später. Liebe Grüße Kerstin

Hallo, Smarty dient zur Trennung der Geschäftslogik - das eigentliche Programm im Hintergrund - und der Präsentation der Ergebnisse des Programms. Mit diesem Verfahren ist es möglich, die Präsentation mit etwas Programmlogik zu versehen, um die Ergebnisse unterschiedliche darzustellen. Gleichzeitig wird verhindert, dass Sicherheitsmaßnahmen des Programms durch Unachtsamkeit oder fehlende Kenntnisse ausgehebelt werden. Gerade das ist mit php sehr schnell geschehen und durch die Sicherheitslücken könnte dann das gesamte System übernommen werden. Aus diesem Grund kann man keinen PHP-Ccde einfach so auf die Schnelle in das Template schreiben. Dann könnte man direkt auf Smarty verzichten und alle „Templates“ als PHP-Datei erstellen. Mit Smarty kann man „sorgenfreier“ an einem Template Änderungen vornehmen ohne alle möglichen Angriffsmechanismen zu kennen und zu berücksichtigen. Diese sollte man für die beiden folgenden Absätze allerdings kennen. Wenn man neben dem Standardbefehlssatz von Smaryte noch kleinere Zusätze benötigt, kann man sich sog. (Smarty)-Plugins schreiben, z. B. der Befehl {url …} bei Shopware. Das Vorgehen ist unter dem Link beschrieben. Einfacher geht es leider nicht. Möchte man Shopware selber um neue Programmbestandteile erweitern, sollte dies über das MVC-Modell von Shopware erfolgen und dort steht noch das Plugin-System von Shopware zur Verfügung. Viele Grüße HTH

Ich bleibe dabe, das ist eine Bevormundung (allerdings nicht von shopware, sondern von smarty). Jeder muss selbst wissen, ob er php in das Template schreiben will oder nicht. Für einen kurzen Test ist das auf jeden Fall gut. Und man kann den Code dann später ja auch auslagern. [quote]Wenn man neben dem Standardbefehlssatz von Smaryte noch kleinere Zusätze benötigt, kann man sich sog. (Smarty)-Plugins schreiben, z. B. der Befehl {url …} bei Shopware. Das Vorgehen ist unter dem Link beschrieben. [/quote] Welcher Link? [quote]Möchte man Shopware selber um neue Programmbestandteile erweitern, sollte dies über das MVC-Modell von Shopware erfolgen und dort steht noch das Plugin-System von Shopware zur Verfügung.[/quote] Und wo ist das dokumentiert? Kerstin

[quote=„Kerstin83“]Ich bleibe dabe, das ist eine Bevormundung (allerdings nicht von shopware, sondern von smarty). Jeder muss selbst wissen, ob er php in das Template schreiben will oder nicht. Für einen kurzen Test ist das auf jeden Fall gut. Und man kann den Code dann später ja auch auslagern.[/quote] Jein, Bevormundung ist schon nicht verkehrt … manche müssen halt zu Ihrem Glück gezwungen werden :wink: (ich schließe mich da selbst ein). So wird man angehalten Strukturen zu schaffen, die nachhaltig und langfristig wartbar sind.

Erklärungen zum MVC-Konzept und Beispielplugins für Shopware finden sich im Wiki: ganz oben die Buttons „Labs“ und „Hilfe“. Naürlich kann man auch die php-Dateien direkt editieren, wenn man es nicht updatesicher braucht. Smarty-Plugins: http://www.smarty.net/best_practices zusätzlich sollte man sich da noch die Integration in Shopware im Source ansehen. Meist dürfte aber der Shopware-Plugin-Ansatz sinnvoller sein. Wenn das alles zu kompliziert ist, geht es halt nicht. Ich kennen aber auch kein PHP-basierendes Shopsystem, das einfacher zu verstehen wäre. In die Bevormundungsdiskussion steige ich aber nicht mehr ein, das ist doch wirklich sinnlos. Viele Grüße HTH

Kann mir denn nicht jemand bitte bitte an einem einfachen Beispiel zeigen wie man einfachen php-Code in so ein Template kriegt? Der Link ist ja wirklich zum davonlaufen. Liebe Grüße Kerstin