Neu Probleme mit Spezialseiten / Links von einem Plugin

Toskan

Neues Mitglied
28. August 2019
24
1
hallo

Also ich wollte eine eigene Startseite definieren via plugin. Mir ist nicht klar, wie ich das machen soll

e.g. wie kann ich die startseite maximal customizen? Oder, ein bischen customizen?

Abgesehen davon, habe ich erhebliche Probleme mit dem example plugin und den example pages

https://gitlab.com/jtl-software/jtl-shop/legacy-plugins/jtl_example_plugin

ist das vielleicht die falsche Version? Für shop 4 muss es das hier sein? https://gitlab.com/jtl-software/jtl-shop/plugins/jtl_test ?
imho wenn alles überarbeitet wird, sollte alles per Version abgelegt werden. Auch die Plugins. Nicht einfach "legacy-plugins" und "plugins"
Version 5 ist ja in ein paar Jahren auch wieder "legacy-plugin" dann könnt ihr die Dokumentation wieder frisch überarbeiten.
Eine alternative wäre auch die Versionen in branches abzulegen und Tags zu erstellen...

Zurück zum Problem:

das "legacy" plugin jtl_example_plugin hat mit der beispiel Seite ExamplePage kurz funktioniert, also das schien das geladen zu haben wenn ich /ExamplePage aufrief

dann habe ich in info.xml allerdings frecherweise den Eintrag unter FrontendLink Link LinkLanguage geändert nämlich den <Seo> Eintrag und den <Name>
also der neue Name wurde nicht akzeptiert, damit meine ich, es funktionierte nicht. Trotz define('PLUGIN_DEV_MODE', true);

auch uninstall reinstall hat nicht funktioniert, also auch mit revert aller änderungen

die Fehlermeldung die ich kriege ist


Fatal error: Uncaught --> Smarty: Unable to load template 'extends:[frontend]|[plugin_jtl_example]|[plugin_jtl_debug]' in 'layout/index.tpl' <-- thrown in /var/www/html/testjtl.local/includes/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php on line 185
 

Toskan

Neues Mitglied
28. August 2019
24
1
so...
also die Ursache scheint zu sein, dass die Seiten nicht funktionieren wenn
define('PLUGIN_DEV_MODE', true);

aktiv ist

Sobald ich das auskommentiert habe, funktionierte es wieder...

¯\_(ツ)_/¯


wie ich eine startseite per plugin definiere, ist mir noch immer nicht klar
 

martinwolf

Offizieller Servicepartner
SPBanner
6. September 2012
3.162
191
Um die Startseite zu verändern, muss man kein Plugin schreiben. Inhaltlich definierst du die Startseite über die Inhaltsverwaltung der eigenen Seiten im Shop Admin. Templateseitig über layout/index.tpl. In meinen Augen versuchst Du gerade mit Kanonen auf Spatzen zu schießen und geht Wege die überflüssig und kompliziert sind.
 
  • Gefällt mir
Reaktionen: Toskan und FPrüfer

Toskan

Neues Mitglied
28. August 2019
24
1
besten Dank, das steht also nirgendwo in der Doku
das Ding mit index.tpl ist halt, dass es für viele Seiten verwendet wird. e.g. auch "über uns" etc

ich danke irgendwo kann man überprüfen, auf welcher Seite man ist und dann "if startseite" machen... gibts da einen geheimen Trick oder muss ich da meine eigene smarty extension schreiben?
 

martinwolf

Offizieller Servicepartner
SPBanner
6. September 2012
3.162
191
besten Dank, das steht also nirgendwo in der Doku
das Ding mit index.tpl ist halt, dass es für viele Seiten verwendet wird. e.g. auch "über uns" etc

ich danke irgendwo kann man überprüfen, auf welcher Seite man ist und dann "if startseite" machen... gibts da einen geheimen Trick oder muss ich da meine eigene smarty extension schreiben?
Ohne Dir auf die Füße treten zu wollen, aber von jemandem der sich ein Plugin entwickeln möchte, könnte man erwarten, dass er einfachen Smarty/HTML Code versteht und erkennt wie er diesen für seine Anforderungen anpassen kann. Das hat auch nichts speziell mit JTL zu tun.
 

Toskan

Neues Mitglied
28. August 2019
24
1
Hallo,

Geheime Tricks gibts nicht. ;) Die Smarty-Variable nSeitenTyp ist generell verfügbar und kann gegen die PAGE_XXX-Konstanten geprüft werden.
ach so, das ist also sehr hilfreich, vielen Dank.

Es ist also insofern etwas geheim, dass es nicht in den Docs vorkommt. Falls jemand später kommt: über JTL Debug kannst du die smarty variablen aktivieren (muss man glaube ich zuerst machen via Plugin Einstellungen).
Dann siehst du auch nSeitenTyp auf der Seite, ist halt eine Zahl aber das kannst ja nachschlagen mit den PAGE_XXX Konstanten.