• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Menupunkt wird nicht angezeigt

T

tobi1994

Guest
Hallo,

ich habe ein Menupunkt das nur für User sichtbar ist, in dem Menupunkt gibt es Untermenupunkte.

Für User Sichtbar sind im selben Menupunkt die Untermenupunkte
Unknown 1
Unknown 2
folgende dannach erst für Admins
Unknown 3
Unknown 4

..jedoch werden mir die von den Admins als Admin nicht angezeigt, sehe auch nur wie bei den Usern Unknown 1 & 2.

Code:
                            {foreach item=i from=$hooks->add_User_Menu|@sortby:"#prio"}
                            {if $i.id eq 'usercp'}
                        <li><a href="#"><img src="../settings.png" class="settings_page" alt="Settings"></img></a>
                            <ul>
                            <li><a href="#" class="unknown">unknown1</a></li>
                            <li><a href="#" class="unknown">unknown2</a></li>
                            {if $i.id eq 'admincp'}
                            <li><a href="#" class="unknown">unknown3</a></li>
                            <li><a href="#" class="unknown">unknown4</a></li>
                            {/if}
                            </ul></li>
                            {/if}
                            {/foreach}
 
Werbung:
Dann wird das wohl nie zutreffen:
PHP:
{if $i.id eq 'admincp'}
Keine Ahnung warum, weil man mit dem Quellcode nichts anfangen kann. Da wirst du wohl alleine Debuggen müssen.
 
Hallo,

Beim Original sah es bei mir so aus:

Code:
                {foreach item=i from=$hooks->add_User_Menu|@sortby:"#prio"}
               
                    {if $i.id eq 'gestcp'}
                    <li class="nav-header">Guest panel</li>
                    <li><a href="{$getConfigs.baseurl}/registration.html">{$lang.registration}</a></li>
                    <li><a href="{$getConfigs.baseurl}/zone-login.html">{$lang.login}</a></li>
                    {elseif $i.id eq 'admincp'}
                    <li class="nav-header">Admin panel</li>
                    <li><a href="{$getConfigs.baseurl}/admincp.html?tokenAdmin={$smarty.cookies.tokenAdmin}"><i class="icon-wrench"></i> {$lang.adminsettings}</a></li>
                    <li><a href="{$getConfigs.baseurl}/admincp/users/?tokenAdmin={$smarty.cookies.tokenAdmin}"><i class="icon-user"></i> {$lang.adminusers}</a></li> 
                    <li><a href="{$getConfigs.baseurl}/admincp/pastes/?tokenAdmin={$smarty.cookies.tokenAdmin}"><i class="icon-file"></i> {$lang.adminpastes}</a></li>
                    <li><a href="{$getConfigs.baseurl}/admincp/plugins/?tokenAdmin={$smarty.cookies.tokenAdmin}"><i class="icon-magnet"></i> {$lang.adminplugins} </a></li>               
                    {elseif $i.id eq 'usercp'}
                    <li class="nav-header">User panel</li>
                    <li><a href="{$getConfigs.baseurl}/account.html"><i class="icon-cog"></i> {$lang.accountSettings}</a></li>
                    <li class="divider"></li>
                    <li><a href="{$getConfigs.baseurl}/index.php?page=logout"><i class="icon-remove-circle"></i> {$lang.logout}</a></li>
                    {else}
                    <li><a href="{$getConfigs.baseurl}/{$i.url}">{$i.title}</a></li>
                    {/if}                   
                {/foreach}

Danke
 
Werbung:
Ein Tipp: Rücke deinen Quellcode mal richtig ein und du wirst vielleicht den Fehler entdecken
Was ich allerdings nicht verstehe, du hast mit einfachen PHP-Sachen schon Probleme und jetzt strickst du an einem Template rum? Das kann doch nicht gut gehen.
 
Ich würde auch sagen, dass $i.id niemals 'admincp' ergibt. Aber das kannst du doch ganz leicht einmal nachprüfen in dem du $i.id ausgibst.

Außerdem was mi rnoch auffällt, oben machst du es so das du als Admin die User Links sowie die Admin links sehen kannst. In deinem unteren Beispiel machst du das so, dass du entweder oder sehen kannst.
Ist das so gewollt?
 
Zuletzt bearbeitet:
Werbung:
Hallo,

Admins sollen Unknown 1,2,3,4 sehen und die normalen User nur Unknown 1,2.

Wenn ich es sauber einrücke sieht es so aus:

