ms88: Typo3 Menü Layer2 check

Hallo,

Ich habe folgende Menüstruktur

Hauptmenü
-Link1
-Link2
-Link3
--Link 3.1
--Link 3.2

Jetzt möchte ich das Hauptmenü also Link1, Link2, Link3 oben anzeigen lassen und WENN es ein Untermenü dieser Punkte gibt links das Submenü anzeigen, sonst soll sich der Inhalt des Hauptlinks einfach über die ganze Seite erstrecken.

D.h. ich muss irgendwie abfragen, wenn es vom Menü Layer1 auch dazu ein Layer2 Menü gibt, lade Template 2 Spaltig, sonst 1Spaltig.

Ich hoffe Ihr könnt mir weiterhelfen,

lg

  1. Vielleicht geht das ganz ohne zu Programmieren, sondern einfach mit css-Negation

    #menue1 {  
        width:100%;  
    }  
      
    #menue1 :not(#submenue) {  
       width:50%;  
    }
    
    1. Mist. Natürlich so herum:

      #menue1 {  
           width:50%;  
      }  
        
      #menue1 :not(#submenue) {  
         width:100%;  
      }
      

      Jörg Reinholz

      1. Hallo,

        #menue1 {

        width:50%;
        }

        #menue1 :not(#submenue) {
           width:100%;
        }

          
        ich kann mir nicht vostellen, dass das die Lösung ist, obwohl ich zugegebenermaßen das Problem noch nicht ganz verstanden habe. Denn ` #menue1 :not(#submenue)`{:.language-css} wirkt auf alle Nachfahren von menue1, die nicht die ID submenue haben. Das ist vermutlich nicht zielführend, zumal die Definitionen für #menue1 davon völlig unberührt bleiben.  
          
        Das Problem ist hier (wieder einmal), dass CSS nicht "aufwärts" selektieren kann. Ich kann also nicht ein Element anhand der Eigenschaften oder des Vorhandenseins seiner Nachfahren bestimmen.  
          
        So long,  
         Martin  
        
        -- 
        Niemand lebt allein von seinen Träumen.  
        Aber wer träumt, lebt noch.  
        Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(
        
        1. Hallo,

          #menue1 {

          width:50%;
          }

          #menue1 :not(#submenue) {
             width:100%;
          }

          
          >   
          > ich kann mir nicht vostellen, dass das die Lösung ist,  
            
            
          Du hast Recht. Ich hab das was verhauen, derlei "has not" gibts nicht in CSS, sondern nur in jquery. Meine Idee ist damit für'n Ar ... äh obsolet.  
            
          Das wäre etwas mit :empty - da darf aber nicht mal ein Textknoten drin sein...  
            
          
          > Das Problem ist hier (wieder einmal), dass CSS nicht "aufwärts" selektieren kann. Ich kann also nicht ein Element anhand der Eigenschaften oder des Vorhandenseins seiner Nachfahren bestimmen.  
            
          Das genau ist das Problem.  
            
          [Vielleicht will ms88 ja sowas. (fiddle)](http://fiddle.jshell.net/a2ahx5x4/)  
            
          Jörg Reinholz
          
          1. Om nah hoo pez nyeetz, Jörg Reinholz!

            Vielleicht will ms88 ja sowas. (fiddle)

            Rendering forbidden

            We're sorry. It is to prevent you from displaing a potentially dangerous SPAM.

            Please, let us know if you think this page should be rendered

            Please use /a2ahx5x4/ to the edit page.

            ???

            Matthias

            --
            Der Unterschied zwischen Java und JavaScript ist größer als der zwischen nord und Norderney.

            1. Vielleicht will ms88 ja sowas. (fiddle)

              Rendering forbidden

              Ja. Sind wohl zu viele Links zu "#" :)

              Einfach oben links auf "Run" klicken - dann geht es (zumindest bei mir).

              Jörg Reinholz

        2. Meine Herren!

          Das Problem ist hier (wieder einmal), dass CSS nicht "aufwärts" selektieren kann.

          Genau, es können keine Vorfahren und auch keine älteren Geschwister selektiert werden. Beides soll mit dem Subject-Konzept gelöst werden.

          Ein Elternelement könnte demnach bald so selektiert werden:

          !vater > kind

          Ein älteres Geschwister-Element so:

          !bart ~ maggy

          Auf Jörgs Beispiel übetragen, könnte man #menue1 als Subject kennzeichnen, um das Beispiel in Gang zu setzen:

          !#menue1 :not(#submenue) {  
             width:100%;  
          }
          
          --
          “All right, then, I'll go to hell.” – Huck Finn
          1. @@1UnitedPower:

            nuqneH

            Genau, es können keine Vorfahren und auch keine älteren Geschwister selektiert werden. Beides soll mit dem Subject-Konzept gelöst werden.

            Welches es im aktuellen Editor’s Draft gar nicht mehr gibt, AFAIS. (Das hätte IMHO unter Changes durchaus erwähnt werden sollen.)

            Qapla'

            --
            „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
            1. Meine Herren!

              Genau, es können keine Vorfahren und auch keine älteren Geschwister selektiert werden. Beides soll mit dem Subject-Konzept gelöst werden.

              Welches es im aktuellen Editor’s Draft gar nicht mehr gibt, AFAIS. (Das hätte IMHO unter Changes durchaus erwähnt werden sollen.)

              Allerdings, ich habe ich mich in den Mailing-Lists müde gesucht, um die Diskussion dazu zu finden, aber die scheint nicht öffentlich stattgefunden zu haben.

              Der Ersatzmann ist wohl die Pseudoklasse :has

              --
              “All right, then, I'll go to hell.” – Huck Finn