Hallo, ich möchte Änderungen an Template-Dateien zunächst testen, bevor ich beginne sie live zu nutzen. Gibt es eine einfache Möglichkeit, Templates auf einer eigenen Seite (z.B. myshop.de/testpage) zu laden oder sie zumindest auf Smarty-Fehler zu prüfen?` Bisher habe ich unter „Shopseiten“ im Backend eine eigene Seite angelegt, weiß aber nicht, ob und wie dieser ein eigenes Template zugewiesen werden kann, sodass anstelle des regulären Templates für benutzedefinierte Seiten (ich vermute „frontend/custom/index.tpl“) das von mir gewünschte genutzt wird.
[quote=“pebe”]Hallo, ich möchte Änderungen an Template-Dateien zunächst testen, bevor ich beginne sie live zu nutzen. Gibt es eine einfache Möglichkeit, Templates auf einer eigenen Seite (z.B. myshop.de/testpage) zu laden oder sie zumindest auf Smarty-Fehler zu prüfen?` Bisher habe ich unter “Shopseiten” im Backend eine eigene Seite angelegt, weiß aber nicht, ob und wie dieser ein eigenes Template zugewiesen werden kann, sodass anstelle des regulären Templates für benutzedefinierte Seiten (ich vermute “frontend/custom/index.tpl”) das von mir gewünschte genutzt wird.[/quote] Hallo pebe, ich schon wieder. Ich nutze folgende Methoden: {if $smarty.get.debug == true} ... {/if}
Der Inhalt wird dann angezeigt, wenn ich folge URL aufrufen würde: http://www.shopsession.de/?debug=true Die URI wäre also: ?debug=true Du kannst ‘debug’ auch beliebig ersetzen. Eine noch bessere Methode ist die eigene IP abzufragen: {if $smarty.server.REMOTE\_ADDR == '123.45.567.89'} ... {/if}
Ich hoffe ich konnte dir helfen. Gruß
Danke für die Rückmeldung. Deine Methode setzt aber voraus, dass man am aktiv genutzten Template Änderungen vornimmt, oder? Damit würden Syntax-Fehler immer sofort das gesamte Template und damit die entsprechende Seite unbrauchbar machen. Kennst du keine Möglichkeit, eine wie von mir beschriebene “Testseite” innerhalb eines laufenden Systems aufzusetzen?
Einfach den Liveshop samt Datenbank in ein Unterverzeichnis Deiner lizensierten Domain kopieren. Wie das geht, wird im Forum beschrieben. Macht eh Sinn, dort dann auch Updates zu testen, bevor man sie in den Liveshop einspielt.
Shopdaten in einen Unterordner kopieren. Datenbank des Shops in eine neue, separate einspielen. Datenbankdaten in der config eintragen Cache Ordner durch einen frischen aus einem Installationsordner ersetzen. Unter Grundeinstellungen/Shops unter Pfad den /Unterordner eintragen.
Danke für die Antworten. Aber gibt es keine einfachere Möglichkeit?
Schnap dir doch einfach ein Freitextfeld und nutze das um dein eigenes Template zu laden. bspw. nutzt du das tpl. 1 Feld. Dort packste deinen template Namen rein. Dann sagst du in der custom/index.tpl if Freitextfeld XY lade template mit Namen aus Freitextfeld. Dann hast du dein eigenes Template und kannst auch in Ruhe testen Wobei man sowas ja eigentlich eh lokal macht, oder zumindest in jedem Fall nicht auf einer produktiven Seite
Das kommt aber auf so ziemlich das gleiche raus wie bei dem Vorschlag von Shopware Freelancer, oder? Aktuell nutze ich das hier: [code] {extends file=‘parent:frontend/custom/index.tpl’} {block name=‘frontend_index_content’ append} {if $smarty.get.debug == true}
{include file=“frontend/custom/test.tpl”}
{/if} {/block} [/code] Das entspricht in etwa deinem Vorschlag, nur dass ich anstelle der Template-Variable den Debug-Parameter verwende, oder? So kann ich eine beliebige "Custom"-Seite verwenden, in die bei gesetztem "debug"-Parameter das Template "test.tpl" geladen wird, indem sich dann der zu testende Inhalt befindet. Mein Problem ist dabei, dass "test.tpl" nicht die üblichen Variablen zur Verfügung stehen. Will ich beispielsweise ein "detail"-Template (Detailansicht eines Produktes) testen, benötige ich dafür die "$sArticle"-Variable.