Ergebnis 1 bis 20 von 20

Thema: [gelöst] Navigation (Suckerfish) Hauptpunkt nicht verlinken

  1. #1
    Contao-Urgestein
    Registriert seit
    07.04.2010.
    Ort
    Stuttgart
    Beiträge
    2.733
    User beschenken
    Wunschliste

    Fehler [gelöst] Navigation (Suckerfish) Hauptpunkt nicht verlinken

    Hallo, ich habe ein Suckerfish Menu eingebaut und eingerichtet.
    Funktioniert und läuft. Allerdings ist durch viele Unterpunkte die Seite eines Hauptpunktes nicht mehr vonnöten.
    Ich will aber, dass dieser Hauptpunkt existieren bleibt.
    Er sollte eben nur nicht mehr klickbar/verlinkt sein.
    Hat jemand von euch ne Ahnung?


    Kann ich vllt irgendwie in die Überschrift meines hauptpunktes html einbauen so dass dann am schluss so etwas dransteht:
    HTML-Code:
    <a href=""></a>Hauptmenupunkt<a></a>
    wobei ich das
    HTML-Code:
    </a>Hauptmenupunkt<a>
    als Namen einfüge?

    Danke schonmal
    Geändert von psren (08.04.2010 um 19:04 Uhr)

  2. #2
    Contao-Fan
    Registriert seit
    22.06.2009.
    Ort
    Düsseldorf
    Beiträge
    471

    Standard

    Willst du .level_1 oder .level_2 ausblenden? //EDIT: falsch Verstanden, also du willst den .level_1 Link deaktivieren, so dass dort nur der Name steht aber es nicht "klickbar" ist ?!

  3. #3
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo psren,
    schau mal hier -> http://https://contao.org/projects/t...beneUnverlinkt

    Da wird aufgezeigt wie sowas geht.

    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."

  4. #4
    Contao-Urgestein
    Registriert seit
    07.04.2010.
    Ort
    Stuttgart
    Beiträge
    2.733
    User beschenken
    Wunschliste

    Standard

    du willst den .level_1 Link deaktivieren, so dass dort nur der Name steht aber es nicht "klickbar" ist ?!
    Genau so ist es wiese

    MacKP sehr gut dankeschön vielmals, hilft mir schon sehr weiter.

    Allerdings bleibt das Problem dass ich nicht von jedem .level_1 Link nur die Überschrift haben will sondern nur von einigen ausgewählten.

    //Edit: Also von den anderen ist der .level_1 Link dann ganz normal verlinkt...
    Irgendne idee wie ich das bewerkstelligen könnte?
    Also erstmal muss ich diejenigen ja irgendwie kennzeichnen, hab aber keine Ahnung wie...
    Geändert von psren (07.04.2010 um 19:11 Uhr)

  5. #5
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hmm..
    in der Theorie.. gib diesen Seiten die Klasse ohne_link und mach das selbe wie bei dem Link (mit ner if-Abfrage) über diese Klasse und nicht über den Level.

    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."

  6. #6
    Contao-Urgestein
    Registriert seit
    07.04.2010.
    Ort
    Stuttgart
    Beiträge
    2.733
    User beschenken
    Wunschliste

    Standard

    hört sich plausibel an. Ich werde es allerdings erst morgen Testen können und melde mich dann zurück.

    Danke Schonmal

  7. #7
    Contao-Urgestein
    Registriert seit
    07.04.2010.
    Ort
    Stuttgart
    Beiträge
    2.733
    User beschenken
    Wunschliste

    Standard

    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; ?>>
        <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 echo $item['link']; ?>
        </a>
        <?php echo $item['subitems']; ?>
    </li>
    <?php endif; ?>
    <?php 
    endforeach; ?>
    </ul>
    //edit: PHP Code n bisschen mehr Strukturiert

    Da ich mit PHP allgemein irgendwie nur einfachste dinge fertigbekomm poste ich mal den code...

    also ich muss eine abfrage machen welche klasse mein element hat.
    .kein_link heißt meine klasse die ich dem punkt zugewiesen habe.

    bekomme ich das ganze nun jetzt irgendwie durch
    PHP-Code:
    $item['class'
    heraus was ich dann irgendwie in eine if abfrage einbaue, dass er vergleicht und dann was genau macht?
    ich muss ehrlich zugben der code von dem link den du mir geschickt hattest ist mir schon zu hoch.

    kann ich dann einfach alles von <a...> bis </a> rausmachen, wenn die klasse die eingegebene ist?

    //Edit:
    Also:
    PHP-Code:
    if ($item['class]==kein_link)
    {
    echo '
    <a...> ... </a>';
    }else{
    echo '
    /*nicht verlinkt*/' ;

    ????

    //Edit: Okay ich sehe gerade beim Testen, dass
    PHP-Code:
    $item['class] 
    den Shortlink aufruft...
    PHP-Code:
    index.php/kurzpfad.html 
    gibt es irgendwo ne beschreibung was es alles bei $item[''] gibt, oder kann mir jemand sagen was die gesuchte variable ist?
    Geändert von psren (08.04.2010 um 15:55 Uhr)

  8. #8
    Contao-Urgestein
    Registriert seit
    07.04.2010.
    Ort
    Stuttgart
    Beiträge
    2.733
    User beschenken
    Wunschliste

    Standard

    okay, hab mich oben vertan $item['class'] is doch das richtige.

    Okay, nexte überlegung mit Strpos rauszufinden ob $item['class'] die klasse .kein Link enthält.
    Wenn Strpos false zurückgibt, dann das ganze Linbkzeugs ausgeben, ansonsten nicht.
    ???
    PHP-Code:
    $string strpos ($item['class'], kein_link);
    if (
    $string == false)
    {
    echo 
    '<a...> ... </a>';
    }{
    echo 
    '/*nicht verlinkt*/' ;

    ist das vom code her richtig?
    ich kann ja eigendlich kein php, deshalb verzeiht mir die doofen fehler

  9. #9
    Contao-Fan Avatar von deerwood
    Registriert seit
    24.11.2009.
    Ort
    Hamburg
    Beiträge
    344

    Standard

    Hi psren,

    Zitat Zitat von psren Beitrag anzeigen
    ist das vom code her richtig?
    Noch nicht ganz:
    1. muss der String kein_link in Anführungszeichen stehen
    2. muss der Vergleich mit === durchgeführt werden

    Siehe die PHP Doku zu strpos(). Die Variable $string ist auch schlecht benannt, besser wäre $pos oder $position oder $hasCSSClass ... und unnötig ist sie auch, weil Du sie nur an einer einzigen Stelle wieder ausliest. Ich würde das so schreiben:

    PHP-Code:
    if (strpos($item['class'], 'kein_link') === false

    echo 
    '<a...> ... </a>'
    }{ 
    echo 
    '/*nicht verlinkt*/' 

    LG, Georg

  10. #10
    Contao-Urgestein
    Registriert seit
    07.04.2010.
    Ort
    Stuttgart
    Beiträge
    2.733
    User beschenken
    Wunschliste

    Standard

    dankeschön, läuft
    aber für was stehen die 3 Gleichzeichen?
    PHP-Code:
    === 
    Das mit den Anführungszeichen ist ein doofer fehler, kein wunder dass es nich geklappt hat

    ich hab das ganze schon in eine variable gepackt, weil ich es später nochmal benötigen werde...
    hätts der einfachheithalber vllt rauslassen sollen bis es funktioniert.


    Dankeschön, ihr seit die größten

  11. #11
    Contao-Fan Avatar von deerwood
    Registriert seit
    24.11.2009.
    Ort
    Hamburg
    Beiträge
    344

    Standard

    Hi psren,

    Zitat Zitat von psren Beitrag anzeigen
    aber für was stehen die 3 Gleichzeichen?
    Da gibt es einen Link in der PHP Doku zu strpos() und der zeigt hierhin.

    In Kürze: == würde FALSE, 0 und '' (Leerstring) als gleich behandeln. strpos() kann aber den gesuchten String ganz am Anfang finden und liefert dann 0 zurück, das würde dann mit == behandelt, als ob der String nicht gefunden worden wäre. === prüft auch den Datentyp und kann so 0 von FALSE unterscheiden.

    LG, Georg

  12. #12
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Ich würde das ganze jetzt etwas TL-Template like eher so notieren:

    Code:
    <?php if ($item['class'] == 'kein_link'): ?>kein Link<?php else: ?><a ...>...</a><?php endif; ?>
    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."

  13. #13
    Contao-Urgestein
    Registriert seit
    07.04.2010.
    Ort
    Stuttgart
    Beiträge
    2.733
    User beschenken
    Wunschliste

    Daumen hoch

    Zitat Zitat von deerwood Beitrag anzeigen
    Hi psren,



    Da gibt es einen Link in der PHP Doku zu strpos() und der zeigt hierhin.

    In Kürze: == würde FALSE, 0 und '' (Leerstring) als gleich behandeln. strpos() kann aber den gesuchten String ganz am Anfang finden und liefert dann 0 zurück, das würde dann mit == behandelt, als ob der String nicht gefunden worden wäre. === prüft auch den Datentyp und kann so 0 von FALSE unterscheiden.

    LG, Georg
    Das ist ja dann schon keine einfache Logig mehr sondern höhere :P
    super funktioniert...
    Ihr seit super, danke

  14. #14
    Contao-Urgestein
    Registriert seit
    07.04.2010.
    Ort
    Stuttgart
    Beiträge
    2.733
    User beschenken
    Wunschliste

    Daumen hoch Lösung des Problems

    Also, falls jemand die selben bedürfnisse hat wie ich, hab ich hier mal den "halbwegs aufgeräumten" code der standart navigationsfile

    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 ($item['class'] === 'kein_link'): ?><?php else: ?><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 echo $item['link']; ?></a>
        <?php endif; ?> 
            <?php echo $item['subitems']; ?>
        </li>
    <?php endif; ?>
    <?php 
    endforeach; ?>
    </ul>
    Also das funktioniert, wenn ihr dem Menupunkt, der erscheinen, aber nicht klickbar sein soll die klasse kein_link gebt :P

    viel spaß und danke für die hilfe

  15. #15
    Contao-Fan Avatar von quintacom
    Registriert seit
    08.07.2009.
    Beiträge
    294

    Standard

    Komisch. Habe das Template für die Navigation mit diesem Code ersetzt und den entsprechenden Seiten/Hauptnavigationspunkten die Klasse "kein_link" gegeben. Die Klasse wird auch vergeben, aber die Menüpukte können trotzdem noch geklickt werden. Denn es bleiben dort dort die Auszeichnungen <a> und </a> bestehen.
    Muss da noch etwas angepasst werden?

  16. #16
    Contao-Urgestein
    Registriert seit
    07.04.2010.
    Ort
    Stuttgart
    Beiträge
    2.733
    User beschenken
    Wunschliste

    Standard

    Das war ja auch nur der Leserlich gemachte Code der Standartnavigation (also im template besser lesbar, sieht dann im HTML grauenhaft aus ;-))

    PHP-Code:
    if (strpos($item['class'], 'kein_link') === false)  
    {  
    echo 
    '<a...> ... </a>';  
    }{  
    echo 
    '/*nicht verlinkt*/' ;  

    Das ist die relevante Stelle. Außerdem ist der Template-Code schon ein wenig alt, du solltest dich lieber am aktuellen Navigationstemplate orientieren.

  17. #17
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hier findet man das ganze auch noch mal im Wiki -> http://de.contaowiki.org/Navigations...icht_verlinken

    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."

  18. #18
    Contao-Fan Avatar von quintacom
    Registriert seit
    08.07.2009.
    Beiträge
    294

    Standard

    Wow, ihr seid der Hammer!
    Vielen lieben Dank.

  19. #19
    Contao-Nutzer
    Registriert seit
    03.05.2012.
    Beiträge
    114

    Standard

    Bei mir werden die Navigationspunkte leider komplett ausgeblendet. Habe "nonavlink" auch schon durch "submenu" ergänzt. Das Ergebnis bleibt aber leider das Gleiche.

    Gruß
    Boomroot

  20. #20
    Contao-Nutzer
    Registriert seit
    03.05.2012.
    Beiträge
    114

    Standard

    Funktioneirt jetzt! Die Klasse "nonavlink" musste natürlich noch angepasst werden.

Aktive Benutzer

Aktive Benutzer

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

Ähnliche Themen

  1. Navigation a la Suckerfish und der geliebte IE6
    Von phiesel im Forum Layout / Templates / Holy Grail
    Antworten: 20
    Letzter Beitrag: 31.08.2010, 17:53
  2. Navigation - Hauptmenüpunkte nicht verlinken
    Von TheGeek im Forum Layout / Templates / Holy Grail
    Antworten: 4
    Letzter Beitrag: 25.05.2010, 12:07
  3. Hauptpunkt nur verlinken, wenn ein Artikel vorhanden ist.
    Von ferni im Forum Layout / Templates / Holy Grail
    Antworten: 0
    Letzter Beitrag: 20.04.2010, 12:34
  4. Suckerfish Navigation - Untermenupunkte erscheinen nicht
    Von Chris87 im Forum Layout / Templates / Holy Grail
    Antworten: 49
    Letzter Beitrag: 13.12.2009, 16:53
  5. Horizontale Suckerfish Navigation
    Von Schlauchbeutelmaschine im Forum Layout / Templates / Holy Grail
    Antworten: 2
    Letzter Beitrag: 25.08.2009, 12:34

Lesezeichen

Lesezeichen

Berechtigungen

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