Code:
{foreach item=i from=$hooks->add_User_Menu|@sortby:"#prio"}
    {if $i.id eq 'usercp'}
        <li><a href="#"><img src="../settings.png" class="settings_page" alt="Settings"></img></a>
        <ul>
            <li><a href="#" class="unknown">unknown1</a></li>
            <li><a href="#" class="unknown">unknown2</a></li>
    {if $i.id eq 'admincp'}
            <li><a href="#" class="unknown">unknown3</a></li>
            <li><a href="#" class="unknown">unknown4</a></li>
    {/if}
        </ul>
        </li>
    {/if}
{/foreach}

komme leider trotzdem nicht drauf was falsch ist.
 
Wenn ich es sauber einrücke sieht es so aus:
Nee, tut es eben nicht! Nee, nee, nee, selbst Einrücken kriegst du nicht hin! :(
PHP:
{foreach item=i from=$hooks->add_User_Menu|@sortby:"#prio"}
  {if $i.id eq 'usercp'}
      <li><a href="#"><img src="../settings.png" class="settings_page" alt="Settings"></img></a>
        <ul>
          <li><a href="#" class="unknown">unknown1</a></li>
          <li><a href="#" class="unknown">unknown2</a></li>
          {if $i.id eq 'admincp'}
              <li><a href="#" class="unknown">unknown3</a></li>
              <li><a href="#" class="unknown">unknown4</a></li>
          {/if}
      </ul>
    </li>
  {/if}
{/foreach}
Und wenn dir jetzt immer noch nichts auffällt, dann lass' es besser sein und beschäftige dich erst mal richtig mit den Grundlagen.
 
@bdt600
so ganz richtig eingerückt ist das aber auch nicht oder ich brauch ne neue brille und erkenn es selbst nicht. Beim ersten einrücken hast du zwei Leerschritte und dann hast du vier benutzt.
Aber ich musste nun auch etwas länger überlegen, gebe ich ehrlich zu aber nun hab ich es auch verstanden warum es nicht klappt :D

Aber bei seinem vorletzten Beispiel hat es nicht aufgrund der Einrückung nicht geklappt sondern weil $i.id nicht 'admincp' entsprach
 
Werbung:
Code:
{foreach item=i from=$hooks->add_User_Menu|@sortby:"#prio"}
  {if $i.id eq 'usercp'}
      <li><a href="#"><img src="../settings.png" class="settings_page" alt="Settings"></img></a>
        <ul>
          <li><a href="#" class="unknown">unknown1</a></li>
          <li><a href="#" class="unknown">unknown2</a></li>
  {/if}
          {if $i.id eq 'admincp'}
              <li><a href="#" class="unknown">unknown3</a></li>
              <li><a href="#" class="unknown">unknown4</a></li>
          {/if}
      </ul>
    </li>
{/foreach}

so werden mir die Punkte zwar angezeigt, aber nicht in dem Menupunkt sondern daneben :(
 
So und jetzt nochmal die augen gespitzt... Ich bring dich mal auf die richtige spur. Es wird ein Tag geschlossen welches aber nur geöffnet wird, wenn etwas zutrifft :D
 
ja mit elseif oder: {elseif $i.id eq 'admincp'}......{else} :mad:


dann zeigt es mir zwar wieder die Menupunkte an aber auch wieder nicht in dem Untermenukategorie o_O

Code:
{foreach item=i from=$hooks->add_User_Menu|@sortby:"#prio"}
  {if $i.id eq 'usercp'}
      <li><a href="#"><img src="../settings.png" class="settings_page" alt="Settings"></img></a>
        <ul>
          <li><a href="#" class="unknown">unknown1</a></li>
          <li><a href="#" class="unknown">unknown2</a></li>
  {/if}
          {elseif $i.id eq 'admincp'}
              <li><a href="#" class="unknown">unknown3</a></li>
              <li><a href="#" class="unknown">unknown4</a></li>
          {else}
      </ul>
    </li>
{/foreach}
 
Werbung:
Das müsste soweit normal passen mit den id den es funktioniert auch das es bei einem Admin angezeigt wird nur die Darstellung nicht :(
 
Code:
{foreach item=i from=$hooks->add_User_Menu|@sortby:"#prio"}
  {if $i.id eq 'usercp'}
      <li><a href="#"><img src="../settings.png" class="settings_page" alt="Settings"></img></a>
        <ul>
          <li><a href="#" class="unknown">unknown1</a></li>
          <li><a href="#" class="unknown">unknown2</a></li>
  {/if}
          {elseif $i.id eq 'admincp'}
              <li><a href="#" class="unknown">unknown3</a></li>
              <li><a href="#" class="unknown">unknown4</a></li>
          {else}
      </ul>
    </li>
{/foreach}

Also in diesem Beispiel machst du nach dem else die if bedingung nicht zu, sprich es fehlt ein {/if}. Außerdem ist dein {/if} vor dem elseif schwachsinnig.
Dann öffnest du ein <ul> Tag wenn id = 'usercp' ist aber schließt es außerhalb bzw. weiß ich gerade gar nicht ob er das schließt. Hängt davon ab ob das {else} nun interpretiert wird oder nicht
Ich meine aber bei smarty muss man {/if} noch schreiben.

Und falls du nun unknown1 und unknown2 auch für admins angezeigt haben willst, dann hat thecain schon geschrieben was du beachten musst. Falls du das so haben willst, dann brauchst du dich nicht um das <ul> tag kümmern. Das regel sich denn ganz automatisch, naja zum größtenteils jedenfalls.

Also damit solltest du es jetzt lösen können
 
Werbung:
Beim ersten einrücken hast du zwei Leerschritte und dann hast du vier benutzt.
Ob 2 oder 4 Leerzeichen ist doch wurscht, wichtig ist, dass man durch das Einrücken die Verschachtelung erkennt, nur darum geht es hier ja. Und selbst das hat tobi1994 nicht auf die Kette bekommen.
Aber bei seinem vorletzten Beispiel hat es nicht aufgrund der Einrückung nicht geklappt sondern weil $i.id nicht 'admincp' entsprach
Falsches oder fehlendes Einrücken verursacht niemals Fehler, es geht dabei um die Lesbarkeit.

Das schlimme an diesem Thread ist ja wieder einmal, dass hier wieder mal ohne Nachdenken an einem Script rumgestrickt wird, und das zeigt sich bei fast allen Threads von tobi1994. Da fehlt mir auf Dauer das Verständnis dafür.
 
Das schlimme an diesem Thread ist ja wieder einmal, dass hier wieder mal ohne Nachdenken an einem Script rumgestrickt wird, und das zeigt sich bei fast allen Threads von tobi1994. Da fehlt mir auf Dauer das Verständnis dafür.

Ja da gebe ich dir vollkommen recht, besonders weil die Quellcodes vom ihm auch nicht besser wurden sondern immer chaotischer, das ist mehr rumprobiere als logisches denken.

Und ich glaube ich versteh erst jetzt das der dritte Post gar nicht der Quelltext von ihm ist sondern wie es vorher aussah. Wer lesen kann ist klar im vorteil :oops:
 
Code:
                            {foreach item=i from=$hooks->add_User_Menu|@sortby:"#prio"}
                            {if $i.id eq 'usercp'}
                        <li><a href="#"><img src="../settings.png" class="settings_page" alt="Settings"></img></a>
                            <li><a href="#" class="unknown">unknown1</a></li>
                            <li><a href="#" class="unknown">unknown2</a></li>
                            {elseif $i.id eq 'admincp'}
                            <li><a href="#" class="unknown">unknown3</a></li>
                            <li><a href="#" class="unknown">unknown4</a></li>
                            {else}
                            </li>
                            {/if}
                            {/foreach}

so sieht es nun aus, zwar jetzt nicht sauber eingerückt, aber so habe ich es von dir verstanden B3nnoX
 
Werbung:
Versuch mal das hier
HTML:
{foreach item=i from=$hooks->add_User_Menu|@sortby:"#prio"}
    {if $i.id eq 'usercp' OR $i.id eq 'admincp'}
        <li><a href="#"><img src="../settings.png" class="settings_page" alt="Settings"></img></a></li>
        <li><a href="#" class="unknown">unknown1</a></li>
        <li><a href="#" class="unknown">unknown2</a></li>
    {elseif $i.id eq 'admincp'}
        <li><a href="#" class="unknown">unknown3</a></li>
        <li><a href="#" class="unknown">unknown4</a></li>
    {/if}
{/foreach}
 
Hi,

bei mir wird das nun so angezeigt ind er Menu Zeile: Grafik Unknown1 Unknown2 Grafik Unknown1 Unknown2 dies alles nebeneinander nicht als Dropdown. (Unknown 3,4 wird nicht angezeigt stattdessen 1,2 nochmals)

Danke Gruß
 
Zuletzt bearbeitet von einem Moderator:
Zurück
Oben