Ameli 0 Опубликовано 1 декабря, 2009 Жалоба Share Опубликовано 1 декабря, 2009 Привет. У меня в категориях не показываются подкатегории. Я нашла ответ на свой вопрос: "Будет отображаться только если в категории, в которой находится подкатегория, нет товаров, а товары только в подкатегории." У меня есть товары, которые идут сами по себе, а есть товары, которые группируются в подкатегорию. Поэтому мне нужно, чтобы в категории отображались и товары и подкатегории. Как это сделать? Подскажите хотя бы какие файлы рыть... Заранее спасибо. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 1 декабря, 2009 Жалоба Share Опубликовано 1 декабря, 2009 Никак. Нужно товары в подкатегориях размещать. Так сделано по умолчанию, т.е. уберите товары из категории, если у Вас есть подкатегории внутри категории. Ссылка на сообщение Поделиться на другие сайты
mosquito 0 Опубликовано 1 декабря, 2009 Жалоба Share Опубликовано 1 декабря, 2009 нужно править includes/modules/default.php там в самом начале файла часть кода которая отвечает за вывод подкатегорий (nested) просто нужно добавить в метку {$main_content} еще выведенные продукты сюды примерн =) $main_content = $default->fetch(CURRENT_TEMPLATE.'/module/categorie_listing/'.$category['categories_template']); $vamTemplate->assign('main_content', $main_content);[/code] Ссылка на сообщение Поделиться на другие сайты
Ameli 0 Опубликовано 2 декабря, 2009 Автор Жалоба Share Опубликовано 2 декабря, 2009 mosquito, спасибо. Попробую. Ссылка на сообщение Поделиться на другие сайты
Dmitry 0 Опубликовано 13 декабря, 2009 Жалоба Share Опубликовано 13 декабря, 2009 нужно править includes/modules/default.php Вот столкнулся с таким же вопросом. Пробовал покрутить этот default.php, не получается. По идее нужно прикрутить к assign('main_content', $main_content) результат файла product_listing.php, но у них даже название переменных одинаковые на выходе - обе {$main_content}. Похоже в каком-то начальном файле прописано взаимосключение этих файлов default.php и product_listing.php. Если один грузится, то второй нет. Я попробовал сделать по типу featured - данных, которые грузятся вместе с категорией. Т.е. product_listing подвесить на какую-нибудь свою переменную {$main_content_product} и вставить ее в шаблон categorie_listing.html. Но эффекта нет. Кстати, почему-то если в категорию вставить продукты , а потом сделать их статус не видимыми, а подкатегория видима, то при открытии этой категории выдается, что такая страница не найдена. Возможно это из-за того что я юзаю старый магазин 1.32, а может и нет. Может кто-нибудь подскажет как решить этот вопрос подкатегории+продукты ? Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 14 декабря, 2009 Жалоба Share Опубликовано 14 декабря, 2009 На главной ведь не получится использовать product_listing, если не задана категория товара, он же работает только если Вы внутри категории, на основании id категории формируется SQL запрос товаров из данной категории. Если нужно что-то на главноую выводить, то только писать свой код. Вот так примерно добавляется блок по центру на главной - http://vamshop.ru/forum/index.php?topic=2673.msg22038#msg22038 Ссылка на сообщение Поделиться на другие сайты
Dmitry 0 Опубликовано 14 декабря, 2009 Жалоба Share Опубликовано 14 декабря, 2009 Спасибо за совет Vam. Я тут правда, кое-что нащупал. Может сработает. Правда не идеально получается, но все же хоть какое-то решение вопроса. Вечером возможно доделаю. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 14 декабря, 2009 Жалоба Share Опубликовано 14 декабря, 2009 Не за что, надеюсь, что разберётесь. Ссылка на сообщение Поделиться на другие сайты
Dmitry 0 Опубликовано 15 декабря, 2009 Жалоба Share Опубликовано 15 декабря, 2009 Получилось. Версия моего vamshopa 1.32; Рекомендация - перед редактированием файлов делайте их копии. 1) Открываем файл "\includes\modules\default.php" Находим строку: "if ($category_depth == 'nested') {" Копируем все от нее до "$main_content =$default_smarty->fetch(CURRENT_TEMPLATE.'/module/categorie_listing/'.$category['categories_template']); $smarty->assign('main_content', $main_content); }" 2) Создаем файл default_cat.php в том же каталоге и вставляем этот код туда. В полученном коде изменяем: 'nested' заменяем на 'products' (в верхней строке) Внизу файла перед "}" вносим $main_content_cat=$main_content; 3) Открываем файл "\includes\modules\product_listing.php" - вверху вносим туда строчку "include ('default_cat.php');" - внизу файла находим строчку "$smarty->assign('main_content', $module);" перед ней вставляем код "$module=$module." ".$main_content_cat;" 4) Теперь осталось поменять шаблоны. - "categorie_listing.html" полностью очистить - этот шаблон использовать там где нужен вывод только товаров (в этой категории только товары) - "categorie_listing_categories.html" сделать шаблон для вывода только подкатегорий (в этой категории только подкатегории) - "categorie_listing_products.html" сделать шаблон для вывода продуктов и подкатегорий (в этой категории подкатегории и товары) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 15 декабря, 2009 Жалоба Share Опубликовано 15 декабря, 2009 Спасибо, что поделились решением. Ссылка на сообщение Поделиться на другие сайты
demaxim 0 Опубликовано 16 апреля, 2011 Жалоба Share Опубликовано 16 апреля, 2011 что-то для 1.62 это уже не работает, может кто подскажет, что поменялось и что нужно изменить, чтобы эта тема заработала Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 16 апреля, 2011 Жалоба Share Опубликовано 16 апреля, 2011 Наверное у автора кода надо спрашивать, лично я не в курсе. Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 16 апреля, 2011 Жалоба Share Опубликовано 16 апреля, 2011 Есть разве что опция в Админке - Настройки - Вывод товара. Можно выводить товар из низлежащих подкатегорий в категории. Ссылка на сообщение Поделиться на другие сайты
demaxim 0 Опубликовано 16 апреля, 2011 Жалоба Share Опубликовано 16 апреля, 2011 нет я был не прав, все работает на 1.62 просто кое-что переименовано, например не $smarty->assign а $vamTemplate->assign не include ('default_cat.php'); а require_once (DIR_WS_MODULES.'default_cat.php'); Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 17 апреля, 2011 Жалоба Share Опубликовано 17 апреля, 2011 Хорошо, что разобрались. Ссылка на сообщение Поделиться на другие сайты
madvolkov 0 Опубликовано 19 августа, 2020 Жалоба Share Опубликовано 19 августа, 2020 Подскажите пожалуйста можно ли сделать адреса подкатегорий в категориях нормального чпу вида,а не такие вот <a href="index.php?cat=22"> Из жёлтого золота</a> сейчас код выглядит так {if $categories_list} <div class="page"> <div class="pageItem"> <ul class="categories-list"> {foreach name=aussen item=category_data from=$categories_list} <li><a href="index.php?cat={$category_data.CATEGORIES_ID}"> {$category_data.CATEGORIES_NAME}</a></li> {/foreach} </ul> </div> {/if} Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 19 августа, 2020 Жалоба Share Опубликовано 19 августа, 2020 А это где такой шаблон, в каком файле?! По умолчанию вроде не должно такого быть. Попробуйте поменять: index.php?cat={$category_data.CATEGORIES_ID} на: {$category_data.CATEGORIES_LINK} 2 минуты назад, madvolkov сказал: Подскажите пожалуйста можно ли сделать адреса подкатегорий в категориях нормального чпу вида,а не такие вот <a href="index.php?cat=22"> Ссылка на сообщение Поделиться на другие сайты
madvolkov 0 Опубликовано 19 августа, 2020 Жалоба Share Опубликовано 19 августа, 2020 это в product_listing_columns.html поменял но тогда ссылки вообще пропадают просто остаётся название категорий Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 19 августа, 2020 Жалоба Share Опубликовано 19 августа, 2020 8 минут назад, madvolkov сказал: это в product_listing_columns.html поменял но тогда ссылки вообще пропадают просто остаётся название категорий Это какая-то Ваша доработка, видимо, по умолчанию такого нет. Нужно смотреть как формирутеся массив categories_list Либо в /includes/modules/default.php или product_listing.php Что там, какие метки доступны. CATEGORIES_ID или ещё есть что-то, например CATEGORIES_NAME и CATEGORIES_LINK Ссылка на сообщение Поделиться на другие сайты
madvolkov 0 Опубликовано 29 сентября, 2020 Жалоба Share Опубликовано 29 сентября, 2020 вот в файле product_listing.php такое вот для вывода списка подкатегорий if ($_GET['cat']) { $categories_query = "SELECT c.categories_id, cd.categories_name FROM categories AS c, categories_description AS cd WHERE c.categories_id=cd.categories_id AND c.parent_id=$current_category_id"; $categories_query = vamDBquery($categories_query); $categories_list = array(); while ($subcategory = vam_db_fetch_array($categories_query, true)) { $categories_list[] = array ('CATEGORIES_NAME' => $subcategory['categories_name'], 'CATEGORIES_ID' => $subcategory['categories_id']); } $module->assign('categories_list', $categories_list); } в product_listing_columns.html так вот {if $categories_list} <div class="page"> <div class="pageItem"> <ul class="categories-list"> {foreach name=aussen item=category_data from=$categories_list} <li><a href="index.php?cat={$category_data.CATEGORIES_ID}"> {$category_data.CATEGORIES_NAME}</a></li> {/foreach} {php}{/php} </ul> </div> {/if} как поправить чтобы ссылки были нормального вида,а не такого вот <a href="index.php?cat=22"> сам отвечу....сделал так вот добавил выборку из таблицы урла категорий if ($_GET['cat']) { $categories_query = "SELECT categories_url, c.categories_id, cd.categories_name FROM categories AS c, categories_description AS cd WHERE c.categories_id=cd.categories_id AND c.parent_id=$current_category_id"; $categories_query = vamDBquery($categories_query); $categories_list = array(); while ($subcategory = vam_db_fetch_array($categories_query, true)) { $categories_list[] = array ('CATEGORIES_NAME' => $subcategory['categories_name'], 'CATEGORIES_ID' => $subcategory['categories_id'], 'CATEGORIES_URL' => $subcategory['categories_url']); } $module->assign('categories_list', $categories_list); } ну и в шаблоне вывод : <ul class="categories-list"> {foreach name=aussen item=category_data from=$categories_list} <li><!--<a href="index.php?cat={$category_data.CATEGORIES_ID}">--> <a href="{$category_data.CATEGORIES_URL}"> {$category_data.CATEGORIES_NAME}</a></li> {/foreach} </ul> Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 29 сентября, 2020 Жалоба Share Опубликовано 29 сентября, 2020 1 час назад, madvolkov сказал: ну и в шаблоне вывод : Спасибо, что поделились кодом. Вообще есть функция vam_category_link , которая как раз строит url адрес. т.е. если Вам известен id категории и название категории, то можно этой функцией получить url на категорию. Вот так: vam_category_link($sub_category['categories_id'],$sub_category['categories_name']) Так, по идее, правильнее всё-таки, универсальнее. Если например у категории не будет задан seo url или ещё что, эта функция вернёт всгда рабочий адрес категории. Вне зависимости от настроек магазина. 1 Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения