Ergebnis 1 bis 2 von 2

Thema: Navigation erweitern

  1. #1
    Contao-Nutzer
    Registriert seit
    27.09.2017.
    Beiträge
    4

    Standard Navigation erweitern

    Es wird eine stark abgeänderte Navigation benötigt.

    Hier die wesentlichen Informationen:


    mod_abgeaenderte_navigation.html5

    HTML-Code:
    ...
    <div><?= $this->items ?></div><!-- $this->items ist ein HTML String -->
    ...
    nav_abgeaenderte_navigation.html5

    HTML-Code:
    <?php foreach ($this->items as $item): ?>
        <?php if (!empty($item['subitems'])): ?>
            ...
            <div class="<?php if ($item['hinzugefuegt']) echo ' cssKlasse' ?>">Beispiel</div>
    	...	
       <?php endif; ?>
    <?php endforeach; ?>
    ModuleAbgeaenderteNavigation.php

    PHP-Code:
    class ModuleAbgeaenderteNavigation extends \ModuleNavigation
    {
        ...
        protected 
    $strTemplate 'mod_abgeanderte_navigation';
        ...
        public function 
    compile()
        {
             return 
    parent::compile()
        }

    $item['hinzugefuegt'] in nav_abgeaenderte_navigation.html5 wird benötigt. $this->items kommt aus der ModuleNavigation.php
    PHP-Code:
    ...
    $this->Template->items $this->renderNavigation(...);
    ... 
    und die renderNavigation(...) ist eine protected function aus Module.php, die einen HTML String zurückgibt. Und dort befinden sich die Daten, wie beispielsweise $row['isActive'], welche man in der nav_abgeaenderte_navigation.html5 nutzt. Darum geht es.

    Was muss man tun, damit letztendlich $this->item['hinzugefuegt'] in der nav_abgeaenderte_navigation.html5 zur Verfügung steht?
    Geändert von Went (27.09.2017 um 16:31 Uhr)

  2. #2
    Contao-Nutzer
    Registriert seit
    27.09.2017.
    Beiträge
    4

    Standard

    Bezogen auf obiges Beispiel:

    $this->items beziehen sich auf die Felder von tl_page !

    D.h. um auf $item['hinzugefuegt'] zugreifen zu können, muss das Feld in tl_page vorhanden sein.

    Z.B. in myModul/dca/tl_page.php

    PHP-Code:
    $GLOBALS['TL_DCA']['tl_page']['fields']['hinzugefuegt'] = array
    (
        ...
        
    'sql' => "varchar(255) NOT NULL default ''"
        
    ...
    ); 

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
  •