Bestimmte Menüpunkte nicht verlinken bzw. Trenner einbauen

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • rezico
    Contao-Fan
    • 04.01.2011
    • 450

    #1

    Bestimmte Menüpunkte nicht verlinken bzw. Trenner einbauen

    Hallöchen,
    ich wende mich auch nochmal explizit in dieses Forum, da ich ja mit dieser Erweiterung arbeite, der alte Link:

    http://www.contao-community.de/showt...n-einem-Men%FC

    Es geht darum, dass ich gerne beispielsweise einige Links nicht verlinken möchte. Dabei geht es nicht daurm, dass ich alle Links aus Ebene 2 deaktivieren möchte (das ginge auch bestimmt irgendwie über das Template.)

    Es geht also darum dass bestimmte Menüpunkte nicht verlinkbar sein sollen, soweit so gut.

    Außerdem wäre es extrem nützlich gäbe es eine Möglichkeit eine Art Trenner, also auch leere Menüpunkte einzubauen.

    Ist das irgendwie umsetzbar?
    Stehe da gerade echt vor einem Rätsel und das ist leider absolut essentiell für mich!
    Vielen Dank!
    Contao ist schon was Feines...
  • MacKP
    Contao-Yoda
    • 15.06.2009
    • 13315

    #2
    Hallo rezico,
    die möglichen Lösungen hast du doch schon genannt bekommen. Warum also noch mal diese Anfrage hier?

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

    Kommentar

    • m.koell
      Contao-Nutzer
      • 19.07.2009
      • 92

      #3
      Eine beliebte Möglichkeit auf die Schnelle? Die CSS-Klasse "missbrauchen" (zB mit empty_03, divider_05) und innerhalb des Templates dann abfragen, das wievielte Item auf nichts verlinkt bzw. einen Trenner darstellt. Allerdings kann ich Dir zu dieser Uhrzeit leider keinen Code mehr liefern.

      Kommentar

      • rezico
        Contao-Fan
        • 04.01.2011
        • 450

        #4
        Uff, Okay.
        Leider hab ich den Wikilink nur überflogen und ich dachte eigenltich er kann mir nicht helfen, da er nichts direkt mit der MooTools Nav zusammenpasst (passen kann).

        Evtl. kann mir nochmal jemand auf die Sprünge helfen.

        Bei diesem Code (aus der Wiki)

        PHP-Code:
        <ul class="<?php echo $this->level; ?>">
        <?php foreach ($this->items as $item): ?>
        <?php if ($item['isActive']): ?>
        <li class="active<?php if ($item['class']): ?> <?php echo $item['class']; ?><?php endif; ?>"><span class="active<?php if ($item['class']): ?> <?php echo $item['class']; ?><?php endif; ?>"><?php echo $item['link']; ?></span><?php echo $item['subitems']; ?></li>
        <?php else: ?>
        <li<?php if ($item['class']): ?> class="<?php echo $item['class']; ?>"<?php endif; ?>><?php if(strpos($item['class'], 'nonavlink')===false):?> <a href="<?php echo $item['href']; ?>" title="<?php echo $item['pageTitle'] ? $item['pageTitle'] : $item['title']; ?>"<?php if ($item['class']): ?> class="<?php echo $item['class']; ?>"<?php endif; ?><?php if ($item['accesskey'] != ''): ?> accesskey="<?php echo $item['accesskey']; ?>"<?php endif; ?><?php if ($item['tabindex']): ?> tabindex="<?php echo $item['tabindex']; ?>"<?php endif; ?><?php if ($item['nofollow']): ?> rel="nofollow"<?php endif; ?><?php echo $item['target']; ?>><?php else: ?><span class="<?php echo $item['class']; ?>"><?php endif; ?><?php echo $item['link']; ?><?php if(strpos($item['class'], 'nonavlink')===false):?></a><?php else: ?></span><?php endif; ?><?php echo $item['subitems']; ?></li>
        <?php endif; ?>
        <?php endforeach; ?>
        </ul>
        Wird das ganze ja ermöglicht.
        Kann mir das vielleicht irgendjemand hier irgendwie mit einbauen:

        (mootoolsnav)
        PHP-Code:
        <?php
        
          $togglerlevel = 'level_1';
          $menulevel = 'level_2';
        
        ?>
        
        <ul class="<?php echo $this->level; if($this->level == $menulevel) echo ' menuaccord" onmouseover="moomenu_stop()" onmouseout="moomenu_fire()'; ?>">
        <?php if (!isset($GLOBALS['accorditem'][$this->level])) $GLOBALS['accorditem'][$this->level] = 0; ?>
        
        <?php foreach($this->items as $item): ?>
        
        <?php if ($item['isActive']): ?>
        
        <?php if(empty($item['subitems'])): /* Ohne Untermenüs */ ?>
        
        <li class="<?php if ($item['class']) echo $item['class']; ?><?php if($this->level == $togglerlevel) echo ' nosubmenu'; ?>"><p class="active <?php if ($item['class']): ?> <?php echo $item['class']; endif; ?>"><?php echo $item['link']; ?></p></li>
        
        <?php else: /* Mit Untermenüs */ ?>
        <?php if ($this->level == $togglerlevel) $GLOBALS['activemenuaccord'] = $GLOBALS['accorditem'][$this->level]; ?>
        <li class="active <?php if ($item['class']) echo $item['class']; ?><?php if($this->level == $togglerlevel): ?> menutoggler<?php endif; ?>"><p class="active <?php if ($item['class']): ?> <?php echo $item['class']; endif; ?>"<?php if($this->level == $togglerlevel): ?> onmouseover="moomenu.accordion.display(<?php echo $GLOBALS['accorditem'][$this->level]; ?>)" onmouseout="moomenu.accordion.display(activemenuaccord)"<?php endif; ?>><?php echo $item['link']; ?></p><?php echo $item['subitems']; ?></li>
        <?php $GLOBALS['accorditem'][$this->level]++; ?>
        <?php endif; ?>
        <?php else: ?>
        
        <?php if ($this->level == $togglerlevel && strpos($item['class'], 'trail') !== false) $GLOBALS['activemenuaccord'] = $GLOBALS['accorditem'][$this->level]; ?>
        
        <?php if($this->level == $togglerlevel): /* Level 1 */ ?>
        
        <?php if(empty($item['subitems'])): /* Ohne Untermenüs */ ?>
        
        <li class="<?php if ($item['class']) echo $item['class']; ?> nosubmenu" onmouseover="moomenu_stop()" onmouseout="moomenu_fire()"><a href="<?php echo $item['href']; ?>"<?php if ($item['class']): ?> class="<?php echo $item['class']; ?>"<?php endif; ?><?php if ($item['accesskey'] != ''): ?> accesskey="<?php echo $item['accesskey']; ?>"<?php endif; if ($item['tabindex']): ?> tabindex="<?php echo $item['tabindex']; ?>"<?php endif; ?> onclick="this.blur();<?php echo $item['target']; ?>"><?php echo $item['link']; ?></a></li>
        
        <?php else: /* Mit Untermenüs */ ?>
        <li class="<?php if ($item['class']) echo $item['class']; ?> menutoggler"><a href="<?php echo $item['href']; ?>"<?php if ($item['class']): ?> class="<?php echo $item['class']; ?>"<?php endif; ?><?php if ($item['accesskey'] != ''): ?> accesskey="<?php echo $item['accesskey']; ?>"<?php endif; if ($item['tabindex']): ?> tabindex="<?php echo $item['tabindex']; ?>"<?php endif; ?> onclick="this.blur();<?php echo $item['target']; ?>" onmouseover="moomenu_display(<?php echo $GLOBALS['accorditem'][$this->level]; ?>)" onmouseout="moomenu_fire()"><?php echo $item['link']; ?></a><?php echo $item['subitems']; ?></li>
        <!-- count accorditem -->
        <?php $GLOBALS['accorditem'][$this->level]++; ?>
        <?php endif; ?>
        
        <?php else: /* Level 2 oder höher */ a?>
        
        <li class="<?php if ($item['class']) echo $item['class']; ?>"><a href="<?php echo $item['href']; ?>"<?php if ($item['class']): ?> class="<?php echo $item['class']; ?>"<?php endif; ?><?php if ($item['accesskey'] != ''): ?> accesskey="<?php echo $item['accesskey']; ?>"<?php endif; if ($item['tabindex']): ?> tabindex="<?php echo $item['tabindex']; ?>"<?php endif; ?> onclick="this.blur();<?php echo $item['target']; ?>"><?php echo $item['link']; ?></a><?php echo $item['subitems']; ?></li>
        
        <?php endif; ?>
        
        
        
        
        
        <?php endif; ?>
        
        <?php endforeach; ?>
        </ul>
        Evtl. ist es auf diesen Weg auch Möglich gewisse Menüpunkte auszublenden bzw. unsichtbar zu machen um einen "Unsichtbaren" Trenner zu erstellen!

        Wenn mir das irgendjemand machen könnte bzw. mir auf die Sprünge helfen könnte wäre ich dem jenigen extrem verbunden.
        Ich weis das ich ziemlich viel frage und auch ziemlich viel von euch abverlange, aber ich hoffe ich kann euch irgendwann genauso zur Hand gehen

        Vielen lieben Dank und gute Nacht!
        Contao ist schon was Feines...

        Kommentar

        • rezico
          Contao-Fan
          • 04.01.2011
          • 450

          #5
          Keiner eine Idee?
          Contao ist schon was Feines...

          Kommentar

          • MacKP
            Contao-Yoda
            • 15.06.2009
            • 13315

            #6
            Da du es anscheinend sehr eilig hast, musst du am besten selber ran:

            Oben wird diese Stelle benutzt:

            Code:
            <?php if(strpos($item['class'], 'nonavlink')===false):?>
            da kommt dann immer wenn nonavlink falsch ist (also ein Eintrag diese Klasse NICHT hat) der Quellcode.
            So wird dann der Link ausgegeben wenn diese Klasse nicht verwendet wird.

            Nun musst du eigentlich nur dieses if nehmen und in den Code vom MooTools Nav Template bringen.

            Was ich mich dabei allerdings frage... Funktioniert das dann überhaupt noch?
            Oder werden die Links für die Aktion gebraucht? Wenn nicht is ja egal.. wenn ja... naja, dann eben nur Weiterleitungen einrichten.

            Viele Grüße
            Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
            [Arbeitet bei -> Paus Design & Medien]
            "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

            Kommentar

            • rezico
              Contao-Fan
              • 04.01.2011
              • 450

              #7
              Hey danke! Ich Versuch mir das mal anzuschauen und umzusetzen. Eventuell gibt's ja doch noch Nr Seele die mir das hinzaubert, bis dahin versuch ich das auf jeden Fall mal selber! Im Grunde will ich eine ordnerstruktur simulieren, letztendlich ist dieser Menüpunkt auch einfach nur ein übergeordneter Ordner hinter dem keine Datei liegt (s. Anderer Theras) gibt's evtl auch eine möglichkeit den link bzw die klickmöglichkeit via CSS zu unterbinden? Viiiielen dank! 10 Stunden nonstop am fuchteln, so lernt Mans wenigsten, was?

              Nicht wundern, die iPhone Korrektur ist manchmal besonders lustig...
              Contao ist schon was Feines...

              Kommentar

              • rezico
                Contao-Fan
                • 04.01.2011
                • 450

                #8
                Also ich kriege das ums verrecken irgendwie nicht gebacken.

                Falls irgendjemand mal Zeit und Lust haben sollte das zu machen, wäre ich dem jenigen echt sehr dankbar, komme hier leider irgendwie echt nicht weiter
                Contao ist schon was Feines...

                Kommentar

                • Net Cube
                  Contao-Fan
                  • 27.01.2012
                  • 626

                  #9
                  Zitat von MacKP Beitrag anzeigen
                  Da du es anscheinend sehr eilig hast, musst du am besten selber ran:

                  Oben wird diese Stelle benutzt:

                  Code:
                  <?php if(strpos($item['class'], 'nonavlink')===false):?>
                  da kommt dann immer wenn nonavlink falsch ist (also ein Eintrag diese Klasse NICHT hat) der Quellcode.
                  So wird dann der Link ausgegeben wenn diese Klasse nicht verwendet wird.

                  Nun musst du eigentlich nur dieses if nehmen und in den Code vom MooTools Nav Template bringen.

                  Was ich mich dabei allerdings frage... Funktioniert das dann überhaupt noch?
                  Oder werden die Links für die Aktion gebraucht? Wenn nicht is ja egal.. wenn ja... naja, dann eben nur Weiterleitungen einrichten.

                  Viele Grüße

                  genau das habe ich gesucht, funktioniert super.
                  Net Cube Webdesigner aus Schleswig-Holstein

                  Kommentar

                  Lädt...