XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   Serveradministration und serverseitige Scripte (http://xhtmlforum.de/forumdisplay.php?f=80)
-   -   wo ist der fehler (http://xhtmlforum.de/showthread.php?t=70152)

irmen 18.10.2013 17:11

wo ist der fehler
 
Hallo liebe Gemeinde,
ich bin leider php-unwissend und möchte gerne fragen, wo hier der Fehler ist.
Es geht um die Variable $welchesmenu. (Innerhalb von Wordpress)
Wenn ich den Wert der variablen direkt reinschreibe, gehts.

so wird das menu angezeigt:

PHP-Code:

    <?php echo str_replace'</li>'''wp_nav_menu( array( 'theme_location' => 'stiftungenmenu''menu_class' => 'linkes-menu''echo' => false'fallback_cb' => false ) ) ); ?>

aber leider kann ich das so nicht schreiben:

PHP-Code:

<?php echo str_replace'</li>'''wp_nav_menu( array( 'theme_location' => '?><?php echo $welchesmenu ?><?php''menu_class' => 'linkes-menu''echo' => false'fallback_cb' => false ) ) ); ?>

wie kann ich das dann schreiben?

so gehts auch nicht:

PHP-Code:

<?php echo str_replace'</li>'''wp_nav_menu( array( 'theme_location' => 'welchesmenu''menu_class' => 'linkes-menu''echo' => false'fallback_cb' => false ) ) ); ?>

(nur mit <?php echo $welchesmenu ?> aufgerufen, liest er sie immer brav aus)

Ich glaube, ich brauche nur die richtige Schreibweise. Theoretisch müsste das doch so hinhauen.

vielen dank für Hilfe!!!

protonenbeschleuniger 18.10.2013 20:58

Warum machst du das?
Du kannst doch der Funktion sagen, welches HTML du verwenden möchtest. Function Reference/wp nav menu « WordPress Codex

und du brauchst natürlich kein <?php wenn du eine Variabel in php Code einfügen möchtest.

irmen 18.10.2013 21:45

Hallo Protonenbeschleuniger,

ich habe 18 seiten.(=Seitliches menu)
Und drei Bereiche. (=horizontales Menu)
Je nachdem, in welchem Bereich man ist, soll das seitliche Menu leicht unterschiedlich sein. aber nur leicht. Der Großteil des Menus bleibt gleich.

Die Seiten auf die man jeweils kommt, sind aber hauptsächlich die gleichen.

Also:
Bereich 1
hat die Seiten A, Sub A1, sub A2, B, C, sub C1, subC2, subC3
Bereich 2
hat die Seiten A, Sub A1, sub A2, B, C, D, subD1
Bereich 1
hat die Seiten A, sub A2, B, C, D


(Alles übrigens in WP)
Ich dachte mir, das geht mit einem einzigen Template.

Ich setze eine Variable, sobald ich einen Bereich wähle. (im horizontalen Menu)
Und dann wird immer das entsprechende Seitliche Menu aufgerufen - in dem ich drei Menus mache.
Der Inhalt der variablen ist der jeweilige Menuname.
Wenn ich dann einen anderen Bereich wähle wird die Variable überschrieben und gilt bis auf weiteres.

Deshalb mache ich das.

Leider vergisst WP die Variable wieder, wenn ich die Seite verlasse. Deshalb suche ich jetzt nach einer Möglichkeit, meine Variable in die DB zu schreiben um sie dann wieder aufrufen zu können.
Seufz.

Oder gibt es in WP eine Möglichkeit? ein PLugin. Habe dort schon im Forum gefragt, aber keine Antwort bekommen.
Über Kategorien vielleicht. Das gibt dann wieder Probleme mit dem Highlighten.
Oder?

Wem fällt dazu was ein??
Hoffnungsvoll - vielen Dank im Vorraus!!

Irmen

protonenbeschleuniger 20.10.2013 15:17

Das nacht alles keinen Sinn. Deine Erklärung hat nichts mit meiner Frage zu tun. Du entfernst die li-Tags - warum? Du kannst diese Funktion so aufrufen, dass keine Liste zurück gegegeben wird.

Darüber hinaus kann diese Funktion sehr detailreich verändert werden, was dort auf der Seite auch erklärt wird. Dann geben diese wp_menu Funktionen (ich kenne diese konkret nicht) immer eine Klasse bei der aktuell aktiven Aktion aus, z.b. current-menu-item Function Reference/wp nav menu « WordPress Codex

Du solltest dich ein wenig im codex einlesen, solches rumgebastelt ist mit WP selten nötig.

irmen 21.10.2013 10:11

Zitat:

immer eine Klasse bei der aktuell aktiven Aktion aus, z.b. current-menu-item
ja, das habe ich auch gedacht, aber in diesem Fall vergibt, WP leider bei einem Seitenwechsel das "current" an die aktuell geklicke unterseite.
Ich kann die Haupt-Seiten nicht als Elternseiten strukturieren - dann würde dein Vorschlag funktionieren - denn die Unterseiten kann man ja von allen Hauptpunkten aus ansteuern.

es muss entweder mit einem cookie gehen -so rät man mir - oder, was natürlich am praktischsten wäre, ich finde ein Plugin für diese Anforderung.

