Перейти к содержанию
Форум поддержки пользователей VamShop

Как определённый параметр вывести только для товаров


Рекомендуемые сообщения

Есть задача, чтобы на странице описание продукта определённый параметр (например, наименование производителя) выводился только для товаров из заданной категории. Можно конечно поставить условие:

if ($current_category_id == '180')

В файле /includes/modules/product_info.php, но в этом случае не будут охватываться подкатегории. Подскажите какое условие нужно задать, чтобы охватить товары из всех подкатегорий?

Ссылка на сообщение
Поделиться на другие сайты

Я сам нашёл решение задачи.

Если кому-то тоже понадобиться что-то подобное, то выкладываю код.

В файле /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]

Ссылка на сообщение
Поделиться на другие сайты

Решение верное, но очень нерациональное.

Если на странице несколько десятков товаров, то порождает неоправданно  большое число запросов. Может приводить к замедлению работы.

Ссылка на сообщение
Поделиться на другие сайты

Решение верное, но очень нерациональное.

Если на странице несколько десятков товаров, то порождает неоправданно  большое число запросов. Может приводить к замедлению работы.

Посоветуйте как оптимизировать!

Ссылка на сообщение
Поделиться на другие сайты
×
×
  • Создать...