PHP Code im Beitrag

  • Hallo,

    Ich möchte einen einfachen PHP code in einem Beitrag einbauen. Joomla kommentiert den PHP code immer aus. Deshalb habe ich es mit Plugins versucht.

    Um das zu machen habe ich DirectPHP installiert und dann im Beitrag den PHP code eingefügt. Leider hat das nicht funktioniert. Dann habe ich das Plugin Sourcerer verwendet und dann wird der code komplett verändert.

    Das ist der Code:

    PHP
    <?php
    $text = "Berlin";
    ?>

    Dann wird daraus:

    Code
    &lt;!--?php <br>$text = "Berlin";<br>?--&gt;


    Gibt es noch eine andere Möglichkeit den code einzubinden?


    Der Text wird dann in einem Modul über den echo Befehl wieder ausgegeben. Was natürlich auch noch nicht funktioniert...


    Gruß

    mash110



    Habe Joomla 3.8.12

  • Der Text wird dann in einem Modul über den echo Befehl wieder ausgegeben

    Du musst daran denken, dass Beitrag (Component) und Module im Joomla-Inneren 2 verschiedene Bereiche sind. Wenn du in einem Beitrag $text definierst, dann ist die Variable im Modul längst verfallen und umgekehrt.


    Was ich nicht auswendig weiß (in welcher Reihenfolge das Joomla macht). Selbst, wenn es ginge, müsste $text definiert werden bevor das Modul dann gerendert wird.


    Und selbst, wenn du das Modul mit loadmodule-Plugin im Beitrag einfügst, wissen die beiden auf deinem Wege nichts voneinander.

  • Also ich benutze bisher immer nur DirectPHP und komme damit sehr gut klar. Wichtig bei DirectPHP, den Code immer nur ohne Editor einfügen. Und beachte bitte auch, sobald du den Editor wieder einschaltest und dann in einen Beitrag mit PHP Code gehst, zerschießt er dir wieder alles. Wenn du dir das zu Herzen nimmst, bei DirectPHP für PHP Code immer ohne Editor zu arbeiten, müsste das grundsätzlich funktionieren.


    Was Later schreibt, ist absolut richtig, deshalb kann ich dir hier ebenfalls nur empfehlen, Daten ggfs. in einer separaten SQL Tabelle mit eindeutigen ID's zu speichern. Dann kannst du die Daten sowohl im Beitrag als auch im Modul verwenden.