[phpBB Debug] PHP Warning: in file [ROOT]/ext/tas2580/seourls/event/listener.php on line 213: Undefined array key "FORUM_NAME"
templates und module mit namen im dateisystem ablegen - REDAXO Forum
Hallo,

Wir haben in letzter Zeit festgestellt, dass die Kommunikation via Slack viel schneller und zielführender ist als ein Beitrag im Forum. Aufgrund der neuen und besseren Möglichkeiten der Kommunikation haben wir uns entschlossen das Forum nur noch als Archiv zur Verfügung zu stellen. Somit bleibt es weiterhin möglich hier nach Lösungen zu suchen. Neue Beiträge können nicht mehr erstellt werden.

Wir empfehlen, für deine Fragen/Probleme Slack zu nutzen. Dort sind viele kompetente Benutzer aktiv und beantworten jegliche Fragen, gerne auch von REDAXO-Anfängern! Slack wird von uns sehr intensiv und meistens "rund um die Uhr" benutzt :-)
Selbst einladen kannst Du dich hier: https://redaxo.org/slack/
Benutzeravatar
cukabeka
Beiträge: 821
Registriert: 31. Mai 2006, 00:01
Wohnort: Aschaffenburg

templates und module mit namen im dateisystem ablegen

17. Nov 2006, 22:19

ich weiß, es gibt das developer-addon, aber ich hätte diese funktion gerne fest in redaxo integriert, da auch das aktualisieren immer etwas zeit verlangt und nicht immer ganz zuverlässig funktioniert. zudem ist die bezeichnung nur mit IDs etwas verwirrend.
ich finde prinzipiell den gedanken, die vorlagen und module auch in die datenbank zu speichern für backups etc sehr interessant, in der programmierpraxis ist das system aber etwas nervig, wie ich finde.
wäre es nicht denkbar, dass templates und module im dateisystem erste priorität haben, aber zusätzlich bei einem backup mit in die datenbank gespeichert werden? und umgekehrt, beim wiederherstellen zurück auf die platte geschrieben?
ich finde, das würde den entwicklungsaufwand nochmal verringern, da man mit seinem lieblingseditor und syntax-highlighting direkt und schnell am code arbeiten kann.

mscondo
Beiträge: 36
Registriert: 21. Jul 2006, 10:30
Wohnort: Deutschland

20. Nov 2006, 15:59

Hallo cukabeka,

für die Entwicklung ist es prima, wenn Du die Templates im Filesystem ablegst und sie mit Deinem Lieblingseditor bearbeiten kannst ;). Hierzu musst Du in der Template-Definition nur folgenden Code verwenden:

Code: Alles auswählen

<?php
	 include "files/templates/startpage.template";
?>

Auf dieselbe Weise kannst Du Spezialwünsche, wie die beschriebenen Prioritäten/Reihenfolgen zwischen Template-Quellen implementieren.


Gruß, Mario

Benutzeravatar
cukabeka
Beiträge: 821
Registriert: 31. Mai 2006, 00:01
Wohnort: Aschaffenburg

20. Nov 2006, 18:54

also praktisch ein template anlegen, das eine datei mit template-funktion im dateisystem aufruft? hmm. das ist okay.

das größere problem bleibt damit aber ungelöst: die module, die benötigen meiner meinung nach nämlich auch noch mehr tests beim entwickeln als das template. oder geht das so auch irgendwie? im modulcode einen include-aufruf starten?

grüße

Benutzeravatar
cukabeka
Beiträge: 821
Registriert: 31. Mai 2006, 00:01
Wohnort: Aschaffenburg

13. Dez 2006, 03:45

so, ich hab das mit den modulen nun auch mal ausprobiert. das funzt aber komischerweise nicht wie bei den templates, ich bekomm stattdessen den klassiker:

Code: Alles auswählen

include(files/modules/mod.out.php) [function.include]: failed to open stream: No such file or directory in
woran liegt das denn? bei den templates gehts doch?

