Danke für ein interessantes Contao Camp am 03. & 04. November 2018 & Contao College am 02. November 2018 im Basislager Leipzig, Deutschland
Ergebnis 1 bis 6 von 6

Thema: Inserttag {{tags_used}} im Seitentitel

  1. #1
    Contao-Nutzer Avatar von hensmatt
    Registriert seit
    18.11.2010.
    Beiträge
    72

    Frage Inserttag {{tags_used}} im Seitentitel

    Hi, was muss ich einstellen, damit das Inserttag {{tags_used}} im Seitentitel ausgegeben wird?
    (siehe Screenshot)

    In der Description klappt es.

    Ich habe in der dcaconfig folgenden Code ohne Erfolg getestet.

    PHP-Code:
    $GLOBALS['TL_DCA']['tl_page']['fields']['pageTitle']['eval']['allowHtml'] = true

    Gruß Matthias
    Angehängte Grafiken Angehängte Grafiken

  2. #2
    Contao-Fan Avatar von hschottm
    Registriert seit
    15.06.2009.
    Ort
    Loxstedt, Germany
    Beiträge
    816
    User beschenken
    Wunschliste

    Standard

    Hallo Matthias,

    Zitat Zitat von hensmatt Beitrag anzeigen
    Hi, was muss ich einstellen, damit das Inserttag {{tags_used}} im Seitentitel ausgegeben wird?
    (siehe Screenshot)

    In der Description klappt es.

    Ich habe in der dcaconfig folgenden Code ohne Erfolg getestet.

    PHP-Code:
    $GLOBALS['TL_DCA']['tl_page']['fields']['pageTitle']['eval']['allowHtml'] = true

    Gruß Matthias
    kurze Antwort: Geht nicht. Im Seitentitel sind keine Insert-Tags erlaubt. Ich habe mich gerade mal durch die Sourcen gesucht und in Controller.php die folgende Anweisung:
    PHP-Code:
    $objPage->pageTitle strip_insert_tags($objPage->pageTitle); 
    gefunden. Das ist eigentlich sehr deutlich. Darüber ist ein Verweis auf den Bugtracker-Eintrag #2853, in dem Leo auch noch mal erklärt, dass es an bestimmten Stellen Probleme mit den Insert-Tags gibt und sie deshalb da nicht erlaubt sind.

    Gruß,
    Helmut
    Blackmail's such an ugly word. I prefer extortion -- the "x" makes it sound cool.
    -- Bender

  3. #3
    Contao-Nutzer Avatar von hensmatt
    Registriert seit
    18.11.2010.
    Beiträge
    72

    Standard

    Hallo Helmut,

    danke für deine Antwort.

    Ich habe das Problem mittlerweile über ein kleines Skript im Template gelöst.

    PHP-Code:
    <?php
    global $objPage;
    $objPage->rootTitle '{{tags_used}} - Seitentitel'
    ?>

  4. #4
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    3.810

    Standard

    Servus,

    ich bin gerade auch dabei tags_used in den Seitentitel zu basteln. Leider stehen die Tags bei der Ausgabe immer in Klammern. Ein str_replace greif hier aber nicht. Im Modul selbst finde ich auch keine Variable bei der ich das löschen könnte.

    PHP-Code:
      if(strstr($_SERVER['REQUEST_URI'], '/blog/tag/'))
      {
                    
    #Sitentitel setzen wenn ein Tag benutzt wird
                    
    global $objPage;
                    
    $sonderzeichen = array("("")");
                    
    $new_title 'Blog Thema {{tags_used}}';           
                    
    $new_title str_replace($sonderzeichen""$new_title);
                    
    $objPage->pageTitle $new_title;
      } 
    Nicht so schön: Beiträge zum Thema (xxxxx)
    Schöner wäre: "Beiträge zum Thema xxxx"


    Kann mir hier jemand weiterhelfen? Evtl. auch mit einem schlankeren Code

    VG
    Frank
    Geändert von Kahmoon (04.09.2013 um 15:52 Uhr)

  5. #5
    Contao-Urgestein Avatar von Tim G
    Registriert seit
    13.02.2010.
    Ort
    Lübeck
    Beiträge
    2.174
    User beschenken
    Wunschliste

    Standard

    PHP-Code:
    #Sitentitel setzen wenn ein Tag benutzt wird
    global $objPage;
    $search = array("("")");
    $replace = array('','');
    $objPage->pageTitle 'Blog Thema '.str_replace($search,$replace,$this->replaceInsertTags('{{tags_used}}')); 
    Kannste natürlich noch nen Zweizeiler oder Einzeiler draus machen.

    Inserttags sollten innerhalb von php code am besten mit der Methode $this->replaceInsertTags aufgelöst werden.
    str_replace kann mit arrays verwendet werden, erwartet aber dann auch zwei arrays.
    Der Korrektheitwegen vielleicht nicht unbedingt den $_SERVER Array anzapfen, sondern über die Environment Klasse von Contao gehen. ($this->Environment->requestUri)

    Ich kenn jetzt die Tags Erweiterung nicht wirklich, aber wenn das eine Art Filter ist, der den GET Parameter beschreibt /tag/, bist Du gut beraten aktive Tags so abzufangen:

    PHP-Code:
    if(strlen($this->Input->get('tag') > 0)
    {
    // ein Tag ist gesetzt

    Dann sparst Du dir die Substitution der Zeichen aus der URL.
    Geändert von Tim G (04.09.2013 um 16:13 Uhr)
    http://www.tim-gatzky.de ˙ auch schon wieder 2 Jahre alt - wie die Zeit vergeht... muss mal umbauen.

  6. #6
    Contao-Urgestein Avatar von Kahmoon
    Registriert seit
    22.06.2009.
    Ort
    München
    Beiträge
    3.810

    Standard

    Danke!

    Edit:

    Klappt mit folgendem Code im news_latest.html5 Template

    PHP-Code:
    if(strlen($this->Input->get('tag')) > 0){
      
    $sonderzeichen = array("("")");
      
    $tag str_replace($sonderzeichen""$this->replaceInsertTags('{{tags_used}}'));
      
    $new_title 'Blog Thema "'.ucfirst($tag).'"';
      
    $objPage->pageTitle $new_title;

    Geändert von Kahmoon (04.09.2013 um 17:03 Uhr)

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
  •