Beitrag von NicoW (48 Beiträge) am Freitag, 4.April.2003, 12:58.
Templateinhalte (Quellcode) in einer Datenbank speichern@CB
HI!
Ich möchte ganz gerne eine Administratordatenbank anlegen, wo aus meinem doch recht großen Webprojekt die Quellcodes der Templates gespeichert werden können. Das später vielleicht die Bugsuche enorm einfacher wird, denn in der Datenbank solllen auch die übergebenen Variablennamem gespeichert werden.
Läßt sich das irgendwie baseportaltechnisch machen? Kann man am Ende eines jeden Templates einen Befehl setzen, der folgendes macht:
"Nimm den Quellcode des geöffneten Templates und speichere ihn in der Datenbank"!
MFG
Nico
Beitrag von hempelr (1976 Beiträge) am Freitag, 4.April.2003, 15:19.
Re: Templateinhalte (Quellcode) in einer Datenbank speichern@CB
Hallo, Nico,
yepp, geht.
Ich mach das mit einem eval
in etwa so: eval $dbfeldmitcode;
wobei meist nur Subroutinen in nem Datenfeld gespeichert werden.
Deren eval kann sonstwo im Template erfolgen, wenn nicht explizit auf globale Variablen des Hauptscriptes zugegriffen werden soll - wenn du das machen willst (ist aber fast undurchschaubar bei größeren Projekten) mußtr du dir gut überlegen, wo du das eval reinsetzt - könnte sonst die falschen Werte nehmen)
Beispielsweise bau ich alle datenbankspezifischen eigenen Formulare in Datenfelder ner global-Datenbank unter einem Schlüsselfeldnamen als Inhalt der Datenbankname ein - so kann ich als Parameter den db-Namen mit übergeben und automatisch wird das richtige Formular generiert....
Vorher ist der Datensatz mit dem Code irgendwo zu holen, am besten ist, wenn die Feldnamen einmalig in deinem Projekt sind, da wird der Feldinhalt (Variableninhalt) nirgendwo überschrieben.
Problematisch ist das Testen, jedesmal wenn du was veränderst, mußt du die DB ändern und dann testen - ich hab mir da ein System entwickelt, wo ich den Inhalt des in nem Datenfeld gespeicherten Quellcodes erst mal in nem Einzeltemplate teste, und wenn keine Baseportal-Fehlermeldung kommt ist schon mal die Wahrscheinlichkeit, daß es funzt recht gross. (ausserdem kann es leicht passieren, dass du dir beim häufigen Ändern die gesamte DB abschießt - am besten nach 2-3 mal Ändern vor nächster Änderung ein reorg - das geht (fast) immer gut. Je mehr Datensätze du aber in so ner DB hast und je größer in kb der Feldinhalt ist, umso kritischer wirds mit dem Ändern und Killen der DB...)
Um zu testen, ob die Variablen richtig belegt werden hilft dann nur entsprechender Debug-Code, der die Varinhalte ausgibt.
Viel Erfolg
Ruben
Beitrag von hempelr (1976 Beiträge) am Freitag, 4.April.2003, 15:23.
hates wohl falsch verstanden - Re: Templateinhalte (Quellcode) ..
Sorry, hatte dich wohl falsch verstanden - du willst ja nicht Quellcode zum ausführen in der db speichern sondern den Templateinhalt.
Das dürfte aber eher nicht gehen - man hat ja keine wahlfreien Zugriff auf Dateien in kostnix und Mietversion - mit Lizenzversion soll es wohl gehen 8hab ich noch nicht probiert.....)
Ruben
Beitrag von NicoW (48 Beiträge) am Dienstag, 8.April.2003, 09:53.
Re: hates wohl falsch verstanden - Re: Templateinhalte (Quellcode) ..
Ich habe eine Lizenz und wie muss ich das dann machen, wenn ich den Quellcode von Templates ändere, dass "NUR" der Quellcode in eine Datenbank geschrieben wird?