koloaty 0 Опубликовано 1 октября, 2010 Жалоба Share Опубликовано 1 октября, 2010 Есть задача, чтобы на странице описание продукта определённый параметр (например, наименование производителя) выводился только для товаров из заданной категории. Можно конечно поставить условие: if ($current_category_id == '180') В файле /includes/modules/product_info.php, но в этом случае не будут охватываться подкатегории. Подскажите какое условие нужно задать, чтобы охватить товары из всех подкатегорий? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 1 октября, 2010 Жалоба Share Опубликовано 1 октября, 2010 Да вроде как нет такого условия, что б и для категории и для всех подкатегорий. Ссылка на сообщение Поделиться на другие сайты
koloaty 0 Опубликовано 1 октября, 2010 Автор Жалоба Share Опубликовано 1 октября, 2010 Немного перефразирую. Как поставить условие проверки вхождения подкатегории в категорию? Ссылка на сообщение Поделиться на другие сайты
koloaty 0 Опубликовано 1 октября, 2010 Автор Жалоба Share Опубликовано 1 октября, 2010 Я сам нашёл решение задачи. Если кому-то тоже понадобиться что-то подобное, то выкладываю код. В файле /includes/modules/product_info.php необходимо код: $info->assign('MANUFACTURER',$manufacturer['manufacturers_name']); заменить на: $cat_parent = vamDBquery("SELECT parent_id FROM ".TABLE_CATEGORIES." WHERE categories_id='".$current_category_id."'" );$cat_parent_id = vam_db_fetch_array($cat_parent, true);while ($cat_parent_id['parent_id'] != '0') { $cat_cat_id = $cat_parent_id['parent_id']; $cat_parent = vamDBquery("SELECT parent_id FROM ".TABLE_CATEGORIES." WHERE categories_id='".$cat_cat_id."'" ); $cat_parent_id = vam_db_fetch_array($cat_parent, true);}if ($current_category_id == '180' || $cat_cat_id == '180') { $info->assign('MANUFACTURER',$manufacturer['manufacturers_name']);}[/code] Ссылка на сообщение Поделиться на другие сайты
Гость pooh Опубликовано 2 октября, 2010 Жалоба Share Опубликовано 2 октября, 2010 Решение верное, но очень нерациональное. Если на странице несколько десятков товаров, то порождает неоправданно большое число запросов. Может приводить к замедлению работы. Ссылка на сообщение Поделиться на другие сайты
koloaty 0 Опубликовано 2 октября, 2010 Автор Жалоба Share Опубликовано 2 октября, 2010 Решение верное, но очень нерациональное. Если на странице несколько десятков товаров, то порождает неоправданно большое число запросов. Может приводить к замедлению работы. Посоветуйте как оптимизировать! Ссылка на сообщение Поделиться на другие сайты
Гость pooh Опубликовано 2 октября, 2010 Жалоба Share Опубликовано 2 октября, 2010 Надо ОДНИМ запросом получать сведения о родителях для ВСЕХ категорий, сохранять в массив, и потом уже обрабатывать. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения