Категории
[FAQ] Часто задаваемые вопросы и ответы
Проблемы и решения
Ошибки и исправления
Общие вопросы
Расширения
Установка и обновление
Модули
Шаблоны
Локализация интерфейса
Коммерческие предложения
Учимся бизнесу
Бизнес книги
Поисковая оптимизация (SEO)
Магазины на ShopOS
Хостинг для ShopOS
Предложения и пожелания
Курилка
|
Вывод категорий с подкатегориями...
Помогите тупому понять как реализовать
Переделываю плагин top_filter
Цель такая В запросе указывать какие категории надо выводить. Категории эти все первого уровня И нужно, чтобы ПОДкатегории выводились автоматически
Но что-то не могу понять где и что поправить. <?php /* ##################################### # ShopOS: Shopping Cart Software. # Copyright (c) 2008-2010 # http://www.shopos.ru # http://www.shoposs.com # Ver. 1.0.0 ##################################### */
function category_level_count($foo_to, $_name) { $count = 0; foreach ($foo_to as $__name => $__value) { if ($__value['parent'] == $_name) { $count ++; } } return $count; }
$categories_string = '';
// содержит в себе категории которые нужно выводить $cat = get_option('cat');
$categories_query = osDBquery( "select c.categories_id, cd.categories_name, c.parent_id from ".TABLE_CATEGORIES." c, ".TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_status = '1' ".(!empty($cat) ? 'AND c.categories_id IN ('.$cat.')' : '')." and c.categories_id = cd.categories_id and cd.language_id='" . (int)$_SESSION['languages_id'] ."' order by sort_order, cd.categories_name ");
if (os_db_num_rows($categories_query,true)) { while ($categories = os_db_fetch_array($categories_query,true)) { $foo] = array ( 'name' => $categories['categories_name'], 'cid' => $categories['categories_id'], 'parent' => $categories['parent_id'] ); } }
if ($foo) { $count = 0; $foo_to = $foo; $top_filter_cat = get_option('top_filter_cat'); foreach ($foo as $_name => $_value) {
if ($_value['parent'] == 0) { $_cat_check = false; if ($top_filter_cat == 'top_filter_cat_true') { //не проверяем категорию на кол. подкатегорий $_cat_check = true; }
if ($top_filter_cat == 'top_filter_cat_false' && category_level_count($foo_to, $_name) != 0) { //если в категории нет подкатегорий 2ого уровня - нен выводить категорию вообще. $_cat_check = true; }
if ($_cat_check) { $_count = os_count_products_in_category($_name); //если кол. = 0 - ничего не выводить $__count = ''; if ($_count != 0) $__count = '('.$_count.')'; echo '<div class="popupmenu-item popupmenu-col"><img src="'._HTTP_THEMES_C.'img_tmp/'.$_value['cid'].'.gif" width="60" height="60" alt="'.$_value['name'].'" /><div class="cat-item-block"><h2 class="bold"><a href="'.os_href_link(FILENAME_DEFAULT, os_category_link($_name, $_value['name']) ).'" title="'.$_value['name'].'">'.$_value['name'].'</a></h2><ul>'; $_cat_2 = 0; $_one = 0; foreach ($foo_to as $__name => $__value) { if ($__value['parent'] == $_name) { $_cat_2++; if ($_one != 0) {} echo '<li><a href="'.os_href_link(FILENAME_DEFAULT, os_category_link($__name, $__value['name']) ).'" title="'.$__value['name'].'">'.$__value['name'].'</a></li>';
if ($_cat_2 == 5) break; $_one++; } } echo '</ul></div><div class="clear"></div></div>'; $count++; if ( $count >= 4) { echo '<div class="clear"></div>'; $count = 0; } } } }
echo '<div class="clear"></div>';
} ?>
$cat = get_option('cat'); - тут список категорий первого уровня
".(!empty($cat) ? 'AND c.categories_id IN ('.$cat.')' : '')." - это в запросе на выборку из get_option('cat')
То есть нужно, чтобы подкатегории всегда выводились у категорий которые указаны в get_option('cat') .
Народ, ну помогите кто-то плиз?
Интересует как в данном плагине убрать (кол-во товаро в данных категориях) кто знает что править? подскажите
Интересует как в данном плагине убрать (кол-во товаро в данных категориях) кто знает что править? подскажите заменить строку echo '<td width="33%" class="rcat_table">'.'<a class="rcat_root_category" href="' . os_href_link(FILENAME_DEFAULT, os_category_link($_name, $_value['name']) ) . '">'.$_value['name'].'</a> '.$__count.' <br /><div class="rcat_child_categories">'; на echo '<td width="33%" class="rcat_table">'.'<a class="rcat_root_category" href="' . os_href_link(FILENAME_DEFAULT, os_category_link($_name, $_value['name']) ) . '">'.$_value['name'].'</a><br /><div class="rcat_child_categories">';
Источник
|