Liens primaires

Catégories:

Bonjour à tous,

Je tiens à signaler que je suis novice en la matière et malgré mes recherches j’ai une question toute simple qui reste sans réponse : comment afficher mes liens primaires sous la forme Lien1 / Lien2 / Lien3 ?

Voici le code de ma page :

<?php
print theme('links', $primary_links, array('class' => 'menu'))
?>

Merci d’avance pour vos conseils avisés.

Bien cordialement,
merguez

#

Il faut que tu surcharge la fonction de theme ‘link’, généralement on fait ca dans le template.php (car lié au theme), mais c’est possible aussi dans un module.

Dans un template.php, ca ressemblerait a ça :

<?php
function phptemplate_links($links, $attributes = array('class' => 'links')) {
  global
$language;
 
$output = '';
  if (
count($links) > 0) {
   
$num_links = count($links);
   
$i = 1;
    foreach (
$links as $key => $link) {
      if (isset(
$link['href'])) {
       
// Pass in $link as $options, they share the same keys.
       
if ($i == $num_links) {
         
$output .= '<span>'.l($link['title'], $link['href'], $link) . '</span>';
        }
        else {
         
$output .= '<span>'.l($link['title'], $link['href'], $link) . '</span> / ';
        }
      }
      else if (!empty(
$link['title'])) {
       
// Some links are actually not links, but we wrap these in <span> for adding title and class attributes
       
if (empty($link['html'])) {
         
$link['title'] = check_plain($link['title']);
        }
       
$span_attributes = '';
        if (isset(
$link['attributes'])) {
         
$span_attributes = drupal_attributes($link['attributes']);
        }
       
$output .= '<span'. $span_attributes .'>'. $link['title'] .'</span>';
      }
     
$i++;
    }

  
  }
  return $output;
}
?>

(penser a vider les caches apres modification du template.php)

Ce qui donne :

#

Bonjour Haza et merci beaucoup pour ta réponse.
Je vois que ça n’est pas évident, je vais étudier ce code en détail.

Un grand merci pour ton aide, bonne journée.

Cordialement,
merguez

Syndiquer le contenu