Не фильтрует по продавцам

#
Не фильтрует по продавцам
Добрый день!
Направьте на правильную мысль: у товаров есть продавцы, существует страница со списком продавцов сайт.ру/shop/sellers/, на странице несколько ссылок с названиями продавцов, кликаю на любую (например, сайт.ру/shop/seller-7/) и получаю ошибку 404. При том, что метки и производители работают по тому же принципу и 404 не выдают. Куда копать?
lbrstudio@mail.ru
#
Re: Не фильтрует по продавцам
Стандартно у контроллера магазина  нет паттерна по seller-{id_seller} . Вероятно у вас какие-то свои наработки используются.  Ссылка должна быть вида сайт.ру/shop/sellers/7/
«Не выходи из комнаты, не совершай ошибку…»
#
Re: Не фильтрует по продавцам
Спасибо, привел ссылку к описанному вами виду. Теперь выбирая из списка продавцов нужного, перехожу на его страницу. Но сделать фильтрацию товаров по продавцу, аналогично производителям или меткам, не выходит.
Использую следующий код, аналогичный коду призводителей

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0"
   xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
   xmlns:hostcms="http://www.hostcms.ru/"
   exclude-result-prefixes="hostcms">
   <xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict" doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="utf-8" indent="yes" method="html" omit-xml-declaration="no" version="1.0" media-type="text/xml"/>
   
   <!-- МагазинСписокПродавцов -->
   
   <xsl:template match="/">
      <xsl:apply-templates select="shop"/>
   </xsl:template>
   
   <xsl:template match="shop">
      <div class="shop-brands no-padding">
         
         <div id='cssmenu'>
            <ul>
               <li class='has-sub'><a href="#">Продавцы</a>
                  <ul>
                     <xsl:apply-templates select="shop_seller"/>
                  </ul>
               </li>
            </ul>
         </div>
         
         
      </div>
   </xsl:template>
   
   <xsl:template match="shop_seller">
   <li><a href="{/shop/url}sellers/{path}/"><xsl:value-of disable-output-escaping="no" select="name"/></a></li>
   </xsl:template>
</xsl:stylesheet>

lbrstudio@mail.ru
#
Re: Не фильтрует по продавцам
А что вы сделали что бы была такая фильтрация?
«Не выходи из комнаты, не совершай ошибку…»
#
Re: Не фильтрует по продавцам
Попробовал сделать фильтрацию на основе шаблонов производителей:
1. В структуре есть страница с привязкой к тдс "продавцы". Там же выбраны шаблоны XSL продавцов и XSL списка продавцов
2. В макете сайта с помощью виджета вывожу список продавцов выбранного магазина (XSL шаблон для виджета привел выше, код стрницы виджета ниже)

<?php
if (Core::moduleIsActive('shop'))
{
   $shop_id = Core_Array::get(Core_Page::instance()->widgetParams, 'shopId');
   $xsl = Core_Array::get(Core_Page::instance()->widgetParams, 'xsl');
   $limit = Core_Array::get(Core_Page::instance()->widgetParams, 'limit');   

   $oShop_Seller_Controller_Show = new Shop_Seller_Controller_Show(
      Core_Entity::factory('Shop', $shop_id)
   );

   $oShop_Seller_Controller_Show
      ->xsl(
         Core_Entity::factory('Xsl')->getByName($xsl)
      )
      ->limit($limit)
      ->show();
}


lbrstudio@mail.ru
#
Re: Не фильтрует по продавцам
Это только показ самих продавцом. Никакой фильтрации или выборки товаров здесь нет. Если хотите чтобы был точно такой же показ товаров как у производителей то нужно наследовать контроллер магазина изменять паттерн и при соответствующем пути делать ограничение по продавцу.
«Не выходи из комнаты, не совершай ошибку…»
#
Re: Не фильтрует по продавцам
Вас понял, попробую найти решение
lbrstudio@mail.ru
Авторизация