Contao-Camp 2024
Ergebnis 1 bis 17 von 17

Thema: Einfügen von PHP-Code möglich?

  1. #1
    Contao-Nutzer
    Registriert seit
    05.09.2010.
    Beiträge
    25

    Standard Einfügen von PHP-Code möglich?

    Hallo,

    die Suche hat mir leider nicht weitergeholfen.

    Ich hab versucht, in der rechten Layout-Spalte ein Modul für eigenen HTML-Code einzufügen und da wollte ich eine über PHP festgelegte Variable ausgeben. Jedoch wird der komplette PHP-Code nach dem Speichern wieder gelöscht.
    Ist sowas denn nicht möglich?

    Falls doch, würde ich auch noch gerne wissen, wie man eine externe PHP-Datei includet. Die, in der die Variable deklariert und initialisiert wird. Ich brauch diese nämlich in mehreren Seiten und so spare ich mir mehrmaliges Suchen und Ändern der Werte.

    Vielen Dank schonmal,
    Andreas

  2. #2
    Administratorin Avatar von lucina
    Registriert seit
    19.06.2009.
    Ort
    Kiel (DE)
    Beiträge
    7.328
    Partner-ID
    152
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Das geht normalerweise über http://www.contao.org/inserttags.html -> Include-Elemente.

    Welche Tags in HTML-Elementen erlaubt sind, das legst Du in den Einstellungen fest. PHP sollte dort jedoch nicht stehen, weil das dann ggf. auch Redakteure etc einsetzen könnten.

    Carolina.

  3. #3
    Contao-Fan Avatar von µaTh
    Registriert seit
    13.05.2010.
    Beiträge
    950

    Standard

    Ob PHP eingefügt werden kann, kann ich dir nicht sagen. ich kann dir aber sagen, warum die PHP-Tags gelöscht werden.
    Unter System | Einstellungen | Sicherheitseinstellungen kannst du festlegen welche Tags erlaubt sind. Wenn du da jedoch das PHP-Tag hinzufügst, könntest du dir damit eine Sicherheitslücke einbauen.

    Ansonsten kannst du PHP-Tags innerhalb der Templates verwenden.

  4. #4
    Contao-Nutzer
    Registriert seit
    05.09.2010.
    Beiträge
    25

    Standard

    Vielen Dank für die Antworten.

    Gut, wenn es Alternativen dafür gibt, würde ich auch gerne auf PHP verzichten wollen. Gibt es denn sowas wie Textbausteine/Globale Text-Variablen, die ich für solche Zwecke verwenden kann? Ich bin mir nicht mehr sicher, ob ich nicht erst etwas darüber gelesen hab.

  5. #5
    Contao-Fan Avatar von Bandyt
    Registriert seit
    22.04.2010.
    Ort
    Bremen
    Beiträge
    808

    Standard

    Was sind denn globale Text-Variablen?

    Was möchtest du denn ausgeben lassen?
    Meine Erweiterungen: League Manager | Forum

  6. #6
    Contao-Nutzer
    Registriert seit
    05.09.2010.
    Beiträge
    25

    Standard

    Ich mache gerade eine Webseite für eine Web-Anwendung und in der Variable ist dessen Versionsnummer gespeichert. Und ich möchte diese Versionsnummer an mehreren Stellen ausgeben.
    Ändert sich die Nummer, möchte ich diese nur einmal ändern wollen, damit das überall automatisch übernommen wird.

    Ein anderes Wort für globale Text-Variablen wäre noch Textbausteine.

  7. #7
    Contao-Fan Avatar von Bandyt
    Registriert seit
    22.04.2010.
    Ort
    Bremen
    Beiträge
    808

    Standard

    Mir fällt da spontan ein eigener Insert-Tag ein:
    http://de.contaowiki.org/Eigene_insert_tags_erstellen

    Wäre das eine Lösung für dich?
    Meine Erweiterungen: League Manager | Forum

  8. #8
    Contao-Nutzer
    Registriert seit
    05.09.2010.
    Beiträge
    25

    Standard

    Das klingt schon sehr gut, ja. Danke!

    Aber mit der Lösung kann ich noch nicht viel anfangen. Dort steht zum Einen, in der Datei config.php soll die darunter stehende Zeile entweder drin sein oder eingefügt werden. Diese Zeile fehlt aber, und ich hab dort auch gelesen, dass diese nicht geändert werden sollte/darf und man stattdessen lieber localconfig.php benutzen sollte. An was soll ich mich da richten?

    Und wo soll der JS-Code eingefügt werden? Dort ist die Datei MyClass.php angegeben, die aber überhaupt nicht vorhanden ist (Hab mein FTP-Programm danach suchen lassen).

  9. #9
    Contao-Urgestein Avatar von do_while
    Registriert seit
    15.06.2009.
    Ort
    Berlin | Deutschland
    Beiträge
    3.612
    Partner-ID
    1081
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo Andreas_L,

    grundsätzlich keine Änderungen in der config.php machen!
    Speichere alle Deine Änderungen in der localconfig.php, dass ist dann updatesicher, d.h. es wird bei einem Live-Update nicht überschrieben und funktioniert weiter.

    EDIT nach dem Durchlesen des Threads:
    In diesem Fall ist aber eine config.php eines eigenen Moduls gemeint. Die Erweiterungs-Module haben eine feste Verzeichnisstruktur, die mit einem config-Verzeichnis beginnen. In der darin enthaltenen config.php werden alle Eigenschaften der Erweiterung dem Contao angemeldet. So auch das PHP-Script, was dann Deine InsertTags ausführen soll.
    Geändert von do_while (05.09.2010 um 23:07 Uhr)

  10. #10
    Contao-Nutzer
    Registriert seit
    05.09.2010.
    Beiträge
    25

    Standard

    Und welches Modul soll das sein? Oder geht das mit jedem x-beliebigen?
    Das InsertTag sollte aber global über das ganze Projekt hinweg verwendbar sein..

  11. #11
    Contao-Urgestein Avatar von do_while
    Registriert seit
    15.06.2009.
    Ort
    Berlin | Deutschland
    Beiträge
    3.612
    Partner-ID
    1081
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    In dem Artikel aus dem Wiki geht es darum, ein eigenes Modul zu erstellen (Du schreibst eine eigene Contao-Erweiterung).

    Ich glaube aber, der Thread läuft in eine falsche Richtung:

    Eigentlich möchtest Du doch eigenen PHP-Code einbinden. Die Eingabe in einem HTML-Content-Element hast Du schon probiert, da nimmt Contao aus Sicherheitsgründen aber keinen PHP-Code an (weil PHP != HTML).

    Für eigene PHP-Scripts bietet Contao eine Schnittstelle, wiederum über InsertTags. Du speicherst Deinen PHP-Code in einer PHP-Datei im templates-Verzeichnis, dann rufst Du überall, wo Du dieses PHP brauchst den InsertTag {{file:meinPhpScript.php}} auf.

  12. #12
    Contao-Nutzer
    Registriert seit
    05.09.2010.
    Beiträge
    25

    Standard

    Perfekt. Genau das ist es, was ich gesucht habe! Und es funktioniert auch schon. (Nur braucht man zwei Doppelpunkte dafür)

    Vielen Dank!

  13. #13
    Contao-Urgestein Avatar von do_while
    Registriert seit
    15.06.2009.
    Ort
    Berlin | Deutschland
    Beiträge
    3.612
    Partner-ID
    1081
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Sorry, das mit den doppelten Doppelpunkten ist klar.
    Schön, dass es läuft.

  14. #14
    Contao-Nutzer
    Registriert seit
    25.06.2010.
    Beiträge
    84

    Standard

    Sorry entweder stehe ich gerade auf dem Schlauch oder ich weis nicht weiter.

    Hatte mir das Modul insertTags installiert, weil ich PHP abfragen aus der MySQL in einige Artikel einbinden wollte. Gesagt getan, habe dann die Parameter eingefügt: {{file::blabla.php}}, welche ich vorher in den template Ordner gespeichert hatte und bekomme trotz dessen eine weiße Seite.

    Kann mir jemand helfen?

  15. #15
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.548
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo the_dot,

    eine weiße Seite deutet normalerweise auf einen PHP-Fehler hin. Bitte aktiviere die in den "Einstellungen" verfügbare Option "Fehlermeldungen anzeigen" und poste dann bitte hier die ausgegebene Meldung.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  16. #16
    Contao-Nutzer
    Registriert seit
    25.06.2010.
    Beiträge
    84

    Standard

    THX erstmal für die schnelle Rückantwort.

    PHP-Code:
    Parse errorsyntax errorunexpected $end in /WWWROOT/175765/htdocs/templates/org_01.php on line 9 
    Mein Codeschnippsel:
    <?
    $sql = mysql_query("select * from tl_org WHERE id = '1'");
    while ($ds = mysql_fetch_object($sql)){

    $id = $ds -> id.chr(13);

    ?>

    <td align="right">Eintrag vom: <?=$id?></td>
    Muss noch dazu sagen das es eine eigens angelegte Tabelle in der SQL ist, falls sich jemand über die Angabe select*from wundert!

  17. #17
    Contao-Nutzer
    Registriert seit
    25.06.2010.
    Beiträge
    84

    Standard

    Manchmal sieht man den Wald vor lauter Bäumen nicht, dann wäre mir auch eingefallen das da "}“ was fehlt. Aber die id bekomme ich trotzdem nicht angezeigt!

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. Nachrichtenteaser - Bild einfügen möglich?
    Von Michaela im Forum Nachrichten/Events/FAQ
    Antworten: 32
    Letzter Beitrag: 11.03.2011, 17:32
  2. Code-Schnippsel im Text-Element einfügen...
    Von phyton2706 im Forum Allgemeine Inhaltselemente
    Antworten: 12
    Letzter Beitrag: 14.08.2010, 14:34
  3. Language key und code in den head-Bereich der Website einfügen
    Von rantanplan1304 im Forum Layout / Templates / Holy Grail
    Antworten: 2
    Letzter Beitrag: 07.12.2009, 22:40
  4. Javascript Code einfügen
    Von hinz.t im Forum Layout / Templates / Holy Grail
    Antworten: 20
    Letzter Beitrag: 27.10.2009, 11:28
  5. HTML-Code ganz am Anfang/Ende einfügen
    Von macringo im Forum Layout / Templates / Holy Grail
    Antworten: 5
    Letzter Beitrag: 21.08.2009, 11:13

Lesezeichen

Lesezeichen

Berechtigungen

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