eliminate 'catalogo' dalla navigazione
Moderatore: mod Generali
eliminate 'catalogo' dalla navigazione
ragazzi è possibile eliminare il link 'catalogo' nel menù in alto?
Home Page » Catalogo » Categoria... ecc
grazie...
Home Page » Catalogo » Categoria... ecc
grazie...
- kikoleppard
- membro Senior
- Messaggi: 343
- Iscritto il: 25/05/2005, 18:12
- Località: Plovdiv-Bulgaria
- Contatta:
Re: eliminate 'catalogo' dalla navigazione
te lo dico a memoria non l'ho fatto mai.wiko85 ha scritto:ragazzi è possibile eliminare il link 'catalogo' nel menù in alto?
Home Page » Catalogo » Categoria... ecc
grazie...
so che questo proviene dal codice
Codice: Seleziona tutto
<td class="headerNavigation"> <?php echo $breadcrumb->trail(' » '); ?></td>
Ciao
Re: eliminate 'catalogo' dalla navigazione
Ecco la classe Breadcrumb modificata in modo da ottenere una pathline senza il livello catalog. Viene anche effettuato lo strip del carattere » alla fine della pathline.wiko85 ha scritto:ragazzi è possibile eliminare il link 'catalogo' nel menù in alto?
Home Page » Catalogo » Categoria... ecc
grazie...
In home la pathline non viene visualizzata, in una pagina interna, ad es la scheda di un prodotto, viene visualizzata una pathline del tipo: Home >> CategoriaDelProdotto.
In sostanza è utile quando il sito ha la classica barra di navigazione orizzontale e non c'è una copertina esterna ma la home del sito coincide con la index di oscommerce.
Codice: Seleziona tutto
<?php
/*
$Id: breadcrumb.php,v 1.3 2003/02/11 00:04:50 hpdl Exp $
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2003 osCommerce
Released under the GNU General Public License
Mod by oscommercedev.com
*/
class breadcrumb {
var $_trail;
function breadcrumb() {
$this->reset();
}
function reset() {
$this->_trail = array();
}
function add($title, $link = '') {
$this->_trail[] = array('title' => $title, 'link' => $link);
}
function trail($separator = ' - ') {
$trail_string = '';
$n=sizeof($this->_trail);
if ($n > 2) {
for ($i=0, $n; $i<$n; $i++) {
if ($i<>1) {
if (isset($this->_trail[$i]['link']) && tep_not_null($this->_trail[$i]['link'])) {
$trail_string .= '<a href="' . $this->_trail[$i]['link'] . '" class="headerNavigation">' . $this->_trail[$i]['title'] . '</a>';
} else {
$trail_string .= $this->_trail[$i]['title'];
}
if ( (($i+1) < $n) && (tep_not_null($this->_trail[$i+1]['title'])) ) $trail_string .= $separator;
}
}
}
return $trail_string;
}
}
?>
La seguente modifica nel file catalog/includes/header.php non è indispensabile ma può essere utile per cambiare il layout html in funzione della presenza o meno della line-path:
Codice: Seleziona tutto
<td class="headerNavigation"><?php echo $breadcrumb->trail(' » '); ?></td>
Codice: Seleziona tutto
<td class="headerNavigation"><?php
if ( tep_not_null($breadcrumb->trail(' » ')) ) { ?>
<!-- codice html -->
<?php echo $breadcrumb->trail(' » '); ?>
<!-- codice html -->
<?php } else { ?>
<!-- codice html -->
<?php } ?></td>
Marcus
Ultima modifica di marcus il 17/10/2005, 2:04, modificato 2 volte in totale.
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
Visita la demo: http://oscpro.oscommercedev.com/index.php
scusa ma quindi devo fare solo questo?
Per utilizzare la classe così modificata occorre effettuare la seguente modifica nel file catalog/includes/header.php
Codice:
<td class="headerNavigation"> <?php echo $breadcrumb->trail(' » '); ?></td>
->
Codice:
<td class="headerNavigation"> <?php
if ( tep_not_null($breadcrumb->trail(' » ')) ) {
echo $breadcrumb->trail(' » ');
} ?></td>
Marcus
No, devi anche cambiare la classewiko85 ha scritto:scusa ma quindi devo fare solo questo?

