Problema con nuova categoria e menù
Inviato: 06/01/2011, 15:45
Salve,
mi si è presentato questo problema "curioso" (almeno per la mia esperienza su OSCommerce):
Ho inserito una nuova categoria e questa dopo averla salvata e inserito anche un prodotto, non mi viene mostrata nel menù a sinistra delle categorie!!!
Se vado nella pagina della categoria principale (nel mio caso adesivi da muro blik) la nuova categoria si vede nell'elenco in basso (è Upper Playground), se ci clicchi sopra si apre regolarmente e viene inserita nel menù, ma se cambi categoria questa scompare!
Non ho idea...ho inserito ultimamente delle nuove contribution per il SEO (ultimate SEO url, KISSMT metatags), che sia qualcosa in quello?
per "vedere il problema" ecco il link http://www.elzapoppin.it/store/adesivi- ... k-c-2.html se vedete la categoria upper playground c'è, ma nel menù a sinistra no.
grazie per qualsiasi suggerimento...
Metto anche tutto il file categories.php (includes/boxes) se può servire a capire il problema
<?php
/*
$Id: categories.php 1739 2007-12-20 00:52:16Z hpdl $
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2003 osCommerce
Released under the GNU General Public License
*/
function tep_show_category($counter) {
global $tree, $categories_string, $cPath_array;
for ($i=0; $i<$tree[$counter]['level']; $i++) {
$categories_string2 .= " ";//ModificaciÛn para poner los espacios dentro de las filas
}
// START CSS Categories Box Menu 1.0
if (tep_has_category_subcategories($counter)) {
if (isset($cPath_array) && in_array($counter, $cPath_array)) {
$categories_string .= '<tr><td bgcolor="#FFFFFF" style="border: 1px solid #FFFFFF; font-size: 15px; font-family: Arial,Helvetica; color:#3366FF;">'.$categories_string2 .'<img src="images/cat_arrow_down.gif" align="absmiddle"> ';
} else {
$categories_string .= '<tr><td bgcolor="#FFFFFF" style="border: 1px solid #FFFFFF; font-size: 15px; font-family: Arial,Helvetica; color:#3366FF;">'.$categories_string2.'<img src="images/cat_arrow_right.gif" align="absmiddle"> ';
}
} else {
$categories_string .= '<tr><td bgcolor="#FFFFFF" style="border-bottom:1px dotted #999999; font-size: 12px; font-family: Arial,Helvetica;">'.$categories_string2 .'<img src="images/cat_arrow_other.gif" align="absmiddle"> ';
}
// END CSS Categories Box Menu 1.0
$categories_string .= '<a href="';
if ($tree[$counter]['parent'] == 0) {
$cPath_new = 'cPath=' . $counter;
} else {
$cPath_new = 'cPath=' . $tree[$counter]['path'];
}
$categories_string .= tep_href_link(FILENAME_DEFAULT, $cPath_new) . '">';
if (isset($cPath_array) && in_array($counter, $cPath_array)) {
$categories_string .= '<b>';
}
// display category name
$categories_string .= $tree[$counter]['name'];
if (isset($cPath_array) && in_array($counter, $cPath_array)) {
$categories_string .= '</b>';
}
if (tep_has_category_subcategories($counter)) {
$categories_string .= '<img src="images/row2.gif" border="0"';
}
$categories_string .= '</a>';
if (SHOW_COUNTS == 'true') {
$products_in_category = tep_count_products_in_category($counter);
if ($products_in_category > 0) {
$categories_string .= ' (' . $products_in_category . ')';
}
}
$categories_string .= '<br>';
if ($tree[$counter]['next_id'] != false) {
tep_show_category($tree[$counter]['next_id']);
}
}
?>
<!-- categories //-->
<tr>
<td>
<?php
$info_box_contents = array();
$info_box_contents[] = array('text' => BOX_HEADING_CATEGORIES);
new infoBoxHeading($info_box_contents, true, false);
$categories_string = '';
$tree = array();
$categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '0' and c.categories_id = cd.categories_id and cd.language_id='" . (int)$languages_id ."' order by sort_order, cd.categories_name");
while ($categories = tep_db_fetch_array($categories_query)) {
$tree[$categories['categories_id']] = array('name' => $categories['categories_name'],
'parent' => $categories['parent_id'],
'level' => 0,
'path' => $categories['categories_id'],
'next_id' => false);
if (isset($parent_id)) {
$tree[$parent_id]['next_id'] = $categories['categories_id'];
}
$parent_id = $categories['categories_id'];
if (!isset($first_element)) {
$first_element = $categories['categories_id'];
}
}
//------------------------
if (tep_not_null($cPath)) {
$new_path = '';
reset($cPath_array);
while (list($key, $value) = each($cPath_array)) {
unset($parent_id);
unset($first_id);
$categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)$value . "' and c.categories_id = cd.categories_id and cd.language_id='" . (int)$languages_id ."' order by sort_order, cd.categories_name");
if (tep_db_num_rows($categories_query)) {
$new_path .= $value;
while ($row = tep_db_fetch_array($categories_query)) {
$tree[$row['categories_id']] = array('name' => $row['categories_name'],
'parent' => $row['parent_id'],
'level' => $key+1,
'path' => $new_path . '_' . $row['categories_id'],
'next_id' => false);
if (isset($parent_id)) {
$tree[$parent_id]['next_id'] = $row['categories_id'];
}
$parent_id = $row['categories_id'];
if (!isset($first_id)) {
$first_id = $row['categories_id'];
}
$last_id = $row['categories_id'];
}
$tree[$last_id]['next_id'] = $tree[$value]['next_id'];
$tree[$value]['next_id'] = $first_id;
$new_path .= '_';
} else {
break;
}
}
}
tep_show_category($first_element);
$info_box_contents = array();
$info_box_contents[] = array('text' => $categories_string);
new infoBox($info_box_contents);
?>
</td>
</tr>
<!-- categories_eof //-->
mi si è presentato questo problema "curioso" (almeno per la mia esperienza su OSCommerce):
Ho inserito una nuova categoria e questa dopo averla salvata e inserito anche un prodotto, non mi viene mostrata nel menù a sinistra delle categorie!!!
Se vado nella pagina della categoria principale (nel mio caso adesivi da muro blik) la nuova categoria si vede nell'elenco in basso (è Upper Playground), se ci clicchi sopra si apre regolarmente e viene inserita nel menù, ma se cambi categoria questa scompare!
Non ho idea...ho inserito ultimamente delle nuove contribution per il SEO (ultimate SEO url, KISSMT metatags), che sia qualcosa in quello?
per "vedere il problema" ecco il link http://www.elzapoppin.it/store/adesivi- ... k-c-2.html se vedete la categoria upper playground c'è, ma nel menù a sinistra no.
grazie per qualsiasi suggerimento...
Metto anche tutto il file categories.php (includes/boxes) se può servire a capire il problema
<?php
/*
$Id: categories.php 1739 2007-12-20 00:52:16Z hpdl $
osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com
Copyright (c) 2003 osCommerce
Released under the GNU General Public License
*/
function tep_show_category($counter) {
global $tree, $categories_string, $cPath_array;
for ($i=0; $i<$tree[$counter]['level']; $i++) {
$categories_string2 .= " ";//ModificaciÛn para poner los espacios dentro de las filas
}
// START CSS Categories Box Menu 1.0
if (tep_has_category_subcategories($counter)) {
if (isset($cPath_array) && in_array($counter, $cPath_array)) {
$categories_string .= '<tr><td bgcolor="#FFFFFF" style="border: 1px solid #FFFFFF; font-size: 15px; font-family: Arial,Helvetica; color:#3366FF;">'.$categories_string2 .'<img src="images/cat_arrow_down.gif" align="absmiddle"> ';
} else {
$categories_string .= '<tr><td bgcolor="#FFFFFF" style="border: 1px solid #FFFFFF; font-size: 15px; font-family: Arial,Helvetica; color:#3366FF;">'.$categories_string2.'<img src="images/cat_arrow_right.gif" align="absmiddle"> ';
}
} else {
$categories_string .= '<tr><td bgcolor="#FFFFFF" style="border-bottom:1px dotted #999999; font-size: 12px; font-family: Arial,Helvetica;">'.$categories_string2 .'<img src="images/cat_arrow_other.gif" align="absmiddle"> ';
}
// END CSS Categories Box Menu 1.0
$categories_string .= '<a href="';
if ($tree[$counter]['parent'] == 0) {
$cPath_new = 'cPath=' . $counter;
} else {
$cPath_new = 'cPath=' . $tree[$counter]['path'];
}
$categories_string .= tep_href_link(FILENAME_DEFAULT, $cPath_new) . '">';
if (isset($cPath_array) && in_array($counter, $cPath_array)) {
$categories_string .= '<b>';
}
// display category name
$categories_string .= $tree[$counter]['name'];
if (isset($cPath_array) && in_array($counter, $cPath_array)) {
$categories_string .= '</b>';
}
if (tep_has_category_subcategories($counter)) {
$categories_string .= '<img src="images/row2.gif" border="0"';
}
$categories_string .= '</a>';
if (SHOW_COUNTS == 'true') {
$products_in_category = tep_count_products_in_category($counter);
if ($products_in_category > 0) {
$categories_string .= ' (' . $products_in_category . ')';
}
}
$categories_string .= '<br>';
if ($tree[$counter]['next_id'] != false) {
tep_show_category($tree[$counter]['next_id']);
}
}
?>
<!-- categories //-->
<tr>
<td>
<?php
$info_box_contents = array();
$info_box_contents[] = array('text' => BOX_HEADING_CATEGORIES);
new infoBoxHeading($info_box_contents, true, false);
$categories_string = '';
$tree = array();
$categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '0' and c.categories_id = cd.categories_id and cd.language_id='" . (int)$languages_id ."' order by sort_order, cd.categories_name");
while ($categories = tep_db_fetch_array($categories_query)) {
$tree[$categories['categories_id']] = array('name' => $categories['categories_name'],
'parent' => $categories['parent_id'],
'level' => 0,
'path' => $categories['categories_id'],
'next_id' => false);
if (isset($parent_id)) {
$tree[$parent_id]['next_id'] = $categories['categories_id'];
}
$parent_id = $categories['categories_id'];
if (!isset($first_element)) {
$first_element = $categories['categories_id'];
}
}
//------------------------
if (tep_not_null($cPath)) {
$new_path = '';
reset($cPath_array);
while (list($key, $value) = each($cPath_array)) {
unset($parent_id);
unset($first_id);
$categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)$value . "' and c.categories_id = cd.categories_id and cd.language_id='" . (int)$languages_id ."' order by sort_order, cd.categories_name");
if (tep_db_num_rows($categories_query)) {
$new_path .= $value;
while ($row = tep_db_fetch_array($categories_query)) {
$tree[$row['categories_id']] = array('name' => $row['categories_name'],
'parent' => $row['parent_id'],
'level' => $key+1,
'path' => $new_path . '_' . $row['categories_id'],
'next_id' => false);
if (isset($parent_id)) {
$tree[$parent_id]['next_id'] = $row['categories_id'];
}
$parent_id = $row['categories_id'];
if (!isset($first_id)) {
$first_id = $row['categories_id'];
}
$last_id = $row['categories_id'];
}
$tree[$last_id]['next_id'] = $tree[$value]['next_id'];
$tree[$value]['next_id'] = $first_id;
$new_path .= '_';
} else {
break;
}
}
}
tep_show_category($first_element);
$info_box_contents = array();
$info_box_contents[] = array('text' => $categories_string);
new infoBox($info_box_contents);
?>
</td>
</tr>
<!-- categories_eof //-->