Benutzeravatar
helpy
Beiträge: 61
Registriert: 27. Sep 2006, 09:59

13. Dez 2006, 08:55

cukabeka hat geschrieben:

Code: Alles auswählen

include(files/modules/mod.out.php);
Sieht so Dein Include aus?

Evt. damit versuchen:

Code: Alles auswählen

include($REX['HTDOCS_PATH']."files/modules/mod.out.php");
cu, helpy

Benutzeravatar
Markus.Staab
Entwickler
Beiträge: 9634
Registriert: 29. Jan 2005, 15:50
Wohnort: Aschaffenburg/Germany
Kontaktdaten: ICQ Website

13. Dez 2006, 13:54

Hi,

wenn man das ganze so mache, wie mit dem simple rewrite sollte es kein Problem geben...

Also zuerst eine ID und dann irgendwelcher Text (z.b. Name des Templates/Moduls)

Gruß,
Markus

Benutzeravatar
cukabeka
Beiträge: 821
Registriert: 31. Mai 2006, 00:01
Wohnort: Aschaffenburg

13. Dez 2006, 13:54

nee, das war die fehlermeldung. bei mir steht

Code: Alles auswählen

<?php 
    include "files/modules/mod.out.php"; 
?>
aber ich hab Deinen code mal eingefügt, funktioniert auch schon erheblich besser, nur werden jetzt die REX_VALUES nicht ausgegeben, ich bekomm einfach

REX_VALUE[1]
REX_VALUE[2]
REX_VALUE[3]

ausgegeben. komisch.

Benutzeravatar
cukabeka
Beiträge: 821
Registriert: 31. Mai 2006, 00:01
Wohnort: Aschaffenburg

13. Dez 2006, 13:56

kills hat geschrieben:Hi,

wenn man das ganze so mache, wie mit dem simple rewrite sollte es kein Problem geben...

Also zuerst eine ID und dann irgendwelcher Text (z.b. Name des Templates/Moduls)

Gruß,
Markus
hm. äh, versteh ich nicht. simple rewrite? was meinst Du damit? das MOD_REWRITE? und welche IDs wo einfügen?

Benutzeravatar
helpy
Beiträge: 61
Registriert: 27. Sep 2006, 09:59

13. Dez 2006, 14:28

cukabeka hat geschrieben:... funktioniert auch schon erheblich besser, nur werden jetzt die REX_VALUES nicht ausgegeben, ich bekomm einfach

REX_VALUE[1]
REX_VALUE[2]
REX_VALUE[3]

ausgegeben. komisch.
Na, wenn ich darüber nachdenke ... eigentlich logisch.

Redaxo nimmt das Modul aus der Datenbank und ersetzt die darin vorkommenden REX_VALUES und führt dann den so erzeugten Code aus.

include wird also erst ausgeführt, nachdem die REX_VALUES ersetzt wurden.

Zumindest ziehe ich diesen Schluss aus meinen doch noch beschränkten Redaxo-Kenntnissen.

cu, helpy

Benutzeravatar
cukabeka
Beiträge: 821
Registriert: 31. Mai 2006, 00:01
Wohnort: Aschaffenburg

13. Dez 2006, 14:39

hmm. das würde natürlich die umständliche funktionsweise des developer-addons erklären.

Benutzeravatar
vscope
Beiträge: 477
Registriert: 24. Aug 2004, 22:11
Wohnort: Austria/Vienna
Kontaktdaten: ICQ Website

13. Dez 2006, 15:39

hi,

helpy hat recht. zuerst werden die values befüllt und dann erst php ausgeführt.
darum musst du mit den REX_VALUES zuerst php vars beüllen und
dann kannst du diese in deinem include verwenden.

<?php
$REX_VALUE_1 = "REX_VALUE[1]";
include("test.php");
?>

test.php
<?php
print $REX_VALUE_1;
?>

zum addon.
wenn ich zeit habe baue ich die dateinamen nach schema

id.name um.

lg

vscope

Zurück zu „Sonstiges“