Startseite
  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche
Startseite › Forum › Drupalcenter.de › Themes & Theming ›

Eigentlich sollten nur die Primarys erfasst werden

Eingetragen von drupalino (1064)
am 30.05.2008 - 18:50 Uhr in
  • Themes & Theming
  • Drupal 5.x

Hallo zusammen,

habe folgendes in der template.php stehen...

<?php
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', 2),'tablist');
   
$vars['primary_sublinks'] = primary_sublinks(variable_get('menu_primary_menu', 2));
          
  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>';
}


function
talentdeluxe_extract($link_item) {
 
   
$raus = array();
   
   
$raus[0] = $link_item['title'];
   
$raus[0] = $link_item['path'];
  return
$raus;
}

/**
* ü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
       
$active_later = 'current';
    } else {
       
$active = '';
    }
   
$link = menu_item_link($mid);
   
$link2 = explode('"',$link);
   
print_r(menu_get_menu($mid));
   
 
$css_id = strtolower(str_replace(' ', '_', strip_tags($link)));
  if (
$menu_test['title']==2){
    return
'<li  id="'.$css_id.$active_later.'" class="' . $active . ($leaf ? 'leaf' : ($children ? 'expanded' : 'collapsed')) .'"><a href="'.$link2[1].'"><img src="'. path_to_theme() . '/images/spacer_'.$css_id.'.gif" border="0"/></a></li>';
  }else {
     
  }
 
}
?>

leider versucht er nun bei allen Menüs diese Spacer einzufügen, dabei sollte dieser ganze Code nur für die Primarys sein.

Weiss jemand rat.

gruss
drupalino

‹ Theme anpassen und andere grundlegende Fragen Wie kann ich das Farbschema abschalten ›
  • Anmelden oder Registrieren um Kommentare zu schreiben

Keiner eine Idee??? Wie

Eingetragen von drupalino (1064)
am 31.05.2008 - 09:48 Uhr

Keiner eine Idee???

Wie schaffe ich es, dass nur für die Primarys eine phptemplate_menu_item(), oder wie man die auch immer dann nennen will, benutzt wird??? Vielleicht über einen Block!! ich verzweifel noch an diesem Problem!

-------------------
gruss
drupalino

  • Anmelden oder Registrieren um Kommentare zu schreiben

Du willst also nach jedem

Eingetragen von pebosi (2645)
am 31.05.2008 - 12:50 Uhr

Du willst also nach jedem Menüpunkt der primary Links einen Abstand?

Das geht rein über CSS, z.B. so:

#primary li {
  margin-right: 20px;
}

gruß pebosi

  • Anmelden oder Registrieren um Kommentare zu schreiben

Nein, das Hauptproblem ist

Eingetragen von drupalino (1064)
am 31.05.2008 - 12:54 Uhr

Nein,

das Hauptproblem ist hier beschrieben http://www.drupalcenter.de/node/10312

Dies ist auch soweit gelöst, nur ist eben das Problem, dass ich in dem Code, den ich oben gepostet habe die menu-funktion überschreibe und dadurch auch alle anderen Menüs auf dieser Seite dadurch gerendert werden.

Soll heissen, ich muss irgendwie es hinbekommen, dass sich dies nur auf dieses Menü bezieht
-------------------
gruss
drupalino

  • Anmelden oder Registrieren um Kommentare zu schreiben

Hat wirklich niemand eine

Eingetragen von drupalino (1064)
am 01.06.2008 - 11:05 Uhr

Hat wirklich niemand eine Idee, wie ich es schaffe, dass nur ein spezielles Menu mit dem Code gethemt wird. Hat noch niemand das Problem gehabt, dass ein überschriebene Themefunktion nur für einen bestimmten Bereich gelten soll und ansonsten die System-Funktionen ????

Kann doch nicht sein oder?

-------------------
gruss
drupalino

  • Anmelden oder Registrieren um Kommentare zu schreiben

Benutzeranmeldung

  • Registrieren
  • Neues Passwort anfordern

Aktive Forenthemen

  • für drupal11 ein Slider Modul
  • [gelöst] W3CSS Paragraphs Views
  • Drupal 11 neu aufsetzen und Bereiche aus 10 importieren
  • Wie erlaubt man neuen Benutzern auf die Resetseite zugreifen zu dürfen.
  • [gelöst] Anzeigeformat Text mit Bild in einem Artikel, Drupal 11
  • Social Media Buttons um Insteragram erweitern
  • Nach Installation der neuesten D10-Version kein Zugriff auf Website
  • Composer nach Umzug
  • [gelöst] Taxonomie Begriffe zeigt nicht alle Nodes an
  • Drupal 11 + Experience Builder (Canvas) + Layout Builder
  • Welche KI verwendet ihr?
  • Update Manger läst sich nicht Installieren
Weiter

Neue Kommentare

  • melde mich mal wieder, da ich
    vor 2 Wochen 7 Stunden
  • Hey danke
    vor 2 Wochen 1 Tag
  • Update: jetzt gibt's ein
    vor 2 Wochen 1 Tag
  • Hallo, im Prinzip habe ich
    vor 2 Wochen 6 Tagen
  • Da scheint die Terminologie
    vor 2 Wochen 6 Tagen
  • Kannst doch auch alles direkt
    vor 3 Wochen 3 Tagen
  • In der entsprechenden View
    vor 3 Wochen 3 Tagen
  • Dazu müsstest Du vermutlich
    vor 3 Wochen 3 Tagen
  • gelöst
    vor 6 Wochen 4 Stunden
  • Ja natürlich. Dass ist etwas,
    vor 6 Wochen 1 Tag

Statistik

Beiträge im Forum: 250233
Registrierte User: 20453

Neue User:

  • ByteScrapers
  • Mroppoofpaync
  • 4aficiona2

» Alle User anzeigen

User nach Punkten sortiert:
wla9461
stBorchert6003
quiptime4972
Tobias Bähr4019
bv3924
ronald3857
md3717
Thoor3678
Alexander Langer3416
Exterior2903
» User nach Punkten
Zur Zeit sind 0 User und 29 Gäste online.

Hauptmenü

  • » Home
  • » Handbuch & FAQ
  • » Forum
  • » Übersetzungsserver
  • » Suche

Quicklinks I

  • Infos
  • Drupal Showcase
  • Installation
  • Update
  • Forum
  • Team
  • Verhaltensregeln

Quicklinks II

  • Drupal Jobs
  • FAQ
  • Drupal-Kochbuch
  • Best Practice - Drupal Sites - Guidelines
  • Drupal How To's

Quicklinks III

  • Tipps & Tricks
  • Drupal Theme System
  • Theme Handbuch
  • Leitfaden zur Entwicklung von Modulen

RSS & Twitter

  • Drupal Planet deutsch
  • RSS Feed News
  • RSS Feed Planet
  • Twitter Drupalcenter
Drupalcenter Team | Impressum & Datenschutz | Kontakt
Angetrieben von Drupal | Drupal is a registered trademark of Dries Buytaert.
Drupal Initiative - Drupal Association