Page 1 of 1

Problem mit konditionalem Ersetzer

Posted: Sun 22. Feb 2015, 16:00
by photojo
Hi,

ich habe folgendes im Template

Code: Select all

[LEFT]
    <div class="col-md-3">
        {VERTMENU}
        {LEFT}
    </div>
[/LEFT ]
    <div class="col-md-[LEFT]9[/LEFT][LEFT_ELSE]12[/LEFT_ELSE]">
        {CONTENT}
    </div>
In einem Script in frontend_render steht u.a.

Code: Select all

$_vertmenu = trim(   buildCascadingMenu( 'F,' . $LEVEL_ID[1] . ',,act_path,active' )   );
Auf der Startseite ist wegen $LEVEL_ID[1] VERTMENU nicht befüllt. Dennoch reagiert es nicht. Wie kann ich es verschachteln, dass es reagiert?

Gruß Jo

Re: Problem mit konditionalem Ersetzer

Posted: Mon 23. Feb 2015, 02:28
by Old Boy
Deine Frage ist für mich nicht verständlich... was soll denn am Ende rauskommen???

Re: Problem mit konditionalem Ersetzer

Posted: Mon 23. Feb 2015, 06:22
by Oliver Georgi
Wozu überhaupt das zusätzliche Script?

Code: Select all

[LEFT]
    <div class="col-md-3">
        [LEVEL1_ID]{NAV_LIST_UL: F,  {LEVEL1_ID} , , act_path , active } [/LEVEL1_ID]
        {LEFT}
    </div>
[/LEFT ]
    <div class="col-md-[LEFT]9[/LEFT][LEFT_ELSE]12[/LEFT_ELSE]">
        {CONTENT}
    </div>
Außerdem muss das aktuell geöffnete LEVEL 1 weitere Untermenüpunkte besitzen.

Re: Problem mit konditionalem Ersetzer

Posted: Mon 23. Feb 2015, 15:14
by photojo
Hallo Oli, hallo Oldboy,

danke für eure Postings.
Also, der Code von Oli klappt prinzipiel und bringt mich etwas weiter, allerdings habe ich noch ein Problem. Am besten schildere ich nochmal etwas verständlicher was am Ende klappen sollte:

1. Auf der Startseite soll es nur dann eine linke Spalte (col-3) geben, wenn es einen CP gibt, der in {LEFT} angezeigt werden soll. Auf der Sartseite soll es aber _nie_ ein vertikales menü geben.
2. Auf allen anderen Seiten soll es immer ein vertikales Menü geben und, falls vorhanden, CPs in {LEFT}

Ich habe nun folgendes:

Code: Select all

        [LEVEL1_ID]  
 			  <div class="col-md-3 sidey">
                          {NAV_LIST_UL: F,  {LEVEL1_ID} , , act_path , active }
       			</div>
        [/LEVEL1_ID]

			 <div class="col-md-[LEVEL1_ID]9[/LEVEL1_ID][LEVEL1_ID_ELSE]12[/LEVEL1_ID_ELSE]">
						    {CONTENT}           
					 
			</div>
Das klappt gut: auf allen Seiten, außer der Startseite taucht links ein Menü auf.

Nun das Problem: Auf der Startseite soll aber auch was in {LEFT} auftauchen, falls einen entsprechender CP im "Startartikel" liegt. Und das geht leider noch nicht.

Ein Variante alá

Code: Select all

[LEFT]
{LEFT}
[LEVEL1_ID]
 {NAV_LIST_UL: F,  {LEVEL1_ID} , , act_path , active }
[/LEVEL1_ID]
[/LEFT]
führt aber dazu, dass das {NAV_LIST_UL: F, {LEVEL1_ID} , , act_path , active } auch nicht erscheint, wenn {LEFT} leer ist.

Wie könnte ich das Problem noch lösen?!

Re: Problem mit konditionalem Ersetzer

Posted: Mon 23. Feb 2015, 15:41
by Old Boy
Die schnellste Sache (ohne jegliche "Programmierkenntnis") wäre, für die HP eine eigene Vorlage zu verwenden, die keine Navi generiert!

Re: Problem mit konditionalem Ersetzer

Posted: Mon 23. Feb 2015, 15:43
by photojo
Klar, Old Boy, das wäre sicher auch eine Variante, aber ich bevorzuge, wenn irgendwie möglich, ein Template.

Re: Problem mit konditionalem Ersetzer

Posted: Mon 23. Feb 2015, 15:57
by Oliver Georgi
Zusätzliches Template ist hier ungünstig, weil Menüpunkte eher dynamischer Art sind. Wann immer möglich, sollte mit einem einzigen Template gearbeitet werden. Vor allem bei vielen Menüpunkten ist das irgendwann nicht mehr zu überschauen.

Re: Problem mit konditionalem Ersetzer

Posted: Mon 23. Feb 2015, 16:47
by photojo
So, ich habe mein Problem gelöst. Vielleicht gehts noch "kürzer", aber es geht.

Hier der code

Code: Select all

[LEFT]
        <div class="visible-lg">
          <div class="col-md-3 sidey">
            <!-- Sidebar Starts Here -->
            <div class="padd sidebar">
              <!-- Each sidebar should be enclosed inside "widget class" -->
              <!-- 1st widget -->
              {LEFT}
              [LEVEL1_ID]
              <div class="nlu_navi1"> {NAV_LIST_UL: F,  {LEVEL1_ID} , , act_path , active } </div>
              [/LEVEL1_ID] 
              </div>
            <!-- Sidebar Ends Here -->
          </div>
        </div>
        [/LEFT]
        [LEFT_ELSE]
        [LEVEL1_ID]
        <div class="visible-lg">
          <div class="col-md-3 sidey">
            <!-- Sidebar Starts Here -->
            <div class="padd sidebar">
              <div class="nlu_navi1"> {NAV_LIST_UL: F,  {LEVEL1_ID} , , act_path , active } </div>
            </div>
            <!-- Sidebar Ends Here -->
          </div>
        </div>
        [/LEVEL1_ID]
        [/LEFT_ELSE]
        <!-- betrifft die content-spalte -->
        [LEFT]
        <div class="col-md-9" >
          <div class="whity content">
            <!-- Content should be encloased inside div with the class "posts" -->
            <div class="posts">
              <!-- Each entry should be enclosed inside div with the class "entry" -->
              <div class="entry">
                <!--  <div class="padd">    -->
                <!-- Entry title -->
                <!-- Flex Slider -->
                {CONTENT}
                <!--  </div>      -->
              </div>
            </div>
          </div>
        </div>
        [/LEFT]
        [LEFT_ELSE]
        <div class="col-md-[LEVEL1_ID]9[/LEVEL1_ID][LEVEL1_ID_ELSE]12[/LEVEL1_ID_ELSE]" >
          <div class="whity content">
            <!-- Content should be encloased inside div with the class "posts" -->
            <div class="posts">
              <!-- Each entry should be enclosed inside div with the class "entry" -->
              <div class="entry">
                <!--  <div class="padd">    -->
                <!-- Entry title -->
                <!-- Flex Slider -->
                {CONTENT}
                <!--  </div>      -->
              </div>
            </div>
          </div>
        </div>
        [/LEFT_ELSE]