Ergebnis 1 bis 10 von 10

Thema: getCustomSection nur, wenn auch Inhalt zugewiesen wurde?

  1. #1
    Contao-Nutzer
    Registriert seit
    19.07.2009.
    Beiträge
    97

    Standard getCustomSection nur, wenn auch Inhalt zugewiesen wurde?

    Hi,
    ich versuche gerade einen eigenen Bereich in ein Layout zu integrieren, welcher jedoch nur angezeigt werden soll, wenn diesem Bereich auch Inhalt zugewiesen wurde. Kann man einen eigenen Layoutbereich darauf prüfen, ob darin Inhalt abgelegt ist?

    lg,
    john

  2. #2
    Contao-Nutzer Avatar von brandtmarke
    Registriert seit
    30.07.2009.
    Ort
    Bremerhaven
    Beiträge
    105

    Standard

    Ich klinke mich hier mal ein, das würd mich auch interessieren ....

  3. #3
    sq......
    Gast

    Standard

    hi,

    vielleicht sollte in dieser extension dein lösungsansatz sein https://contao.org/erweiterungsliste...000003.de.html

  4. #4
    Maintainer Avatar von xtra
    Registriert seit
    02.07.2009.
    Ort
    Tuebingen
    Beiträge
    2.007
    User beschenken
    Wunschliste

    Standard

    Ich habe hierzu in meiner fe_page einfach eine kleine Routine eingebaut, welche checkt ob ein optionaler layoutbereich leer ist.

    die o.g. Extension funktioniert meines Wissens nach nur mit den standard sections und nicht mit den custom sections.

    In fe_page.tpl muss ganz oben folgendes hinein:
    PHP-Code:
    <?php
    if(!function_exists('dumpCustomSection')) {
    function 
    dumpCustomSection($obj$section) {
        if(
    trim($obj->getCustomSection($section))!=trim(sprintf("<div id=\"%s\">\n&n"."bsp;\n</div>"$section))):
    ?>
    <?php 
    echo $obj->getCustomSection($section); ?>
    <?php 
    endif;
    }
    }
    ?>
    Anschliessend kann man ueberall im templateAufrufe folgender Art einbauen:
    PHP-Code:
            <?php dumpCustomSection($this'namedercustomsection'); ?>
    Edit: unnuetze divs in Funktion entfernt, da sie nicht core kompatibles layout erzeugen... hatte es zu schnell reingepastet.
    Geändert von xtra (23.11.2009 um 12:44 Uhr)
    Bedenke stets: Wenn Du ungenaue oder unzureichende Angaben machst, so koennte dies die Bearbeitung deiner Frage endlos verzoegern (oder sogar dazu fyhren, dass ich zu viel nachdenken muss und die Antwort vergesse!). Kein Support per PN.

  5. #5
    Contao-Nutzer Avatar von mgco3
    Registriert seit
    26.06.2009.
    Ort
    Luzern, Schweiz
    Beiträge
    116

    Standard

    Kann man sonst auch im fe_*.tpl gucken. ein simpler if(strlen($this->getCustomSection('name')) kann manchmal schon weit helfen

  6. #6
    Maintainer Avatar von xtra
    Registriert seit
    02.07.2009.
    Ort
    Tuebingen
    Beiträge
    2.007
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von mgco3 Beitrag anzeigen
    Kann man sonst auch im fe_*.tpl gucken. ein simpler if(strlen($this->getCustomSection('name')) kann manchmal schon weit helfen
    Das Problem ist, dass custom sections immer den leeren div beinhalten.
    Also wird strlen immer >0 sein.
    Bedenke stets: Wenn Du ungenaue oder unzureichende Angaben machst, so koennte dies die Bearbeitung deiner Frage endlos verzoegern (oder sogar dazu fyhren, dass ich zu viel nachdenken muss und die Antwort vergesse!). Kein Support per PN.

  7. #7
    Community-Moderator Avatar von schman
    Registriert seit
    19.06.2009.
    Ort
    Dornbirn
    Beiträge
    3.739
    User beschenken
    Wunschliste

    Standard

    @xtra

    wenn aber mit
    PHP-Code:
    $this->sections['name'
    gearbeitet wird ist dieser 0 (wenn kein Inhalt zugewiesen wird) sobald sich darin inhalt befindet ist dieser >0

  8. #8
    Contao-Nutzer Avatar von brandtmarke
    Registriert seit
    30.07.2009.
    Ort
    Bremerhaven
    Beiträge
    105

    Standard

    Danke Jungs, die Lösung funktioniert!

    nochmal der vollständigkeit halber für alle:
    PHP-Code:
    <?php 
        
    if (strlen($this->sections['meinName'])): 
            echo 
    $this->getCustomSection('meinName'); 
        else: 
        endif; 
    ?>
    Ich kannte
    PHP-Code:
    $this->sections['name'
    gar nicht, aber man lernt ja nie aus

  9. #9
    Contao-Nutzer Avatar von brandtmarke
    Registriert seit
    30.07.2009.
    Ort
    Bremerhaven
    Beiträge
    105

    Standard

    kürzer:
    PHP-Code:
        <?php 
        
    if ($this->sections['meinName']){
            echo 
    $this->getCustomSection('meinName'); 
        } 
    ?>
    funktioniert auch ....
    Geändert von brandtmarke (23.11.2009 um 14:25 Uhr)

  10. #10
    Contao-Nutzer Avatar von hartlrobert
    Registriert seit
    07.01.2010.
    Beiträge
    144

    Standard

    klasse Hinweis, danke, gleich bookmarken

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. zCheckCookie soll weiterleiten, WENN ein Coockie gesetzt wurde
    Von rogi88 im Forum Sonstige Erweiterungen
    Antworten: 8
    Letzter Beitrag: 11.04.2018, 17:38
  2. <div> der SubNavigation anzeigen, auch wenn diese leer ist
    Von Tobias im Forum Layout / Templates / Holy Grail
    Antworten: 6
    Letzter Beitrag: 22.06.2011, 12:16
  3. getCustomSection zum einbinden von artiken funktioniert nicht mehr
    Von endlezZ im Forum Layout / Templates / Holy Grail
    Antworten: 0
    Letzter Beitrag: 30.09.2010, 11:51
  4. Teaser anzeigen auch wenn nur ein Artikel auf der Seite existiert.
    Von Zwergenmeister im Forum Allgemeine Inhaltselemente
    Antworten: 0
    Letzter Beitrag: 09.03.2010, 15:10
  5. mandatory field ohne Sternchen wenn default-Inhalt
    Von el_nino im Forum Sonstiges zu Contao
    Antworten: 7
    Letzter Beitrag: 19.11.2009, 12:58

Lesezeichen

Lesezeichen

Berechtigungen

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