Contao-Camp 2024
Ergebnis 1 bis 15 von 15

Thema: Eigene php Datei

  1. #1
    Contao-Fan Avatar von tpk
    Registriert seit
    25.02.2011.
    Ort
    48369 Saerbeck
    Beiträge
    832

    Standard Eigene php Datei

    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?

  2. #2
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.050
    Partner-ID
    10107

    Standard

    Am besten mit einer eigenen Route über einen eigenen Controller .

  3. #3
    Contao-Fan Avatar von tpk
    Registriert seit
    25.02.2011.
    Ort
    48369 Saerbeck
    Beiträge
    832

  4. #4
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.050
    Partner-ID
    10107

    Standard

    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

  5. #5
    Contao-Fan
    Registriert seit
    26.03.2010.
    Beiträge
    327

    Standard

    Hallo miteinander,

    ich klinke mich hier mal mit ein, denn erstens habe ich Ähnliches (eigene php Datei) ....

    Zitat Zitat von Spooky Beitrag anzeigen
    ... 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
    ...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:
    PHP-Code:
     <?php include "ownfile.php"?>
    Die gibt halt nur (reliktbedingt) ein paar zusätzliche Dinge (die nicht aus Contao stammen) aus.
    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....

  6. #6
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.050
    Partner-ID
    10107

    Standard

    In deinem Fall wäre das wohl eher ein Modul: https://docs.contao.org/dev/framewor...t-end-modules/

  7. #7
    Contao-Fan
    Registriert seit
    26.03.2010.
    Beiträge
    327

    Standard

    Vielleicht war ich zu geizig mit Informationen, sorry.
    Im Kontext (Template fe_page):
    PHP-Code:
                <?php if ($this->left): ?>
                  <aside id="left">
                    <div class="inside">
                      <?php include "ownfile.php"?>  // HIER
                      <?= $this->left ?>
                    </div>
                  </aside>
                <?php endif; ?>
    Wie soll ich da ein Modul rein bauen? Mein eigenes Dingens endet einfach nur mit einem
    PHP-Code:
    echo '<div id="ownstuff">'."\n";
    echo 
    $content."\n";
    echo 
    '</div>'."\n"
    Zitat Zitat von Spooky Beitrag anzeigen
    In deinem Fall wäre das wohl eher ein Modul: https://docs.contao.org/dev/framewor...t-end-modules/
    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)?

  8. #8
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.050
    Partner-ID
    10107

    Standard

    Zitat Zitat von purzel Beitrag anzeigen
    Wie soll ich da ein Modul rein bauen?
    Wie meinst du das? Wenn du das Modul programmiert hast, legst du es im Theme an und fügst es für die linke Spalte im Seitenlayout hinzu.

  9. #9
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.050
    Partner-ID
    10107

    Standard

    Zitat Zitat von purzel Beitrag anzeigen
    Muss ich wirklich so einen Aufwand treiben um ein banales <?php include "ownfile.php"; ?> zu "modernisieren"?
    Da niemand weiß, was sich hinter "ownfile.php" verbirgt, kann dir das auch niemand beantworten. Grundsätzlich würde ich sowas sowieso zumindest über ein "Template Modul" lösen, und nicht über ein include.

  10. #10
    Contao-Fan
    Registriert seit
    26.03.2010.
    Beiträge
    327

    Standard

    OK, danke erstmal.

    Zitat Zitat von Spooky Beitrag anzeigen
    Grundsätzlich würde ich sowas sowieso zumindest über ein "Template Modul" lösen, und nicht über ein include.
    Da ich nicht weiß was ein Template Modul ist, ich in den möglichen Modultypen im 4.4 auch ein solches nicht finde, werde ich es wohl einfach drauf ankommen lassen (müssen).

  11. #11
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.050
    Partner-ID
    10107

    Standard

    Zitat Zitat von purzel Beitrag anzeigen
    Da ich nicht weiß was ein Template Modul ist
    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.

  12. #12
    Contao-Fan
    Registriert seit
    26.03.2010.
    Beiträge
    327

    Standard

    Ah, hab' ich verstanden, danke.

    Mache ich das, damit/weil ich möglichst die "vorgefertigten" Templates nicht anfassen muss/soll?

  13. #13
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.050
    Partner-ID
    10107

    Standard

    Ja, wenn du das so machst, musst du kein hässliches include in dein fe_page Template einbauen

  14. #14
    Contao-Nutzer
    Registriert seit
    24.08.2018.
    Ort
    Magdeburg
    Beiträge
    131

    Standard

    Zitat Zitat von purzel Beitrag anzeigen
    Ah, hab' ich verstanden, danke.

    Mache ich das, damit/weil ich möglichst die "vorgefertigten" Templates nicht anfassen muss/soll?
    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

  15. #15
    Contao-Fan
    Registriert seit
    26.03.2010.
    Beiträge
    327

    Standard

    Zitat Zitat von WorkerBeeEu Beitrag anzeigen
    ...Btw. kannst du komplexere Sachen, wo du ein Eingabefeld brauchst einfach die Rock Solid Custom Elements verwenden ...
    Ich brauche da kein Eingabefeld. Meine PHP gibt lediglich einen (kleinen) Dateiinhalt aus (der gelegentlich von anderer Stelle modifiziert wird).

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •