zaka4ek 0 Опубликовано 29 октября, 2010 Жалоба Share Опубликовано 29 октября, 2010 Стоит задача сделать кольцевую перелинковку товаров внутри категории. Т.е. есть 10 товаров, мне нужно сделать, чтобы товар 1 ссылался на товар 2, 3, 4, 5. Товар 2 ссылался на 3,4,5,6. Товар 3 на 4,5,6,7 и т.д. Товар 10 ссылался на 1,2,3,4. Сейчас если включить навигацию по товару там проставляются ссылки на первый, предыдущий, следующий, последний. Реально ли переделать, чтобы внизу карточки товара выводились 4 товара (как я описал) по типу "рекомендованных товаров" или "с этим товаром также покупают". Т.е. выводить товар как в списке категории - Название, краткое описание, картинка. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 29 октября, 2010 Жалоба Share Опубликовано 29 октября, 2010 Ну так наверное и нужно использовать сопутствующие товары. В Админке - Каталог выбираете товар и справа будет кнопка Сопутствующие. Ещё в Админке - Настройки - Разное включите опцию Обратные перекрёстные ссылки. Ссылка на сообщение Поделиться на другие сайты
zaka4ek 0 Опубликовано 29 октября, 2010 Автор Жалоба Share Опубликовано 29 октября, 2010 Это немного не то. У меня в каталоге уже более 1000 товаров. Сколько уйдет времени, чтобы проставить для каждой позиции сопутствующий товар? К тому же при включении перекрестных ссылок перелинковка получится не замкнутой в кольцо... Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 29 октября, 2010 Жалоба Share Опубликовано 29 октября, 2010 Ничего другого по умолчанию нет. Ссылка на сообщение Поделиться на другие сайты
zaka4ek 0 Опубликовано 29 октября, 2010 Автор Жалоба Share Опубликовано 29 октября, 2010 Я понимаю, что нет. Поэтому и спрашиваю реально ли переделать навигацию по товару? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 29 октября, 2010 Жалоба Share Опубликовано 29 октября, 2010 Код открыт, реально всё. Ссылка на сообщение Поделиться на другие сайты
zaka4ek 0 Опубликовано 9 ноября, 2010 Автор Жалоба Share Опубликовано 9 ноября, 2010 Пытаюсь сделать, что описал в первом сообщении. Решил делать на основе рекомендованных товаров. Разобрался, что эта функция делает выборку рекомендованных товаров из базы function getCrossSells() { global $vamPrice; $cs_groups = "SELECT products_xsell_grp_name_id FROM ".TABLE_PRODUCTS_XSELL." WHERE products_id = '".$this->pID."' GROUP BY products_xsell_grp_name_id"; $cs_groups = vamDBquery($cs_groups); $cross_sell_data = array (); if (vam_db_num_rows($cs_groups, true)>0) { while ($cross_sells = vam_db_fetch_array($cs_groups, true)) { $fsk_lock = ''; if ($_SESSION['customers_status']['customers_fsk18_display'] == '0') { $fsk_lock = ' and p.products_fsk18!=1'; } $group_check = ""; if (GROUP_CHECK == 'true') { $group_check = " and p.group_permission_".$_SESSION['customers_status']['customers_status_id']."=1 "; } $cross_query = "select p.products_fsk18, p.products_tax_class_id, p.products_id, p.products_image, pd.products_name, pd.products_short_description, p.products_quantity, p.products_fsk18,p.products_price,p.products_vpe, p.products_vpe_status, p.products_vpe_value, xp.sort_order from ".TABLE_PRODUCTS_XSELL." xp, ".TABLE_PRODUCTS." p, ".TABLE_PRODUCTS_DESCRIPTION." pd where xp.products_id = '".$this->pID."' and xp.xsell_id = p.products_id ".$fsk_lock.$group_check." and p.products_id = pd.products_id and xp.products_xsell_grp_name_id='".$cross_sells['products_xsell_grp_name_id']."' and pd.language_id = '".$_SESSION['languages_id']."' and p.products_status = '1' order by xp.sort_order asc"; $cross_query = vamDBquery($cross_query); if (vam_db_num_rows($cross_query, true) > 0) $cross_sell_data[$cross_sells['products_xsell_grp_name_id']] = array ('GROUP' => vam_get_cross_sell_name($cross_sells['products_xsell_grp_name_id']), 'PRODUCTS' => array ()); while ($xsell = vam_db_fetch_array($cross_query, true)) { $cross_sell_data[$cross_sells['products_xsell_grp_name_id']]['PRODUCTS'][] = $this->buildDataArray($xsell); } } return $cross_sell_data; } } В принципе в этом коде мне понятно, что делается, но вот переделать, не получается. Выбрать товары одной категории из базы понятно. Но дальше моих скудных знаний php не хватает. Может поможете написать код? Наверняка не мне одному нужна кольцевая перелинковка товаров для продвижения НЧ запросов. Как я представляю, нужно: 1. Делаем выборку из базы всех товаров одной категории 2. Запихиваем все это в массив, таким образом, чтобы ID товаров стояли от меньшего к большему, например: 3, 8, 25, 56, 1234, 4567, 5677 и т.д. 3. Дальше нужно из массива выбрать товары с ID большим чем ID к которому мы обратились. Например, заходим в карточку товара с ID = 8, соответсвенно нам на карточке товара нужно выдать товары с ID 25, 56, 1234, 4567 4. Дальше задача усложняется =) Надо как-то понять, что если это если это последний ID в массиве, то выдавать товары с первыми 4 ID, т.е, если мы обратились к товару с ID 5677, то выдавать нужно 3,8,25,56 есть варианты решения? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 9 ноября, 2010 Жалоба Share Опубликовано 9 ноября, 2010 Лично я такое не делал, конкретный код вряд ли подскажу. Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения