Primary und Secondary Links
Eingetragen von drupalino (1064)
am 29.05.2008 - 11:06 Uhr in
am 29.05.2008 - 11:06 Uhr in
Hi,
was sind eigentlich genau diese Links. Die Erklärungen, die ich finde sind mir nicht ganz eindringlich!
Kann ein Primary Link menü submeüs haben?
Wenn ja, sind das dann die Secondary Links?
Warum ist von Grundauf schon die Primary Links in Drupal angelegt (ohne Einträge)?
Gruss
drupalino
- Anmelden oder Registrieren um Kommentare zu schreiben
Geht mir genauso. Wäre gut,
am 29.05.2008 - 11:32 Uhr
Geht mir genauso.
Wäre gut, wenn es ein Tutorial gäbe, bei dem das Standard Theme mit seinen Bestandteilen erläutert würde.
Ich fasse primary und secondary links einfach als zwei getrennte Menüs auf, die man unterschiedlich platzieren kann.
Z.B. die secondary links als Footer links für Impressum, AGBs etc.
Schön dass ich nicht
am 29.05.2008 - 11:35 Uhr
Schön dass ich nicht alleine bin...
-------------------
gruss
drupalino
ja so ist es. Primary und
am 29.05.2008 - 11:41 Uhr
ja so ist es. Primary und secondary haben jedoch nichts miteinander zu tun. Untermenus können in den jeweiligen Menus erstellt werden.
Diese sind bereits angelegt, um das Arbeiten zu erleichtern. Es ist meistens bereits ein Platz im Theme (wenigstens für Primary Links) vorgesehen.
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
Aber ich kann mit diesen
am 29.05.2008 - 11:49 Uhr
Aber ich kann mit diesen Menüs trotzdem machen, was ich will? Sprich ich kann sie auch hinsetzen wo ich will?
Ich habe nämlich gesehen, das ich auf diese Links in einer anderen Art und Weise zugreifen kann als auf andere Menüs
http://drupal.org/node/44711
das würde mir die Möglichkeit eventuell geben mein Menü genauso zu machen, wie ich es haben will (habe ich in einem anderen Thread schon einmal angesprochen, aber nicht zufriedenstellend gelöst).
Auch habe ich gesehen, dass es bei Dir ein recht gutes Tut bzw. snippets gibt, wo Du diese Menüs doch ausgiebig Themes(t) :-)
-------------------
gruss
drupalino
jo, natürlich kannst du
am 29.05.2008 - 11:53 Uhr
jo, natürlich kannst du alles damit machen. ich weiss nicht, ob du sie löschen kannst, aber sonst eigentlich alles... auch themen ;)
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
Merci Werd mir das noch mal
am 29.05.2008 - 11:56 Uhr
Merci
Werd mir das noch mal genauestens reinpfeifen und sehen ob ich da bis heut abend mein Ziel erreiche.
-------------------
gruss
drupalino
AHH, noch ne Frage
am 29.05.2008 - 11:59 Uhr
AHH, noch ne Frage dazu...
ich habe kann ich auch den Titel des Primary Links Menü auf setzen? ich denke mal die $mid ist immer 2 oder ist der Titel so wichtig bzw kann man diesen doch auch dann ausblenden beim Block, wenn ich mich recht erinnere!
-------------------
gruss
drupalino
Wie füge ich denn in
am 29.05.2008 - 12:10 Uhr
Wie füge ich denn in
function _phptemplate_variables($hook, $vars) {
if ($hook == 'page') {
if ($secondary = menu_secondary_local_tasks()) {
$output = '<span class="clear"></span>';
$output .= "<ul class=\"tabs secondary\">\n". $secondary ."</ul>\n";
$vars['tabs2'] = $output;
}
// Hook into color.module
if (module_exists('color')) {
_color_page_alter($vars);
}
return $vars;
}
return array();
}
noch zusätzlich den Schnipsel hier ein,,,
$vars['primary_links'] = primary_secondary_links(variable_get('menu_primary_menu', 1),'tablist');
$vars['primary_sublinks'] = primary_sublinks(variable_get('menu_primary_menu', 1));
egal wie ich das einbinde, dann knallt alles!
-------------------
gruss
drupalino
was heisst knallt? irgend
am 29.05.2008 - 12:45 Uhr
was heisst knallt? irgend eine Fehlermeldung?
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
Sorry, das hat sich
am 29.05.2008 - 12:50 Uhr
Sorry, das hat sich erledigt.
Ich Pflaume muss natürlich auch die Funktionen schon drin haben, sonst kann ich die $vars ja nicht füllen ;-)
Allerdings, finde ich in Deiner Beschreibung auf http://www.rapsli.ch/drupal/blog/03.02.2008-unterlinks-von-primary-links... nicht den Part um das primary Menu einzuhängen? Nur um die Submenüs rauszupusten!
-------------------
gruss
drupalino
für primary links bleibt es
am 29.05.2008 - 13:00 Uhr
für primary links bleibt es natürlich einfach standard... ich glaube $primary_links oder so etwas. müsste es nachschauen.
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
Ja, denke ich auch,
am 29.05.2008 - 13:02 Uhr
Ja, denke ich auch, allerdings bekomme ich da nich eine primarys, die haben übrigensd die id 2 !
-------------------
gruss
drupalino
Bei mir spucken die primarys
am 29.05.2008 - 13:11 Uhr
Bei mir spucken die primarys "Recent post" aus ???
-------------------
gruss
drupalino
das ist aber ein wenig
am 29.05.2008 - 13:18 Uhr
das ist aber ein wenig sonderbar und sicher nicht normal.
<?php
print theme('links_primary', $primary_links)
?>
was kommt denn dabei raus?
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
Hmm, gar
am 29.05.2008 - 13:21 Uhr
Hmm, gar nichts!!!!
-------------------
gruss
drupalino
Hier muss der Haken
am 29.05.2008 - 13:44 Uhr
Hier muss der Haken sein
$vars['primary_links'] = primary_secondary_links(variable_get('menu_primary_menu', 1),'tablist');
denn hier
$vars['primary_links'] = "TEST";
bekomme ich TEST raus. Nur was ist falsch?
nur
<?php
print theme('links_primary', $primary_links)
?>
sagt trotzdem nichts!
-------------------
gruss
drupalino
poste mal deine ganze
am 29.05.2008 - 13:48 Uhr
poste mal deine ganze template.php in pastebin
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
pastebin
am 29.05.2008 - 13:50 Uhr
pastebin ??
-------------------
gruss
drupalino
Hier der Code
am 29.05.2008 - 13:53 Uhr
Hier der Code
<?php
// $Id: template.php,v 1.4.2.1 2007/04/18 03:38:59 drumm Exp $
/**
* Sets the body-tag class attribute.
*
* Adds 'sidebar-left', 'sidebar-right' or 'sidebars' classes as needed.
*/
function phptemplate_body_class($sidebar_left, $sidebar_right) {
if ($sidebar_left != '' && $sidebar_right != '') {
$class = 'sidebars';
}
else {
if ($sidebar_left != '') {
$class = 'sidebar-left';
}
if ($sidebar_right != '') {
$class = 'sidebar-right';
}
}
if (isset($class)) {
print ' class="'. $class .'"';
}
}
/**
* Return a themed breadcrumb trail.
*
* @param $breadcrumb
* An array containing the breadcrumb links.
* @return a string containing the breadcrumb output.
*/
function phptemplate_breadcrumb($breadcrumb) {
if (!empty($breadcrumb)) {
return '<div class="breadcrumb">'. implode(' › ', $breadcrumb) .'</div>';
}
}
/**
* Allow themable wrapping of all comments.
*/
function phptemplate_comment_wrapper($content, $type = null) {
static $node_type;
if (isset($type)) $node_type = $type;
if (!$content || $node_type == 'forum') {
return '<div id="comments">'. $content . '</div>';
}
else {
return '<div id="comments"><h2 class="comments">'. t('Comments') .'</h2>'. $content .'</div>';
}
}
/**
* Override or insert PHPTemplate variables into the templates.
*/
function _phptemplate_variables($hook, $vars) {
$vars['primary_links'] = primary_secondary_links(variable_get('menu_primary_menu', 1),'tablist');
$vars['primary_sublinks'] = primary_sublinks(variable_get('menu_primary_menu', 1));
if ($hook == 'page') {
if ($secondary = menu_secondary_local_tasks()) {
$output = '<span class="clear"></span>';
$output .= "<ul class=\"tabs secondary\">\n". $secondary ."</ul>\n";
$vars['tabs2'] = $output;
}
// Hook into color.module
if (module_exists('color')) {
_color_page_alter($vars);
}
return $vars;
}
return $vars;
}
/**
* Hier werden die primary und secondary links formatiert, so dass diese einen zusatz markup bekommen
* zum schauen, welcher Punkt aktiv ist und welcher nicht.
*
* @param int $pid
* @param string $id
* @return string html
*/
function primary_secondary_links($pid, $id='primary-links') {
/*if ($tree = menu_tree($pid)) {
return '<ul id="'.$id.'">'. $tree .'</ul>';
}*/
$menu = menu_get_menu();
$output = '';
if (isset(
$menu['visible'][$pid])) {//I only want the once that are visible -> since its the primary navigation
foreach ($menu['visible'][$pid]['children'] as $mid) {
$output .= theme('menu_item', $mid);
}
}
return '<ul id="'.$id.'">'. $output .'</ul>';
}
/**
* Die Primary Sublinks werden herausgelöst, damit diese sepparat angezeigt werden können und nicht irgendwie verschachtelt.
*
* @param int $pid
* @return string html
*/
function primary_sublinks($pid,$anz=2){
$item = menu_get_item($pid); // hole den jeweiligen menupunkt
$out = '';
$final_out = '<div class="thirds"><ul>';
foreach ($item['children'] as $mid) {
if(menu_in_active_trail_in_submenu($mid,$pid)){
$current_menu_item = menu_get_item($mid);
if(is_array($current_menu_item['children'])){
$counter = 0;
foreach ($current_menu_item['children'] as $value) {
if($value > 0){
$final_out .= '<li class="primary_sublinks">'.menu_item_link($value).'</li>';
if ($counter >= $anz) {
$final_out .= '</ul></div><div class="thirds"><ul>';
$counter = 0;
}
$counter++;
}
}
}
}
}
return $final_out.'</ul></div>';
}
/**
* überschreibt theme_menu_item() aus includes/menu.inc
*
* fügt zusätzlich eine class 'active' für alle aktiven menupunkte zum <li>-element
*
*/
function phptemplate_menu_item($mid, $children = '', $leaf = TRUE) {
$item = menu_get_item($mid); // hole den jeweiligen menupunkt
if ((drupal_get_normal_path($item['path']) == $_GET['q']) // pfad aktiv?
|| (drupal_is_front_page() && $item['path'] == '<front>') // oder sind wir auf der startseite?
|| menu_in_active_trail($mid)) { // oder sind wir irgendwo im aktiven pfad, also in einem übergeordneten element des gerade angewählten?
#$active = ' active'; falsch. führt zu klassen wie z.b. 'activeexpanden' statt 'active expanded'
$active = 'current '; # so ists korrekt
} else {
$active = '';
}
return '<li class="' . $active . ($leaf ? 'leaf' : ($children ? 'expanded' : 'collapsed')) .'">'. menu_item_link($mid) . $children .'</li>';
}
?>
-------------------
gruss
drupalino
evtl. stimmt etwas mit den
am 29.05.2008 - 14:14 Uhr
evtl. stimmt etwas mit den pid nicht... ich würde dort mal ein paar dsm() einbauen, damit du das Problem noch ein wenig mehr einschränken kannst.
Noch besser -> Debugger benutzen http://www.rapsli.ch/drupal/blog/drupal/debuggen-mit-phpeclipse
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
welche pid sollte es denn
am 29.05.2008 - 14:20 Uhr
welche pid sollte es denn haben?
was sind dsm()
Ich verwende Zend for Eclipse!
Also in einem anderen template bekomme ich meine primarys angezeigt!
-------------------
gruss
drupalino
BTW Version ist
am 29.05.2008 - 14:26 Uhr
BTW Version ist 5.7
-------------------
gruss
drupalino
drupalino schrieb pastebin
am 29.05.2008 - 14:29 Uhr
pastebin ??
Siehe [Suchmaschine deiner Wahl]: http://pastebin.com/
--
"Look, Ma, I'm dead!"
Cell, Stephen King
Alexander Langer
am 29.05.2008 - 14:44 Uhr
pastebin ??
Siehe [Suchmaschine deiner Wahl]: http://pastebin.com/
Sehr wertvoller Beitrag ;)
dsm() ist eine Funktion welche durch das devel Modul bereitgestellt wird. Anwendung z.B. dsm($node); Dann bekommst du deinen node schön formatiert mit allen Werten und Variablen drin zurück.
Mit Zend für Eclipse kannst du sicher auch debuggen, aber da kann ich dir leider nicht helfen. Aber wenn du mal mit dsm() ein wenig rumschaut, wo die Werte verloren gehen, dann kommen wir der Lösung näher.
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
Irgendwie geht das alles
am 29.05.2008 - 18:06 Uhr
Irgendwie geht das alles nicht.
@rapsli
Wie kann es denn sein, dass $vars['primary_links'] = primary_secondary_links(variable_get('menu_primary_menu',1),''); Recent post zurückgibt??
Wie schon gesagt, in einem anderen Theme werden die Links dargestellt!
-------------------
gruss
drupalino
Hmm, ich hab das jetzt mit
am 29.05.2008 - 18:24 Uhr
Hmm,
ich hab das jetzt mit der 6er probiert und it works. Nur das ist wieder das prob, es muss mit der version 5.7 laufen. ????!!!!!!!
-------------------
gruss
drupalino
und hast du es mal in einer
am 29.05.2008 - 20:10 Uhr
und hast du es mal in einer ganz frischen installation versucht?
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
Du meinst die 5.7er neu
am 29.05.2008 - 20:23 Uhr
Du meinst die 5.7er neu installieren?
So einfach würde das nicht gehen, aber wie kommst Du darauf?
mir fällt auch grade auf, dass die submenüs vom primary nicht ausgegeben werden in einem anderen theme. Die hauptpunkte sind da, aber nicht die submenüse. Also ganz normal im Garland theme
-------------------
gruss
drupalino
Das ist echt faszinierend.
am 29.05.2008 - 20:44 Uhr
Das ist echt faszinierend. och habe jetzt mal eine zweite installation gemacht.
genau aus derselben distri und da scheint es zu laufen?!?!
Was kann denn da bei der anderen Installation im sack sein??
-------------------
gruss
drupalino
irgend welche unterschiede?
am 29.05.2008 - 21:38 Uhr
irgend welche unterschiede? Menu nicht expanded oder so etwas? keine ahnung
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
Was meinst Du mit nicht
am 29.05.2008 - 22:10 Uhr
Was meinst Du mit nicht expanded???
-------------------
gruss
drupalino
bei den menus kannst du doch
am 30.05.2008 - 05:53 Uhr
bei den menus kannst du doch angeben, ob sie expanded sind oder nicht.
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
stimmt, daber das war es
am 30.05.2008 - 07:28 Uhr
stimmt, daber das war es nicht in der distri wo es nict fnktioniert
-------------------
gruss
drupalino
oder hast du das primary
am 30.05.2008 - 07:34 Uhr
oder hast du das primary menu mal gelöscht? Was steht unter admin/build/menu/settings ?
______________________________
Yet Another Drupal Site (YADS)
http://www.rapsli.ch
******************************
Ich hatte mal den Namen
am 30.05.2008 - 07:38 Uhr
Ich hatte mal den Namen gelöscht, aber nicht das Menü selbst.
Ich habe aber mal eine Andere Frage: Und zwar muss ich aus dem Link, der aus theme_menu_item rausfällt nur die URL extrahieren, damit ich diese selbst zusammenbauen kann, wie mache ich das?
-------------------
gruss
drupalino