Hilfe findet ihr hier
Um den Developer Mode in Gambio zu aktivieren, muss im Root-Verzeichnis des Shops eine Datei mit dem Namen .dev-environment
erstellt werden. Sobald dieser Modus aktiviert ist, können Entwickler im Browser-Inspektor mithilfe neu eingefügter Kommentare sehen, in welcher Datei und in welchem Block sich der inspizierte Code befindet. Zudem steht unten im Browserfenster ein PHP Debug Bar Plugin zur Verfügung, das zusätzliche Debugging-Informationen liefert.
Smarty bietet verschiedene Methoden, um den Inhalt und die Struktur von Template-Variablen zu überprüfen. Hier sind einige nützliche Funktionen und Techniken:
Das Einfügen des {debug}
-Tags in dein Template öffnet beim Laden der Seite ein Popup-Fenster, das alle verfügbaren Variablen und deren Werte anzeigt.
Beispiel:
{debug}
Platziere diesen Tag an einer beliebigen Stelle in deinem Template, vorzugsweise am Anfang oder an einer Stelle, an der du die aktuellen Variablen überprüfen möchtest.
Um den Inhalt von Smarty-Variablen direkt im Template zu überprüfen, kannst du die @dump
Funktion verwenden. Diese Methode gibt den Inhalt der Variable in einer lesbaren Formatierung aus.
Beispiel:
{$p_imgs|@dump}
Durch das Einfügen dieses Codes in dein Template wird der Inhalt der Variable $p_imgs
direkt auf der Seite ausgegeben, was das Debugging von Template-Daten vereinfacht.
debug_print_var
Die Funktion debug_print_var
in Smarty bietet eine detaillierte und formatierte Ausgabe der Variablen, die sich von den Standard-Debugging-Methoden unterscheidet.
Beispiel:
{debug_print_var variable=$myVariable}
Unterschiede zu @dump
:
debug_print_var
gibt detaillierte Informationen über den Typ und die Struktur der Variable aus.print_r
oder var_dump
.Variable Ausgeben mit print_r
und var_dump
Neben @dump
und debug_print_var
kannst du auch print_r
und var_dump
verwenden, um detaillierte Informationen über die Struktur und den Inhalt von Variablen zu erhalten.
Beispiel mit print_r
:
<pre>
{$variable|@print_r}
</pre>
Beispiel mit var_dump
:
<pre>
{$variable|@var_dump}
</pre>
Diese Methoden sind besonders nützlich, wenn du komplexe Arrays oder Objekte debuggen musst.
Wenn du Änderungen an den Einstellungen der Gambio-Widgets vornehmen möchtest, musst du die betreffende Widget-Datei in den Ordner themes\Agentur77\javascripts\system\widgets
kopieren und dort bearbeiten bzw. überschreiben.
Beispiel: Um ein Widget namens WIDGET_NAME
zu ändern, kopiere die Datei in den Ordner:
themes\Agentur77\javascripts\system\widgets\WIDGET_NAME.js
Bearbeite dann diese Datei nach deinen Anforderungen.
Um ein Widget zu deaktivieren, erstelle eine Datei mit demselben Namen im gleichen Verzeichnis und füge den folgenden Code ein:
Beispiel: Erstelle die Datei themes\Agentur77\javascripts\system\widgets\WIDGET_NAME.js
und füge diesen Code ein:
gambio.widgets.module("WIDGET_NAME", [], function () {
return {
init(done) {
done();
},
};
});
Dieser Code überschreibt das bestehende Widget und sorgt dafür, dass es keine Funktionalität mehr hat, indem die init
-Methode sofort abgeschlossen wird, ohne etwas zu tun.
Wenn zu wenig Platz ist für ein Menüpunkt, landet dieser im “Weitere” Dropdown. So kannst du es entfernen
switchElementPosition
auf false
Falls dir das auf die Nerven geht, immer wieder bei .html
Dateien im themes/**/html/
Ordner die Sprache in VS Code auf Smarty umzustellen, kannst du folgenden Snippet in der VS Code➜ settings.json
Datei einsetzen:
"files.associations": {
"**/themes/**/html/**/*.*": "smarty"
},
Gambio-Hooks sind ein leistungsstarkes Werkzeug, um den Code an spezifischen Stellen zu erweitern, ohne den Kerncode zu ändern. Sie ermöglichen es, Funktionalitäten an vordefinierten Stellen im Code einzufügen.
Beispiel:
class MyCustomModule
{
public function proceed()
{
// Custom code here
}
}
// Registrierung des Hooks
MainFactory::create('MyCustomModule');
Smarty Plugins erweitern die Funktionalität von Smarty Templates. Du kannst eigene Plugins schreiben, um wiederverwendbare Template-Logik zu implementieren.
Beispiel für ein Smarty Plugin:
// Datei: GXModules/MyModule/SmartyPlugins/my_custom_plugin.php
function smarty_function_my_custom_plugin($params, $smarty)
{
// Custom logic here
return 'Custom Output';
}
Verwendung im Template:
{my_custom_plugin param1="value1"}
Verwende die Gambio-Datenbankklasse, um sicher und effizient auf die Datenbank zuzugreifen. Vermeide direkte SQL-Abfragen in deinen Templates.
Beispiel für eine Datenbankabfrage:
// Erstellen einer Abfrage
$query = 'SELECT * FROM products WHERE products_id = :products_id';
$params = array(':products_id' => (int)$productId);
// Ausführen der Abfrage
$result = xtc_db_query($query, $params);
// Verarbeiten der Ergebnisse
while ($row = xtc_db_fetch_array($result)) {
// Deine Logik hier
}