ich würde gerne das Admin-Interface um ein Feld erweitern - natürlich upgrade-safe.
Momentan stellt sich folgende Anforderung:
Der Banner/Slider auf der Home-Seite soll um einen Text erweitert werden welcher als Overlay über die Bannergrafik gelegt werden kann. Entsprechend soll in das Admin-Template “Aktionen verwalten > Banner” um ein neues Feld “Overlay-Text” erweitert werden.
Mir scheint es so als würden hier die Oxid-Files überschrieben - vermutlich der schnellste Weg zum Ziel aber eben nicht Update-Safe.
Die Anforderung für den Overlay-Text dient momentan als Beispiel, es werden sicherlich noch weitere Anpassungen im Admin für mein Projekt nötig sein - daher die Frage an Euch wie man den Adminbereich am besten Upgrade-Safe um Felder erweitert?
Ich vermute es müsste ein Modul geschrieben werden, ggf. gibt es auch die Möglichkeit mittels Template-Override im Admin-Bereich. Meine Anpassungen würde ich auch gerne “möglichst einfach” für weitere Oxid-Projekte nutzen - als Basis für die neuen Projekte aber jeweils eine frische/leere und aktuellste Version von Oxid installieren - meine Anpasssungen / Module aber dann mit wenig Aufwand in den neuen Shop integrieren, Copy & Paste diverser Zeilen kommt daher nicht in Frage.
Die Funktionen bringst du in der php Datei unter, mit der du die admin view Klasse erweiterst.
Die Template Anpassung ist in einem Block unterzubringen, allerdings bietet das Backend nicht so viele Blocks wie das Frontend, daher muss man bereit sein einige Abstriche in Sachen “gewünschte GUI” machen zu müssen.
Die SQL Queries baust du in den onActivate() Event ein, so dass sie beim Aktivieren des Moduls ausgeführt wird.
Ich habe eben in dem Template ein paar Blocks gesehen, dort dürfte es kein Problem sein das neue Feld irgendwo unterzubringen, daher steht eigentlich nichts im Wege.
im template block dann:
[{$smarty.block.parent}]
… meine neuen felder…
resultat leider ne exception…
“syntax error: block tags mismatch”
generell möchte ich in der article_variant.tpl ja alle 4 dort vorhandenen blocks austauschen damit ich die tabelle entsprechend erweitern kann… geht das dann wirklich nur über 4 tpl files im out/blocks/?
-> jop = 4 template files in den blocks, oder?
aber auch in dieser variante bekomme ich die exception.
das ganze sieht ja dann so aus…
‘blocks’ => array(array(‘template’ => ‘article_variant.tpl’, ‘block’=>‘admin_article_variant_listheader’, ‘file’=>‘out/blocks/admin_article_variant_listheader.tpl’),array(‘template’ => ‘article_variant.tpl’, ‘block’=>‘zweiter_block’, ‘file’=>‘out/blocks/zweiter_block.tpl’));
im tpl file dann jeweils in der ersten zeile:
[{$smarty.block.parent}]
<div …
was mir noch nicht ganz klar ist, wenn das ganze dann mal ohne exception funktioniert ist: wird das ganze dann “überschrieben” oder “angehängt”?
ok. angehängt ist schon mal gut zu wissen. genau genommen möchte ich in der article_variant alle 4 blöcke der tabellenzusammenstellung austauschen, und nicht anhängen.
hab jetzt somit für jeden block ein .tpl file erstellt, wie dieses hier:
auch - um eine eventuelle fehlerquelle zu vermeiden - wenn ich den pfad, wie in deinem modul vor den templatefiles entferne. ändert sich nichts.
in der fehlermeldung wird ausgegeben dass die exception in der article_variant.tpl in zeile 1 ist - dort wo headitem.tpl aufgerufen wird. - könnte aber nichts finden was der grund dafür sein könnte…