[gelöst] Menüpunkte Sprachabhängig klappt nicht in den Primary Links
am 13.12.2008 - 20:25 Uhr in
Hallo Drupal Forum,
ich kämpfe gerade mit einer Drupalseite und Mehrsprachigkeit.
Nach dieser Anleitung und den richtigen Modulen klappt nun die Content Umschaltung einwandfrei.
Allerdings funktionieren die beschriebenen mehrsprachigen Menüs nur bedingt.
Ich habe in den Primary Links für jede Sprache einen Menüpunkt angelegt. Allerdings werden alle in den Primary "Block" angezeigt. Ordne ich aber das Menü z.b. dem Block "Rechte Spalte" zu, werden die Menüpunkte sprachabhängig gewechselt.
So wird im Template das Primary Menü ausgelesen:
<?php
if (isset($primary_links)) :
print '<div id="plinks">';
if (theme_get_setting('menutype') == '0') {
print theme('links', $primary_links, array('class' => 'links primary-links'));
}
else {
print phptemplate_get_primary_links();
}
print '</div>';
endif;
?>
Kann mir jemand einen Tipp geben, wie ich das dennoch in den Primary Bereich mehrsprachig umschalten kann?
Drupalversion ist aktuell 6.8
- Anmelden oder Registrieren um Kommentare zu schreiben
@derKosta, wenn Du hier PHP
am 13.12.2008 - 21:19 Uhr
@derKosta,
wenn Du hier PHP Code postest reicht es aus am Anfang und am Ende des Code-Bereiches die PHP Tags zu setzen.
Edit
Ich habe mir erlaubt Deinen Post zu korrigieren und hoffe das ist OK fuer Dich.
-------------
quiptime
Organize Your Web. GbR coming soon.
Deine Frage mit der Uebersetzung der Primary Links
am 13.12.2008 - 21:26 Uhr
Um Deine Frage mit der Uebersetzung der Primary Links in einer Multilanguage Installation beantworten zu koennen.
Ist das i18n Modul aktiviert?
-------------
quiptime
Organize Your Web. GbR coming soon.
Danke, hatte das nur so aus
am 13.12.2008 - 21:33 Uhr
Danke, hatte das nur so aus dem Template kopiert.
Ja das Modul ist aktiviert.
Die Übersetzung der Contentseiten und Adminseiten funktioniert ja problemlos. Auch wenn ich die Primary Links der Sidebar zuordnet, werden nur Menüpunkte der jeweiligen Sprache ausgegeben.
Aber in dem Segment im Header wo die Primary Links ausgelesen werden, werden immer alle Links des Menüs angezeigt. Dort fehlt die Sprachabfrage. Ich benutze das Marinelli Theme.
Insgesamte Mehrsprachigkeit, aber nicht die des Content
am 13.12.2008 - 22:09 Uhr
Die Frage nach der Mehrsprachigkeit von Menues stellt sich generell - nicht nur bei den Primarys und Secondarys.
Die Primarys und Secondarys als mehrsprachige Menues sind ein Sonderfall.
1.
Ich gehe davon aus das alle anderen Menues (inclusive der Bloecke) mehrsprachig funktionieren?
2.
Ebenso funktionieren die Terms mehrsprachig?
3.
Oder verwendet Du keine weiteren mehrsprachigen Menues (,Bloecke) und mehrsprachige Terms?
Um Missverstaendnisse auszuschliessen. Ich rede nicht von mehrsprachigen Inhalten der Nodes.
-------------
quiptime
Organize Your Web. GbR coming soon.
Andere Blöcke und Menüs
am 13.12.2008 - 22:28 Uhr
Andere Blöcke und Menüs werden umgeschalten. Sprachbox, Adminmenü etc.
Mehrsprachige Terms habe ich nicht.
Habe eben nochmal probiert mit einem neu erstellen Menü, welches auch einen Deutschen und einen Englischen Menüpunkt beinhaltet aber es zeigt auch beide im Header an.
Habe unter admin/build/menu/settings für "Source for the primary links:" mein selbst angelegtes Menü ausgewählt. Leider ohne erfolg.
2 Wege
am 13.12.2008 - 22:50 Uhr
aber es zeigt auch beide im Header an
Genau darauf wollte ich auch hin: Normale mehrsprachige Menues als Primarys und/oder Secondarys verwenden.
Wenn nun aber der Header spinnt und solch ein Menue dort 2-fach dargestellt wird bleibt folgende Frage. Dieses Verhalten existiert so in den Regionen der Sidebars nicht?
Wenn dem so ist, es ist so, dann bleibt nur: Auf die Header-Region des Theme verzichten und eine eigene Region erstellen. Diese eigene Region vehaelt sich mit ziemlicher Warscheinlichkeit normal das sie nicht System- bzw. Theme-beeinflusst ist.
Man kann aber noch einen anderen Weg einschlagen.
Macht Sinn wenn die Primarys und/oder Secondarys nicht sehr umfangreich sind und eher statischen Charakter bezueglich ihres Inhaltes haben. Man lokalisiert die Primarys/Secondarys mit der normalen String-Uebersetzen Funktionalitaet.
-------------
quiptime
Organize Your Web. GbR coming soon.
Ich möchte genau das
am 14.12.2008 - 00:46 Uhr
Ich möchte genau das verhalten des Menüs wie es in der Sidebar ist, auch in dem Header haben.
Primary Links in der Sidebar werden sprachabhängig angezeigt, im Header nicht.
Wie verfahre ich da? Würde schon gern das solide löse. Auch weil sich da ab an und an was ändert.
Auf die Header-Region des Theme verzichten ...
am 14.12.2008 - 00:57 Uhr
Da sich die Sidebar-Regionen "normal" verhalten, also mehrsprachige Menues werden wie erwartet verwendet, kann man dies probieren:
Wie gesagt:
Auf die Header-Region des Theme verzichten und eine eigene Region erstellen ...
Das ist eine solide Loesung.
Auch das Lokalisieren der Primarys/Secondarys ueber die String-Translation-Funktion ist eine solide Loesung.
-------------
quiptime
Organize Your Web. GbR coming soon.
Ok, probieren wir es mit
am 14.12.2008 - 02:06 Uhr
Ok, probieren wir es mit einer neuen Region. Laut dem anderen Forenthread reicht es in die .info Datei des Themes diese zu deklarieren.
Habe ich hiermit gemacht:
regions[headernew] = HeaderNew
In der page.tpl.php dann die Region ausgeben lassen:
<?php print $headernew ?>
Solls das schon gewesen sein, denn in der Blockübersicht erscheint nichts. Oder hab ich etwas übersehen?
Nachtrag:
Ich nehme alles zurück und behaupte das Gegenteil.
Hab jetzt mittel der .info Datei des Templates meine gewünschten Regionen definiert und dann hab ich mal den Cron laufen lassen und schwups, waren die neuen Regionen drin.
Also Hinweis für die Nachwelt. Fügt man eine Custom Region in die .info Datei ein, deaktiviert das alle Standard Regionen. Also wenn dann alle Regionen, welche man braucht in der .info Datei erwähnen.
Sieht bei mir so aus:
regions[headernew] = HeaderNew
regions[content] = Content
regions[left] = Left
regions[right] = Right
Mein neues Menü der Region HeaderNew zugeordnet und alle Sprachabhängigen Menüpunkte erscheinen nur bei der gewünschten Sprache. Man ist Drupal Mehrsprachigkeit kompliziert ;-)
Noch ein Nachtrag:
Mein Block im Header wurde noch mit Blocktitel ausgegeben, da hab ich mich gewundert warum das beim Footer nicht so ist.
Im Templateordner gibt es eine block-footer.tpl.php wo nur folgendes drin steht:
<?php print $block->content; ?>
Dachte ich mir, dass muss ja auch bei meinem Menü Block gehen.
headernew.tpl.php angelegt mit dem selbigen Code Inhalt - und siehe da. Block im Header ohne Blocküberschrift.
Drupal macht Spaß :D
@derKosta, Problem/Aufgabe gelöst?
am 14.12.2008 - 02:40 Uhr
Mein Block im Header wurde noch mit Blocktitel ausgegeben
Blocktitel können auch in der Block-Konfiguration mit none ausgeblendet werden.
Insgesamt ist also Dein Problem mit "echten" mehrsprachigen Primary Links gelöst?
Bring bitte im Titel Deines Thread noch den entsprechenden Vermerk an.
PS
Die gelobte Mehrsprachenfunktion von Drupal 6 hat noch Mängel. Du hast eben für einen davon die Lösung realisiert.
============================= Tags =============================
multilanguage primary secondary links mehrsprachige Primärlinks Hauptlinks
-------------
quiptime
Organize Your Web. GbR coming soon.
Danke quiptime für den
am 14.12.2008 - 12:09 Uhr
Danke quiptime für den Support.
Thema wurde als gelöst markiert und die Drupalversion auch vermerkt.
Bin mal gespannt was in der 7er anders wird. Angeschaut hab ich mir es noch nicht.
Es war zumindest leichter als in der 5er Version. Da war schier unmöglich eine mehrsprachige Seite komfortable aufzubauen.