'iao
Sergio
http://www.oscomtemplate.com - E' disponibile il nuovo pacchetto free con forum di supporto
http://www.semilandia.it
http://www.semilandia.it
apri il file includes/classes/breadcrumb.php e sostituisci il codice presente con quello che ti ha postato Marcuswiko85 ha scritto:bass, mi spieghi come devo fare?

'iao
Sergio
http://www.oscomtemplate.com - E' disponibile il nuovo pacchetto free con forum di supporto
http://www.semilandia.it
http://www.semilandia.it
Direi che e' molto improbabile, non ricordo contrib che agiscano su quella classe. Eventualmente fai un confrontowiko85 ha scritto:e non è possibile ke così facendo sovrascrivo altre contrib installate?
'iao
Sergio
http://www.oscomtemplate.com - E' disponibile il nuovo pacchetto free con forum di supporto
http://www.semilandia.it
http://www.semilandia.it
io modifico includes/application_top.php
cancellano o commentando quello che non voglio...
Sbaglio?
Ciauz
Elvino
Codice: Seleziona tutto
// include the breadcrumb class and start the breadcrumb trail
require(DIR_WS_CLASSES . 'breadcrumb.php');
$breadcrumb = new breadcrumb;
$breadcrumb->add(HEADER_TITLE_TOP, HTTP_SERVER);
$breadcrumb->add(HEADER_TITLE_CATALOG, tep_href_link(FILENAME_DEFAULT));
Sbaglio?
Ciauz
Elvino
Anche a me e' capitato di fare modifiche da application_top.elvinomac ha scritto: si, perchè non ti sembra?
Quello che non capisco e' cosa frena wiko nell'utilizzare il codice di marcus

'iao
Sergio
http://www.oscomtemplate.com - E' disponibile il nuovo pacchetto free con forum di supporto
http://www.semilandia.it
http://www.semilandia.it
No è giusto.elvinomac ha scritto:io modifico includes/application_top.php
cancellano o commentando quello che non voglio...Codice: Seleziona tutto
// include the breadcrumb class and start the breadcrumb trail require(DIR_WS_CLASSES . 'breadcrumb.php'); $breadcrumb = new breadcrumb; $breadcrumb->add(HEADER_TITLE_TOP, HTTP_SERVER); $breadcrumb->add(HEADER_TITLE_CATALOG, tep_href_link(FILENAME_DEFAULT));
Sbaglio?
In questo caso occorre però aggiungere un if di controllo per non avere una linepath costituita dal solo link 'Home Page' quando viene visualizzata la pagina home.
Un modo alternativo di ottenere quello che chiede wiko85, senza modificare la classe Breadcrumb potrebbe allora essere questo:
Codice: Seleziona tutto
$breadcrumb->add(HEADER_TITLE_TOP, HTTP_SERVER);
$breadcrumb->add(HEADER_TITLE_CATALOG, tep_href_link(FILENAME_DEFAULT));
Codice: Seleziona tutto
//$breadcrumb->add(HEADER_TITLE_TOP, HTTP_SERVER);
//$breadcrumb->add(HEADER_TITLE_CATALOG, tep_href_link(FILENAME_DEFAULT));
if ( isset($cPath_array) || isset($HTTP_GET_VARS['manufacturers_id']) || ($PHP_SELF != DIR_WS_HTTP_CATALOG . FILENAME_DEFAULT) ) {
$breadcrumb->add(HEADER_TITLE_TOP, tep_href_link(FILENAME_DEFAULT));
}
Marcus
PS: ho effettuato una modifica al mio post precedente per correggere una imprecisione.
Nuovo pacchetto osCommercePRO (osCPRO) + Modulo Interfacciamento Gestionale Danea.
Visita la demo: http://oscpro.oscommercedev.com/index.php
Visita la demo: http://oscpro.oscommercedev.com/index.php