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

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

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

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

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

Спасибо!
Klike
12 марта 2015, 15:50
modx.pro
2
5 531
0

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

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

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

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

    И без включения «Использовать вложенные URL», к примеру, категории РУЧКИ начинают конфликтовать, потому как одинаковые алиасы создаются. В итоге все товары падают в корень сайта.
    G@G
    G@G
    17 марта 2015, 11:40
    0
    Насколько помню в этой статье:
    webhow.ru/modx-revolution/modxadd/modx-revolution-sozdanie-resursov-i-zagruzka-fajjl.html
    в сниппете formit2resource реализовали подобное
    but1head
    17 марта 2015, 12:36
    2
    0
    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
      16 декабря 2015, 12:30
      0
      Спасибо за информацию. Хотелось бы еще узнать, в каком именно порядке использовать этот код?
      Я создаю ресурс
      $response = $this->modx->runProcessor('resource/create', $data_content);
      В некоторых случаях происходит дублирование алиасов и в итоге процесс останавливается из-за ошибки.
      Я должен заранее проверку делать, получается?
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      8