Wenn du sagst, das macht alles keinen Sinn, verstehst du vielleicht nicht, was ich meine.

Aber ich habe ganz wie du den Eindruck, daß so ein rumgebastel nur immer mehr ins Gestrüpp führt.

Ich brauche ja eigentlich "nur" eine Möglichkeit, eine Variable so zu speichern, daß sie bei einem Seitenwechsel nicht vergessen oder verändert wird.

Leider weiß ich nicht, wie man das macht.
Kann mir jemand dazu vielleicht ein einfaches tutorial empfehlen?
Ich suche natürlich auch danach ,aber die sind meistens speziell und sehr kompliziert und ich habe immer den Eindruck, daß sie nicht für mein Problem passen.

Vielen Dank!!!
Irmen

protonenbeschleuniger 21.10.2013 10:20

Es macht keinen Sinn, in Bezug auf diesen Code:
Zitat:

Zitat von irmen (Beitrag 534368)
PHP-Code:

    <?php echo str_replace'</li>'''wp_nav_menu( array( 'theme_location' => 'stiftungenmenu''menu_class' => 'linkes-menu''echo' => false'fallback_cb' => false ) ) ); ?>


Du entfernst hier das schliessende li Element, warum?

protonenbeschleuniger 21.10.2013 10:24

Zitat:

Zitat von irmen (Beitrag 534448)
ja, das habe ich auch gedacht, aber in diesem Fall vergibt, WP leider bei einem Seitenwechsel das "current" an die aktuell geklicke unterseite.
Ich kann die Haupt-Seiten nicht als Elternseiten strukturieren - dann würde dein Vorschlag funktionieren - denn die Unterseiten kann man ja von allen Hauptpunkten aus ansteuern.

Das verstehen ich nicht.
Woran erkennst du "Haupt-Seiten"? Was meinst du mit "ansteuern"?

Wie auch immer, es gibt eine Reihe von wp_ Funktionen, mit denen Menustrukturen ausgegeben werden können, wenn man weiß was man möchte ist da fast alles möglich, auch ohne Plugin oder selbstgefrickelten Variabeln.

irmen 21.10.2013 10:39

Klar, du hast ganz recht,
sicher gibt es dafür funktionen und plugins. Aber deswegen wende ich mich ja hilfesuchend an die foren(auch an das WP forum) weil ich hier einfach nicht weiterkomme.

Darf ich nochmal erklären, was ich will:
Ich möchte, daß das seitliche Menu, je nach dem, welchen Bereich man anklickt, die Unterseiten in unterschiedlicher Reihenfolge anzeigt.
(diese Bereiche nannte ich vorher Hauptseiten, weil es quasi die Hauptauswahlmöglichkeit darstellt)

Es sind aber immer die gleichen (Unter-) Seiten. Nur sollen die in unterschiedlicher Reihenfolge (und manchmal auch nicht komplett)angezeigt werden.

Das will ich.
Habe ich es jetzt verständlich erklärt?

Was würdest du sagen, nach was soll ich da jetzt suchen?

Vielen Dank für die Geduld!

protonenbeschleuniger 21.10.2013 11:01

Zitat:

Zitat von irmen (Beitrag 534453)
Klar, du hast ganz recht,
sicher gibt es dafür funktionen und plugins.

Wieso Plugins? Das ist eine Wordpress Funktion für dein Template.

Zitat:

Zitat von irmen (Beitrag 534453)
Aber deswegen wende ich mich ja hilfesuchend an die foren(auch an das WP forum) weil ich hier einfach nicht weiterkomme.

Darf ich nochmal erklären, was ich will:
Ich möchte, daß das seitliche Menu, je nach dem, welchen Bereich man anklickt, die Unterseiten in unterschiedlicher Reihenfolge anzeigt.
(diese Bereiche nannte ich vorher Hauptseiten, weil es quasi die Hauptauswahlmöglichkeit darstellt)

Es sind aber immer die gleichen (Unter-) Seiten. Nur sollen die in unterschiedlicher Reihenfolge (und manchmal auch nicht komplett)angezeigt werden.

Das will ich.
Habe ich es jetzt verständlich erklärt?

Was würdest du sagen, nach was soll ich da jetzt suchen?

Nach jemanden, der sich mit Wordpress auskennt und das nach deinen Wünschen einbaut. Deine Beschreibung ist einfach zu wage, um das im Rahmen eines Forums umzusetzen. "unterschiedliche Reihenfolge", "manchmal nicht komplett" - das sind keine konkreten Beschreibungen.

David 21.10.2013 11:23

Wenn du unterschiedliche Reihenfolgen darstellen willst, dann solltest Du die Daten sortieren, bevor sie im Template dargestellt werden. Schau dir mal Function Reference/wp get nav menu items « WordPress Codex an, da gibt es einen orderby Parameter, vielleicht hiflt der dir ja schon weiter. Ansonsten musst Du halt das Array, welches die Funkton zurück gibt selbst sortieren.

Die Daten gibst Du dann an einen Nav-Menu-Walker der dir daraus das Markup rendert. Class Reference/Walker Nav Menu « WordPress Codex


Alle Zeitangaben in WEZ +2. Es ist jetzt 19:52 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2023