К содержанию

Добавить ID ресурса в alias (url)

Доброго времени суток!
Можно ли добавить ID ресурса в alias страницы?

К примеру сайт.ру/каталог/раздел-5/товар-12

Или же как можно делать проверку на повторяющиеся alias при автоматическом создании страниц с одинаковым названием?

К примеру, добавлять цифры или id ресурса, если такой alias уже существует.

Спасибо!
Klike
Klike
12 марта 2015, 15:50
modx.pro
6 320
Реклама

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

Сергей Скат
Сергей Скат Проверенный
13 марта 2015, 02:10
странная задача, ну можно например написать простенький плагин, который бы при сохранении ресурса добавлял в поле с алиасом id этого ресурса, или любой другой идентификатор, а зачем если не секрет?
    Мордынский Николай
    13 марта 2015, 03:01
    не при сохраненнении, а при создании)) иначе лапша получиться)
      Сергей Скат
      Сергей Скат Проверенный
      13 марта 2015, 18:23
      а, ну да, согласен )
      Klike
      Klike Проверенный
      13 марта 2015, 18:31
      Потому что с такой структурой:

      • Канцелярия 1
        • Ручки
          • Parker
          • Бренд 2

      • Канцелярия 2
        • Ручки
          • Parker 2
          • Бренд 3

      И без включения «Использовать вложенные URL», к примеру, категории РУЧКИ начинают конфликтовать, потому как одинаковые алиасы создаются. В итоге все товары падают в корень сайта.
      G@G
      G@G Проверенный
      17 марта 2015, 11:40
      Насколько помню в этой статье:
      webhow.ru/modx-revolution/modxadd/modx-revolution-sozdanie-resursov-i-zagruzka-fajjl.html
      в сниппете formit2resource реализовали подобное
      but1head
      but1head Проверенный
      17 марта 2015, 12:36
      if($resource->class_key == 'msProduct' && $modx->event->name == 'OnDocFormSave' && $mode == 'new'){
      	$article = $resource->get('article');
      	$alias = ($article == '' ? $id : $article);
      	$resource->set('alias', $alias);
      	$resource->save();
      }
      для товаров, подставляет артикул вместо алиаса
        Ruslan
        Ruslan Старожил
        16 декабря 2015, 12:30
        Спасибо за информацию. Хотелось бы еще узнать, в каком именно порядке использовать этот код?
        Я создаю ресурс
        $response = $this->modx->runProcessor('resource/create', $data_content);
        В некоторых случаях происходит дублирование алиасов и в итоге процесс останавливается из-за ошибки.
        Я должен заранее проверку делать, получается?
        Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
        8