красивые урлы для брендов в категориях

добрый день, появилось желание сделать красивые ссылки для брендов в разделах, т.е. сейчас все это выглядит так
site.ru/catalog/razdel/?ms|vendor=3
что не очень красиво и для пресловутого seo не айс)
хочется получить ссылки вида
site.ru/catalog/razdel/brand/sony/
что позволит создавать странички разделов с товарами брендов типа «Ноутбуки sony», понятно что в идеале нужно еще и title причесать, но хотя бы разобраться с чпу и ссылками.

кто-то уже решал подобную задачу?
Ilya Ev
26 марта 2014, 19:07
modx.pro
4
3 182
0

Комментарии: 9

Александр Котлов
27 марта 2014, 12:16
0
Прозошла типичная подмена понятий — не стоит путать теплое с мягким (с)

Василий решил, при разработке еще) Если создать дополнительныу категорию сайт->каталог->раздел->бренд->sony то и url у нее будет site.ru/catalog/razdel/brand/sony/ и будет айс.
    Ilya Ev
    27 марта 2014, 13:50
    0
    Вы не совсем правы. Объясню почему. Представим ситуацию реального каталога магазина 50-100 категорий, в каждой категории есть 10-30 брендов. Если действовать вашим методом придется создать по 10-30 папок в каждой из 50-100 категорий! а это просто трындец)

    Общие страницы бренда вашим способом создать можно типа site.ru/brand/sony/ а вот раздел бренда в каждой категории, вызовет адские мучения и проблемы с администрированием.

    Да и смысла в этом не вижу так как товарам уже назначен бренд в настройке товара остается только прикрутить чпу.
      Ilya Ev
      27 марта 2014, 14:49
      0
      Да я пробовал раскручивать по данному мануалу, и даже сделал для себя некоторые моменты, но вот это осилить что-то не выходит.

      1 проблема в том, что у производителей в базе нет поля с транслитом их названия и если бренд на русском языке возникают сложности с урлом, как вариант вроде видеться использовать id производителя но это не очень красиво (site.ru/catalog/razdel/vendor/1/), но и с этим возникла сложность у меня))

      делал плагин

      if ($modx->event->name == 'OnPageNotFound') {
      $request = $_REQUEST['q'].'/';
      
      $matches=explode("/", $request);
      $nullz = array_pop($matches);
      $nullz = array_pop($matches);
      $vendor = array_pop($matches);
      $isvendor = array_pop($matches);
      $category = array_pop($matches);
      
      if($isvendor==vendor){
      
      
      $q = array(
                  'alias' => $category
                  ,'deleted' => 0
                  ,'published' => 1
              );
      if ($section = $modx->getObject('modResource', $q)){
      $section_id = $section->get('id');
      $_GET['ms|vendor'] = $vendor; $modx->sendForward($section_id); 
      
      }
      }
      Но что-то работает не очень верно, при переходе по таким ссылкам галка в фильтре отмечается, выводиться надпись, что Вы выбрали: sony x, но товары показываются все без фильтрации.

      Вообщем я подумал, даже если заставить все это работать по ссылкам вида site.ru/catalog/razdel/vendor/1/ это не совсем то что хочется. А хочется ЧПУ добавить с транслитом бренда. В связи с чем возникает вопрос а нет ли возможности доделать этот момент и внести его минишоп2 на коммерческой основе? Т.е. может быть я проспонсировал эту доработку (ну или кто-то поможет доложить часть если доработка стоит дорого), и сделать ее доступной для всех, так как штука очень полезная для магазина и многим придется по душе)
        Василий Наумкин
        27 марта 2014, 14:57
        0
        Эту штуку нельзя доделать и внести хотя бы потому, что у каждого свои id страницы для вывода фильтров и их конфигурации.

        Не всё можно сделать «из коробки», без ограничения функционала, да и miniShop2 уже давно не mini.

        Вот, то что тебе нужно, если я правильно понимаю — mamaboutique.ru/store/brands/, вот отдельный бренд по прямой ссылке mamaboutique.ru/store/brands/alles/ и делается это обычным плагином по OnPageNotFound.
          Ilya Ev
          27 марта 2014, 15:05
          0
          Очень похоже на то что нужно, могли бы вы показать плагин для понимания и адаптации для себя если подойдет? а то я что-то застрял(
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    9