Breadcrumb

4 contenuti / 0 new
Ultimo contenuto
Breadcrumb

Ho un problema col breadcrumb che non riesco a risolvere per le mie lacune php.
Mi spiego ho un tema nel quale il breadcrumb funziona a tratti.
Ad esempio c'erano problemi nel visualizzare il corretto percorso delle pagine "view".

Problemi questi scomparsi da quando ho installato il modulo "customize breadcrumb".
L'ho settato in modo tale che le voci prendessero come percorso quello del main menu.

Il percorso a quel punto è corretto anche nel breadcrumb dove mi compare correttamente:

sezione>dettaglio_sezione

Il problema ora è che non mi compare più "home" e quindi il percorso originario che sarebbe dovuto essere:

home>sezione>dettaglio_sezione non lo mostra

Dopo varie ricerche riesco a capire che posso modificare il percorso del breadcrumb dal template.php

e quindi cambio le stringhe seguenti:

if (!empty($breadcrumb)) {
    // Provide a navigational heading to give context for breadcrumb links to
    // screen-reader users. Make the heading invisible with .element-invisible.
    $output .= '<div class="breadcrumb">'  . implode('', $breadcrumb) . '</div>';
   return $output;
  }
}

con:

if (!empty($breadcrumb)) {
    // Provide a navigational heading to give context for breadcrumb links to
    // screen-reader users. Make the heading invisible with .element-invisible.
    $output .= '<div class="breadcrumb">' .t('home')  . implode('', $breadcrumb) . '</div>';
   return $output;
  }
}

Come potete vedere ho aggiunto soltanto .('home') e sarebbe quasi corretto, difatti ora mi viene mostrato il percorso: home>sezione>dettaglio_sezione.
Unico inconveniente ora è che "home" non è linkabile alla prima pagina e non ha lo stile css delle altre due voci del breadcrumb.

Come posso fare a risolvere questa cosa?
Scusatemi e grazie per la pazienza

Drupal Version:

Ciao,
ora non conosco il modulo usato da te (customize breadcrumb) ma dovrebbe esserci qualche impostazione che ti permette di tenere "Home" davanti al breadcrumb, come di fatto è di 'default'..

Per la modifica del template.php potresti provare così:

$output .= '<div class="breadcrumb"><a href="/" class="classe-per-il-link">'.t(home).'</a>'  . implode('', $breadcrumb) . '</div>';

ma non ne son sicuro del suo risultato..non sono esperto in queste modifiche..

Oppure, usando la funzione l()…

$output .= '<div class="breadcrumb">' .l(t('home'), '<front>', array('attributes' => array('class' => 'classe per il link'))) . implode('', $breadcrumb) . '</div>';

grazie ad entrambi, soluzioni valide ambedue ;)