Ich arbeite nun seit einer Woche mit dem OXID-System und bin auch schon alleine ziemlich weit gekommen, doch nun steh ich das erste Mal auf dem Schlauch…
Zu meinen Arbeiten:
Ich habe ein Modul gebastelt, welches im Backend bei den Kategorien weitere Tabs/Reiter einsetzt. Die Reiter werden angezeigt (modul/menu.xml), die Beschriftungen werden auch aus der Übersetzungs-Datei (views/admin/de|en/modul_lang.php) geladen und angezeigt.
Dann habe ich die category_text.tpl kopiert und als Grundlage meines neuen Tabs genommen. Ich will also nichts weiter, als ein weiteres großes Textfeld. Auch die Datenbank “oxcategories” habe ich um die entsprechenden Felder erweitert.
Tmp-Ordner wurde geleert, Views erneuert!
Zu meinem Problem:
Wenn ich im Backend auf “Kategorien” klicke, dann ein Produkt auswähle und dann den neuen Reiter anklicke, wird mir nicht der gewünschte Inhalt, sondern die Startseite angezeigt.
Ich hatte vergessen die Pfade in der metadata.php und menu.xml anzupassen.
Jetzt wird mir sowohl der Reiter, als auch der Inhalt (textarea, Sprachauswahl + Button “Speichern”) angezeigt.
Wenn ihr mir nun nochmal auf die Sprünge helft mit dem Inhalt der Textarea:
Wie bekomme ich den Inhalt angezeigt? Ist z.Z. leer, obwohl ich manuell etwas in die Datenbank geschrieben habe.
Und wo ist die Methode copyLongDesc(); definiert? Ich müsste doch bestimmt noch mal eine ähnliche für meinen text erzeugen, oder kann ich einfach schreiben:
VIEWS habe ich über das Backend Service->Tools aktualisiert.
Die Funktion copylongdesc() ist dort definiert: /out/admin/tpl/headitem.tpl -> line 60
Zur Vorlage meiner tpl-Datei habe ich category_text.tpl genommen, natürlich habe ich die entsprechenden Namen, Verweise, cl’s und ID’s angepasst.
Doch das Feld bleibt leer, egal ob input oder textarea.
Auch wenn ich erneut etwas eingebe und auf “Speichern” klicke, wird das Textfeld lediglich geleert. Ich müsste nur wissen, wo die Logik des Speicherns steckt, dann komme ich bestimmt alleine weiter…
Danke für deine Geduld =)
[edit]: Beim [{debug}]-Fenster werden mir die Inhalte ausgegeben =)
die Logik hast du doch im Controller und im Template gesehen.
Wenn du das Template aufmachst, findest du dort an der Stelle, wo im Backend textarea mit den Inhalt kommen sollte nur ein [{$editor}].
Und jetzt musst du gucken, woher im controller $editor kommt und wie es zusammengebaut wird.
Dort wirst du auch die Lösung finden, wieso textarea leer ist
Falls noch einmal jemand dieses Problem hat: Der Ausdruck “oxcategories__twwsausstattung” muss mit dem Ausdruck in dem onSubmit=“copyLongDesc( ‘oxcategories__twwsausstattung’ );” übereinstimmen…
Ordner twws_moreText -> kommt in den Ordner "module"
die *.tpl-Dateien sind bei mir in "\application\views\admin pl"
die *.php-Dateien (außer “twws_lang.php”) sind bei mir in “\application\controllers\admin”
“twws_lang.php” liegt im Ordner “\application\views\admin”
Ich weiß nicht, ob man diese Dateien mit entsprechendem ordner-System auch einfach alle im Modul-Ordner lassen kann… bei mir hat es jedenfalls nicht geklappt…
Die Datenbank muss natürlich erweitert werden!!! (Tabelle: “oxcategories”)
Die Feldnamen sind dann in den entsprechenden Dateien anzupassen (“oxcategories__twwsausstattung”, usw…)
Das Modul erzeugt momentan DREI neue Reiter bei der Kategorie-Verwaltung mit jeweils EINER Textarea (Editor)
Ich hoffe du kommst klar! OXID ist für mich auch noch neu, darum gebe ich keinerlei Garantie, dass es bei dir funktioniert. Sollte aber als Vorlage hilfreich sein.
NICHT VERGESSEN:
Im Backend die VIEWS erneuern und den Ordner “tmp” leeren!