В моем магазине в одной из категорий есть только один товар. Можно ли направлять пользователя прямо на страницу сведений о продукте этого одного продукта всякий раз, когда он щелкает эту категорию на панели навигации?
Прямой переход на страницу сведений о продукте по щелчку категории на панели навигации.
Ответы (3)
Да, это можно сделать с помощью параметра Управление перезаписью URL в администраторе Magento.
В админке Magento:
- Выберите в строке меню Каталог > Управление перезаписью URL.
- Нажмите кнопку Добавить URLRewrite.
- Выберите категорию, из которой вы хотите выполнить перенаправление.
- Запишите путь идентификатора (например, category/10) и путь запроса (например, flowerpots.html). эм>)
- Повторите шаги 1 и 2, но на этот раз выберите Пользовательский в раскрывающемся списке Создать перезапись URL.
Введите значения в каждое поле:
- ID Path (from step 4)
- Путь запроса (из шага 4)
- Target Path - enter path of your product (or the page you want to redirect to).
- example 1: for product url www.myswebsite.co.uk/flowers.html enter flowers.html.
- пример 2: для URL продукта www.myswebsite.co.uk/sale/garden/flowers.html введите sale /сад/цветы.html.
Выберите Постоянное перенаправление (301) в раскрывающемся списке Перенаправление.
- Сохранять.
Теперь, когда вы нажимаете на категорию на вашем веб-сайте, она будет перенаправлена на продукт.
-1
к ссылке на категорию в навигации, минуя принудительное перенаправление, созданное с помощью приведенных выше инструкций.
- person Louis B.; 31.05.2014
Это можно сделать программно, добавив код в шаблон страницы в папке вашей темы, который вызывается для отображения категорий. Ознакомьтесь с полным решением здесь: http://www.codeboss.in/web-funda/2015/01/30/magento-auto-redirect-to-product-details-page-if-category-have-only-one-product/
Следуйте инструкциям:
Откройте шаблон страницы, назначенный страницам категорий. Вы найдете его в папке «template/page/» в каталоге вашей темы. Например, предположим, что страница имеет размер 1column.phtml (для макета с одним столбцом).
Сразу после строк
/** * Шаблон для Mage_Page_Block_Html */
- Добавьте следующий код:
<?php
$product = Mage::registry('current_product');
if($product == ''){
$category = Mage::registry('current_category');
if(is_object($category)){
$catLoaded = Mage::getModel('catalog/category')->load($category->getEntityId());
$collection = $catLoaded->getProductCollection();
$collection->addAttributeToSelect('*');
if(count($collection) == 1){
foreach($collection as $product){
$productUrl = $product->getProductUrl();
header("location:$productUrl");
exit;
}
}
}
}
?>