Breadcrumb di un solo elemento > niente stampa

10 contenuti / 0 new
Ultimo contenuto
Breadcrumb di un solo elemento > niente stampa

Ciao ragazzi, qualcuno sa come faccio a dire a drupal che se il Breadcrumb è di un solo elemento non vorrei stamparlo?
grazie a tutti!

metti un if nel template.

@somtam scusami ma percaso hai capito come devi procedere? Io no

in page.tpl.php

<?php if(count($breadcrumb) > 1): ?>
  <?php print $breadcrumb ?>
<?php endif ?>

meglio sarebbe spostare la logica in template.php con miotema_breadcrumb()

Ciao Bohz,
grazie per la risposta...

se metto questo nel tpl.php

      <?php if(count($breadcrumb) > 1): ?>
  <?php print $breadcrumb ?>
<?php endif ?>

non mi compare del tutto.

Se metto questo nel template.php

function miotema_breadcrumb () {
if (count ($breadcrumb) > 1) {
  print $breadcrumb;
}
}

mi da errore dicendo che non sa cosa è la viariabile breadcrumb

:(

Certo manca l'argomento nella funzione

<?php
/**
* Allow themable breadcrumbs
*/
function mytheme_breadcrumb($breadcrumb) {
  if (!empty(
$breadcrumb)) {
    if (
count ($breadcrumb) > 1) {
        foreach(
$breadcrumb as $value) {
         
$crumbs .= '<div class="breadcrumb">'.$value.'</div>&nbsp;::&nbsp;';
        }
    }
  }
  return
$crumbs;
}
?>

Questa dovrebbe andare. CAMBIA mytheme mi raccomando

Grazie mille Danzisiweb, ma penso ci sia un errore a monte...
count ($breadcrumb) > 1 non può mai essere perchè il count ($breadcrumb) o è =1 o =0... :(

ho risolto sovrascrivendo il theme_breadcrumb() nel mio file template.php in questa maniera:

function miotema_breadcrumb($variables) {
  $breadcrumb = $variables['breadcrumb'];
  if (!empty($breadcrumb) && count($breadcrumb) != 1) {
    // Provide a navigational heading to give context for breadcrumb links to
    // screen-reader users. Make the heading invisible with .element-invisible.
    $output = '<h2 class="element-invisible">' . t('You are here') . '</h2>';
    $output .= '<div class="breadcrumb">' . implode(' » ', $breadcrumb) . '</div>';
    return $output;
  }
}

ciao ciao!

Sai la funzione che ti ho postato funziona, l'ho provata in locale e chiamata con questo script nel file page.tpl.php

<?php  if (!empty($breadcrumb)):  ?>
    <div class="need-post">
         <div class="need-post-body">
              <div class="need-post-inner need-article">
                <div class="need-postcontent">
                  <?php  { echo $breadcrumb; }  ?>
                </div>
                <div class="cleared"></div>
              </div>
<div class="cleared"></div>
         </div>
    </div>
<?php  endif;  ?>

Comunque anche la tua è una soluzione perchè:
function miotema_breadcrumb($variables) {
$breadcrumb = $variables['breadcrumb'];

dove $variables è un array che passi come argomento.

Quote:

count ($breadcrumb) > 1 non può mai essere perchè il count ($breadcrumb) o è =1 o =0... :(

Ti assicuro che non è così perchè $breadcrumb è un array con gli elementi in base al livello di navigazione:
es: Home > Admin > Settings > Menu > Primary Links ha 5 elementi

Ad esempio vedi questo script:

<?php
function phptemplate_preprocess(&$variables, $hook) {
    if(!empty(
$variables['breadcrumb'])) $variables['breadcrumb'] = '<div class="breadcrumbs">'.$variables['breadcrumb'].'<div class="breadcrumb current">'.$variables['title'].'</div></div>';
}
 
?>

In questo caso hai un'altro tipo di risultato. Ciao

Ciao Danzisiweb,
grazie mille per la risposta e la tua disponibilità!