Contao-Camp 2024
Ergebnis 1 bis 21 von 21

Thema: Einbinden einer PHP-Datei

  1. #1
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard Einbinden einer PHP-Datei

    Ich habe eine Site übernommen, die ich von Contao3 auf Contao4 hochgezogen habe.
    Nun ist mir aufgefallen, dass im Artikel eine HTML-Element angelegt wurde mit folgendem Inhalt

    {{file::yb_de/YBMainQuerry.php?conditions=operatorcode:y3212,y43 94,y4755;category:Bareboat,Boot mit Crew}}

    Die YBMainQuerry.php liegt unter templates/ybe_de aber aufgerufen wird sie in meiner 4er Installation leider nicht.

    an was kann das liegen. stimmt nun der Pfad so nun nicht mehr?
    Gruß Mark

  2. #2
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard

    Ich hab in der Datei selbst ein DIV eingebaut. die wird auch nicht angezeigt.
    Denke somit, dass es wirklich am Pfad bzw. Inserttag liegt.
    Kann ich so in der Art das nicht mehr aufrufen? Berechtigung?
    Gruß Mark

  3. #3
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.942

    Standard

    Habe das eben ausprobiert:

    • unter templates einen Unterordner foo angelegt
    • darin eine Datei bar.php, die <?php echo "foo"; enthält
    • Inserttag {{file::foo/bar.php}} wird durch "foo" ersetzt.


    funktioniert also grundsätzlich (Test mit Contao 4.4.35).
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  4. #4
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard

    Hab ich nun auch so probiert.
    Funktioniert.
    Dann liegt das an der Datei. na Prima ;-(
    Gruß Mark

  5. #5
    Wandelndes Contao-Lexikon Avatar von tab
    Registriert seit
    22.10.2013.
    Beiträge
    10.076
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Die Datei "yb_de/YBMainQuerry.php?conditions=operatorcode:y3212,y43 94,y4755;category:Bareboat,Boot mit Crew" wirds halt wohl nicht geben. Keine Ahnung was das Inserttag mit sowas macht, eigentlich soll es ja den Inhalt einer Datei einfügen.

  6. #6
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.942

    Standard

    Laut Doku sollten die Parameter als Argumente übergeben werden: https://docs.contao.org/books/manual...clude-elements

    Edit: vielleicht scheitert es eher an den Leerzeichen. Versuch doch mal, die durch %20 zu ersetzen.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  7. #7
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard

    Hab ich ausprobiert, auch mal komplett weggelassen.
    Denke die PHP-Datei die aufgerufen wird, hat irgendwas in sich was auf einmal Contao4 bzw. PHP7.2 nicht schmeckt.
    PHP kann ich leider so garnicht. Hab jetzt den Programmierer angeschrieben, der das damals gemacht hat. Hoffe der meldet sich bei mir
    Gruß Mark

  8. #8
    Contao-Urgestein Avatar von fiedsch
    Registriert seit
    09.07.2009.
    Ort
    München
    Beiträge
    2.942

    Standard

    Steht da irgendetwas sensibles wie Passwörter drin? Ansonsten könntest Du sie uns mal zeigen, vielleicht wäre ja sichtbar, wo das (PHP7) Problem liegt.
    Contao-Community-Treff Bayern: http://www.contao-bayern.de

  9. #9
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard

    So wie ich das verstehe ruft er dort gleich wieder eine Datei auf richtig?
    PHP-Code:
    <?php
        
    include_once "./templates/yb_de/yb_api/YBConfig.php";
        include_once 
    "./templates/yb_de/yb_api/DataManagement.php";
        
    //$opcodes = "operatorcode='y4194' OR operatorcode='y3212' OR operatorcode='y3213'";
        //conditions=operatorcode:y4194,y3212,y3213;category:Bareboat,Boot mit Crew
        
    $conditions=Input::get('conditions');
        
    $conditionarray explode(";"$conditions);
        
    $sqlwhere "";
        foreach (
    $conditionarray as $value) {
          list(
    $condtion$values) = explode(":"$value);    
          
    $sqlpart=$condtion."='".str_replace (",","' OR ".$condtion."='",$values)."'";
          if (
    $sqlwhere == "") {
            
    $sqlwhere "(".$sqlpart;
          } else {
            
    $sqlwhere $sqlwhere.") AND (".$sqlpart;
          }
        
        }
        
    $sqlwhere $sqlwhere.")";
        
    //echo $sqlwhere;
        //$opcodelist=str_replace (",","' OR operatorcode='",$opcodelist);
        //$opcodes = "operatorcode='".$opcodelist."'";
        //$categorylist=Input::get('category');
        //$categorylist=str_replace (",","' OR category='",$categorylist);
        //$categorys = "category='".$categorylist."'";
        //echo "Main".$_GET;
        
    if( isset($_GET["req"])){
            include 
    "./templates/yb_de/YBDetailQuerry.php";
         } else {
            include 
    "./templates/yb_de/YBListQuerry.php";
        }
    ?>
    Gruß Mark

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

    Standard

    Das Script musst du anpassen, die Pfadangaben werden so in Contao 4 nicht funktionieren.

    Editiere bitte außerdem deinen ersten Post und füge den Prefix für die entsprechende Contao Version hinzu.

  11. #11
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard

    Wo ist der Bearbeiten-link?
    Zitat Zitat von kischd Beitrag anzeigen
    Ich habe eine Site übernommen, die ich von Contao3.5.36 auf Contao4.4.34 hochgezogen habe.
    Nun ist mir aufgefallen, dass im Artikel eine HTML-Element angelegt wurde mit folgendem Inhalt

    {{file::yb_de/YBMainQuerry.php?conditions=operatorcode:y3212,y43 94,y4755;category:Bareboat,Boot mit Crew}}

    Die YBMainQuerry.php liegt unter templates/yb_de aber aufgerufen wird sie in meiner 4er Installation leider nicht.

    an was kann das liegen. stimmt nun der Pfad so nun nicht mehr?

    Meinst du das dieses Falsch ist?
    PHP-Code:
        include_once "./templates/yb_de/yb_api/YBConfig.php"
        include_once 
    "./templates/yb_de/yb_api/DataManagement.php"
    Oder der Pfad vom inserttag?
    Gruß Mark

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

    Standard

    Ja, die Include Pfade stimmen so vermutlich nicht. Sollte wenn dann
    PHP-Code:
        include_once TL_ROOT."/templates/yb_de/yb_api/YBConfig.php"
        include_once 
    TL_ROOT."/templates/yb_de/yb_api/DataManagement.php"
    sein.

  13. #13
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard

    Danke.
    Das bedeutet weiter unten

    PHP-Code:
        if( isset($_GET["req"])){ 
            include 
    TL_ROOT."/templates/yb_de/YBDetailQuerry.php"
         } else { 
            include 
    TL_ROOT."/templates/yb_de/YBListQuerry.php"
        } 
    natürlich auch, unter Umständen noch viel mehr
    Gruß Mark

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

    Standard

    Genau, ja. Ich halte es generell für keine gute Idee, solche Scripte per {{file::}} Insert Tag einzubinden.

  15. #15
    Alter Contao-Hase Avatar von kischd
    Registriert seit
    25.06.2009.
    Ort
    Karlsruhe
    Beiträge
    1.107

    Standard

    Falls der sich wirklich bei mir meldet, was sollte ich ihm vorschlagen wie er es sonst tun sollte?
    Gruß Mark

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

    Standard

    Ein richtiges Modul oder lokales Bundle daraus machen. Oder als bundle-less Applikation in deine Contao Installation integrieren.

  17. #17
    Contao-Nutzer
    Registriert seit
    01.06.2018.
    Beiträge
    104

    Standard

    Hi,
    I have the same problem with including PHP file in Contao 4.10.
    I included a "bsde.php" file with HTML Element in my Article with Contao Tag: {{file::bsde.php}}. With this Tag everything is OK and I can see content on the web page.
    Then, I need to include 6 more files via "bsde.php" file. I tried with the next lines in "bsde.php":
    Code:
    <?php
    include_once TL_ROOT."/templates/php-files/get_value.php";
    include_once TL_ROOT."/templates/php-files/get_value_2.php";
    include_once TL_ROOT."/templates/php-files/get_value_3.php";
    .
    .
    .
    ?>
    but this way not working in my case.
    All my files are in folder: /templates/php-files
    only "bsde.php" file is in /templates
    What`s wrong here?
    Any sugestion?

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

    Standard

    You should implement a proper Insert Tag or module instead.

  19. #19
    Contao-Nutzer
    Registriert seit
    01.06.2018.
    Beiträge
    104

    Standard

    Zitat Zitat von Spooky Beitrag anzeigen
    You should implement a proper Insert Tag or module instead.
    You think in bsde.php file call all other files with Contao Tag-s:
    Code:
    {{file::templates/php-files/get_value_1.php}}
    {{file::templates/php-files/get_value_2.php}}
    {{file::templates/php-files/get_value_3.php}}
    .
    .
    .
    or?

  20. #20
    Contao-Nutzer
    Registriert seit
    01.06.2018.
    Beiträge
    104

    Standard

    I tried:
    Code:
        {{file::php-files/get_year.php}}
        {{file::php-files/get_volume.php}}
        {{file::php-files/get_model.php}}
        {{file::php-files/get_ipc_rear.php}}
        {{file::php-files/get_ipc_front.php}}
        {{file::php-files/db_controller.php}}
    but in this case, i have erorr

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

    Standard

    As I said, you should develop your own proper Insert Tag or Content Element or Front End Module instead.

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
  •