Hi,
in 3.5 hatte ich eine php Datei im root, die ein Wasserzeichen in ein pdf gerechnet und dieses dann ausgegeben hat. Diese Datei wird direkt im Browser aufgerufen. Wie kann ich dasselbe in 4.9 erreichen?
Hi,
in 3.5 hatte ich eine php Datei im root, die ein Wasserzeichen in ein pdf gerechnet und dieses dann ausgegeben hat. Diese Datei wird direkt im Browser aufgerufen. Wie kann ich dasselbe in 4.9 erreichen?
Am besten mit einer eigenen Route über einen eigenen Controller .
Ja, aber wenn du das nur für eine einzelne Applikation machst, dann brauchst du keine Extension dafür. Unter Contao 4.9 musst du nur den Controller im App\Controller\ Namespace anlegen und die routing.yml anlegen. Siehe dazu auch https://docs.contao.org/dev/getting-...es-and-actions
Hallo miteinander,
ich klinke mich hier mal mit ein, denn erstens habe ich Ähnliches (eigene php Datei) ....
...und zweitens muss ich ja wohl mittelfristig auch auf 4.9 wechseln.
Meine eigene (prozedurale) PHP Datei liegt nicht im document root sondern in /web und wird (schon immer, also seit typolight 2.6) vom template fe_page aufgerufen:
Die gibt halt nur (reliktbedingt) ein paar zusätzliche Dinge (die nicht aus Contao stammen) aus.PHP-Code:
<?php include "ownfile.php"; ?>
Muss ich bei 4.9 dann etwa auch auf Controller und routing.yml (ich verstehe bei Spookys Link nur Bahnhof) umbauen?
Ich frage schon jetzt, damit ich beim Upgrade demnächst nicht ganz so viel habe was nicht funktioniert....
In deinem Fall wäre das wohl eher ein Modul: https://docs.contao.org/dev/framewor...t-end-modules/
Vielleicht war ich zu geizig mit Informationen, sorry.
Im Kontext (Template fe_page):
Wie soll ich da ein Modul rein bauen? Mein eigenes Dingens endet einfach nur mit einemPHP-Code:
<?php if ($this->left): ?>
<aside id="left">
<div class="inside">
<?php include "ownfile.php"; ?> // HIER
<?= $this->left ?>
</div>
</aside>
<?php endif; ?>
Muss ich wirklich so einen Aufwand treiben um ein banales <?php include "ownfile.php"; ?> zu "modernisieren"? Oder ist die Chance gut, dass meine Template-Ergänzung auch mit 4.9 funktioniert (ich quasi einfach nur zu ängstlich war)?PHP-Code:
echo '<div id="ownstuff">'."\n";
echo $content."\n";
echo '</div>'."\n";
Damit meine ich die Quick and Dirty Variante ein Modul (oder auch Inhaltselement) zu erzeugen: du erzeugst dir ein Template namens mod_html_my_module.html5, dort kannst du beliebigen PHP Code implementieren, der beliebige Ausgaben erzeugt, du legst dir dann in deinem Theme ein Modul vom Typ HTML an und wählst dort dieses Template aus, und dieses Modul fügst du dann in deinem Seitenlayout (oder sonst wie) ein.
Ah, hab' ich verstanden, danke.
Mache ich das, damit/weil ich möglichst die "vorgefertigten" Templates nicht anfassen muss/soll?
Ja, wenn du das so machst, musst du kein hässliches include in dein fe_page Template einbauen
Und du machst es, damit du keinen php-Code irgendwo im CMS rumfliegen hast, der dir später Nerven und Zeit kosten.
Btw. kannst du komplexere Sachen, wo du ein Eingabefeld brauchst einfach die Rock Solid Custom Elements verwenden - hab damit schon so einigen Legacy Code in neuere Contaos bekommen
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
Lesezeichen