Contao-Camp 2024
Ergebnis 1 bis 13 von 13

Thema: BE Template "Variable" gesucht

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

    Standard BE Template "Variable" gesucht

    Hallo schon wieder!

    Ich schätze die Frage ist für die "Wissenden" einfach: Ich möchte, weil ich ja ZWEI von einander unabhängige (!) Instanzen betreue, in die orange farbene Titelzeile (da wo auch das Contao-Logo und der Schriftzug "Contao" steht) schreiben, welche ich gerade bearbeite - im 3.5 steht das in der Titelzeile der Box mit "Systemnachrichten", Zuletzt bearbeitet" usw. In der 4.4 fehlt mir das.
    Dass das im Template be_main geht habe ich schon entdeckt, statisch ist natürlich leicht machbar - aber gibt es eine Variable, insert-tag, whatever was ich da einsetzen kann die die Domain oder sowas enthält?

    TIA
    purzel

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

    Support Contao

    Standard

    Hier die Contao Inserttags für die Umgebungsvariablen: https://docs.contao.org/books/manual...ment-variables
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

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

    Standard

    Die werden leider offenbar im Backend-Template nicht substituiert.

    Bedingt "schön" fand ich <?= $this->base ?> - das schreibt zwar "komplett" mit https:// den Servernamen da hin, passt sich aber wahrscheinlich selber richtig an wenn ich es auf www.... ändere. Mit <?= $this->showTemplateVars() ?> fand ich nichts besser geeignetes :-(
    Nach einigen Experimenten entschied ich mich für ganz klassisch <?= $_SERVER['HTTP_HOST'] ?>

    Trotzdem danke.

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

    Support Contao

    Standard

    Du kannst folgendes verwenden:

    • Contao 4.4
      PHP-Code:
      <?= \Controller::replaceInsertTags('{{env::host}}'?>
    • Contao 4.7
      PHP-Code:
      <?= $this->host ?>
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

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

    Standard

    Zitat Zitat von xchs Beitrag anzeigen
    • Contao 4.4
      PHP-Code:
      <?= \Controller::replaceInsertTags('{{env::host}}'?>
    • Contao 4.7
      PHP-Code:
      <?= $this->host ?>
    Da muss man, besonders wenn man keinen Plan von diesem "Objektkram" hat, erstmal drauf kommen
    Danke erstmal, jedoch...
    Welchen Vorteil hat das gegenüber meiner "klassischen" Variante?
    (Außer dass es schon wieder in unterschiedlichen Versionen völlig unterschiedlich ist? (Sorry wegen der Ironie)

  6. #6
    Community-Moderatorin & Contao-Urgestein Avatar von mlweb
    Registriert seit
    10.07.2011.
    Beiträge
    6.715
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von purzel Beitrag anzeigen
    (Außer dass es schon wieder in unterschiedlichen Versionen völlig unterschiedlich ist? (Sorry wegen der Ironie)
    Programmiersprachen entwickeln sich, Contao entwickelt sich .
    Ich habe Dir mit meinen Hinweisen geholfen und Du möchtest Dich bedanken?
    Unterstütze bitte das Contao-Projekt (Button Links)
    Weitere Spendenmöglichkeiten
    ------------------------------------------------------------------------------------------------------
    Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
    Contao-Online-Video-Kurse: Contao Academy
    Funktionalität erweitern: Contao-Erweiterungen

    Für Dinge die man mit html5 und css3 lösen kann, braucht man kein javascript.




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

    Support Contao

    Standard

    Zitat Zitat von purzel Beitrag anzeigen
    Außer dass es schon wieder in unterschiedlichen Versionen völlig unterschiedlich ist?
    Ist es nicht! Du kannst selbstverständlich auch in Contao 4.7 (oder neuer) die Variante aus Contao 4.4 weiterverwenden. Dass der Host inzwischen auch als Templatevariable via <?= $this->host ?> zur Verfügung steht, finde ich doch nur positiv. Es ist ja völlig legitim, dass sich ein System auch weiterentwickeln darf. Es wird ja schließlich nichts weggenommen, sondern nur ein weiteres (hilfreiches) Feature hinzugefügt.

    Ansonsten kannst Du das natürlich gerne so machen, wie Du es für richtig empfindest bzw. wie es für Dich opportun ist.
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  8. #8
    Contao-Fan Avatar von Nightwing
    Registriert seit
    29.05.2013.
    Beiträge
    436

    Standard

    Zitat Zitat von xchs Beitrag anzeigen
    • Contao 4.7
      PHP-Code:
      <?= $this->host ?>
    Hallo,

    Die Var host gibt ja die Domain aus, mit welcher Var gebe ich den Seitennamen aus? rootPageTitle / pageTitle (in obige Funktion eingebettet) funktioniert nicht?!
    Ich nutze Contao 4.7.x
    Hast Du mir da eine Idee? Danke!

    ToM

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

    Support Contao

    Standard

    Im Backend?
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  10. #10
    Contao-Fan Avatar von Nightwing
    Registriert seit
    29.05.2013.
    Beiträge
    436

    Standard

    Ja, im Template be_main / login

    Bis jetzt ists halt so drin, was mir aber nicht so gefällt. Variablen machen nunmal mehr Sinn
    PHP-Code:
    <title> <?= $GLOBALS['objPage']->pageTitle 'Nightwing'?> | <?= $this->title ?></title>
    ToM

  11. #11
    Contao-Fan Avatar von Nightwing
    Registriert seit
    29.05.2013.
    Beiträge
    436

    Standard

    Alternativ, um das Gleiche zu Erreichen, bräuchte ich eine (oder mehrere) PHP String Funktionen:

    Nehmen wir an, mein host ist: neu.subbertolle-domain.de
    Ich hätte davon gerne nur den Teil: Subbertolle Domain
    Sprich: alles zwischen den Punkten (nur im Falle eine Subdomain besteht...), jedes Wort am Anfang gross (= ucfirst Funktion), Trennzeichen ersetzen durch Leerzeichen.

    Wie mache ich das all in one mit der Var $this->host ?

    ToM

    PS: Das leichteste, die Grossschrift des ersten Zeichens hab ich mal...
    PHP-Code:
    <title><?= ucfirst $this->host ?> | <?= $this->title ?></title>

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

    Standard

    OT: Ich hoffe, ich bin mit mit meiner kleinen Ironie nicht zu negativ aufgefallen oder bin gar irgendwem zu nahe getreten - das war auf keinen Fall beabsichtigt.
    Im Grunde bin ich sehr dankbar, dass einem hier so oft so selbstlos geholfen wird, echt super! Wenn Funktionen DAZUKOMMEN, die alten aber weiterhin funktionieren freut mich das natürlich - das Gegenteil habe ich leider auch schon das eine oder andere Mal erleben dürfen: neue Version installiert und "lieb gewonnene" Dinge sind plötzlich weg. Auch das ist wahrscheinlich (vorwiegend) der Weiterentwicklung von PHP und Contao "geschuldet" (nicht negativ gemeint, mir fiel nur kein besseres Wort ein). Was der/die Eine als vorteilhafte Weiterentwicklung sieht, sieht jemand anderes vielleicht als Nachteil; aus welchen Gründen auch immer. Wie überall im Leben

    Also nochmals vielen Dank für die Unterstützung (auch an anderen Stellen natürlich).

    @Nightwing: vielleicht kannst Du mit preg_split das gewünschte erreichen? Ich kann das nicht mit $this->host testen, weil ich "nur" 4.4 habe, aber
    PHP-Code:
    <?php
    $var
    ="www.tolle-domain.de";
    $teile preg_split("/[-\.]+/"$var);
    print_r($teile);
    ?>
    liefert Array ( [0] => www [1] => tolle [2] => domain [3] => de )

  13. #13
    Contao-Fan Avatar von Nightwing
    Registriert seit
    29.05.2013.
    Beiträge
    436

    Standard

    Danke purzel, das schau ich mir gerne an, wird aber ein paar Tage dauern bis dahin.
    Das Wochenende steht an ;-)

    ToM

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
  •