| Automatische Generierung von Kategorie-Templates |
Betreff: Automatische Generierung von Kategorie-Templates von Gast am 11.03.2004 00:32:03 Den Hack den ich geschrieben habe, ist WAHRSCHEINLICH eher lachhaft für die PHP-Gurus unter euch. Der Ansatz: Ich fand das Template-System von Xoops nicht zufriedenstellend. Schön wäre es wenn unterschiedliche Kategorien auch unterschiedliche Templates haben könnten. Die Idee ist folgende: Die Kategorien des Moduls werden aus der Datenbank ausgelesen und entsprechende Templates im Templates-Verzeichnis erstellt. Als Dummy muss das Original-Template herhalten dem der Kategorie-ID entsprechend die ID an den Namen gehängt wird. Und so sieht das Ganze aus. Die Datei news/xoops_version.php in einem Editor öffnen und nach dem templates-Bereich folgenden Code einfügen:
global $xoopsDB;
Die Datei news/article.php in einem Editor öffnen und folgende Zeile löschen
$xoopsOption['template_main'] ='news_article.html';
und folgende Zeile vor dem include der footer.php einfügen
$xoopsOption['template_main'] = 'news_article'.$article->topicid().'.html';
Und so funktioniert es. In die Moduladministration gehen und das Modul aktualisieren. Danach in den Templates-Manager gehen und von Hand die Templates generieren. Ein paar Schönheitsfehler hat der Hack allerdings. - Wenn das Modul neu installiert wird, lässt sich das erste kopierte Template nicht generieren. Erst wenn eine zweite Kategorie angelegt und das Modul aktualisiert wird können beide Templates generiert werden. - Dass der Code in article.php so weit nach unten wandert, gefällt mir nicht, aber ich weiß nicht wie ich das umgehen soll. - Da ich keine Linux-Server habe kann ich die chmod-Funktionalität nicht testen. Ansonsten muss das templates-Verzeichnis von Hand mit chmod 777 versehen werden. Über Antworten zu diesen Problemen würde ich mich sehr freuen. Viel Spaß beim Testen und wie immer übernehme ich keine Gewähr für den Quatsch, den ich hier verzapft habe. |