Das Contao Camp 2020 in Hamburg. LEIDER ABGESAGT!
Ergebnis 1 bis 5 von 5

Thema: externe php datei mit inserttag

  1. #1
    Contao-Nutzer
    Registriert seit
    17.12.2016.
    Beiträge
    10

    Standard externe php datei mit inserttag

    hallo,
    ich habe eine frage zur codierung der inserttags bei 4.9.1 lts am mac auf mamp 4.5 php 7.2.1.
    ich binde in einen artikel mit {{file::test.php}} mein php-file aus dem templates ordner ein.
    dort entnehme ich via inserttag {{env::request}} die ganze url, welche in meinem fall. "de/team.html?a=24" lautet.
    wenn ich diesen string nun in ein array exploden will, komme ich zu einem anderen ergebnis, als wenn ich die url als string festlege. siehe beispiel.
    warum ist das wohl so?
    liebe grüße
    wolfgang


    <?php
    $mypageurlf = "{{env::request}}";
    $mypageurlarr = explode("?",$mypageurlf);
    print_r($mypageurlarr);
    --Array ( [0] => de/team.html?a=24 )

    $mypageurlf = "de/team.html?a=24";
    $mypageurlarr = explode("?",$mypageurlf);
    print_r($mypageurlarr);
    -- Array ( [0] => de/team.html [1] => a=24 )
    ?>

  2. #2
    Contao-Urgestein Avatar von do_while
    Registriert seit
    15.06.2009.
    Ort
    Berlin | Deutschland
    Beiträge
    3.393
    Partner-ID
    1081
    User beschenken
    Wunschliste

    Standard

    Schaue Dir die Beispiele mal in der Quellcodeansicht des Browsers an, es kann sein, dass der InsertTag das ? als Entitity liefert. Im Browser wird es dann zur Anzeige umgewandelt, PHP bekommt aber das Entitity.

  3. #3
    Contao-Nutzer
    Registriert seit
    17.12.2016.
    Beiträge
    10

    Standard

    Zitat Zitat von do_while Beitrag anzeigen
    Schaue Dir die Beispiele mal in der Quellcodeansicht des Browsers an, es kann sein, dass der InsertTag das ? als Entitity liefert. Im Browser wird es dann zur Anzeige umgewandelt, PHP bekommt aber das Entitity.
    hallo,
    das hatte ich mir auch schon gedacht, aber es klappt auch nicht wenn ich zb. ht als delimiter nehme.
    <?php
    $mypageurlf = "{{env::request}}";
    $mypageurlarr = explode("ht",$mypageurlf);
    print_r($mypageurlarr);
    -- Array ( [0] => de/team.html?a=24 )

    $mypageurlf = "de/team.html?a=24";
    $mypageurlarr = explode("ht",$mypageurlf);
    print_r($mypageurlarr);
    --Array ( [0] => de/team. [1] => ml?a=24 )
    ?>


    UND noch besser! wenn ich e als delimiter nehme spuckt er folgendes aus. wann und wo ersetzt contao eigentlich den inserttag?

    <?php
    $mypageurlf = "{{env::request}}";
    $mypageurlarr = explode("e",$mypageurlf);
    print_r($mypageurlarr);
    -- Array ( [0] => {{ [1] => nv::r [2] => qu [3] => st}} )

    $mypageurlf = "de/team.html?a=24";
    $mypageurlarr = explode("e",$mypageurlf);
    print_r($mypageurlarr);
    Array ( [0] => d [1] => /t [2] => am.html?a=24 )

    ?>

    lg
    wolfgang

  4. #4
    Contao-Urgestein Avatar von do_while
    Registriert seit
    15.06.2009.
    Ort
    Berlin | Deutschland
    Beiträge
    3.393
    Partner-ID
    1081
    User beschenken
    Wunschliste

    Standard

    Nee - ist klar, eine reine Zuweisung eines Textes mit InsertTag ersetzt diesen ja auch nicht.
    Der InsertTag wird erst hinterher ersetzt und im InsertTag ist kein ? vorhanden.

    Du musst die InsertTags erst ersetzen und dann exploden:
    PHP-Code:
    $mypageurlf $this->replaceInsertTags"{{env::request}}"false ); 

  5. #5
    Contao-Nutzer
    Registriert seit
    17.12.2016.
    Beiträge
    10

    Standard

    so ist es!
    danke und lg

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
  •