Сниппет цифры вместо текста в ссылке
Здравствуйте!
Есть ли сниппет, который бы создавал в новости ссылку не текст, а цифры?
Например: site.ru/novosti/025456/
На сайте много новостей и хотелось бы, что бы новости автоматом создавались именно цифрами. (Только раздел новости, а остальные как положено транслитом).
Есть ли сниппет, который бы создавал в новости ссылку не текст, а цифры?
Например: site.ru/novosti/025456/
На сайте много новостей и хотелось бы, что бы новости автоматом создавались именно цифрами. (Только раздел новости, а остальные как положено транслитом).
Комментарии: 8
Есть ли сниппет, который бы создавал в новости ссылку не текст, а цифры?Нужен не сниппет, а плагин на событие OnDocFormSave, в котором проверять родителя(новости) или нужный шаблон, и генерировать свой alias для документа.
есть ли готовый плагин? Сам написать такой не смогу:(
Можно так:
<?php
switch ($modx->event->name) {
case 'OnDocFormSave':
if($resource->template == 2) {
$title = $resource->id . '-' . date("m-d-y");
$alias = $resource->cleanAlias($title);
$resource->set('alias', $alias);
$aliasPath = $resource->getAliasPath();
}
$resource->save();
break;
}
Создаст для ресурсов с шаблоном id = 2 alias вида: idдокумента-текущая дата. Условия менять по желанию.
Раз
Два:
И таких примеров полно готовых
Два:
<?php
if ($modx->event->name == 'OnDocFormSave') {
$alias = $resource->get('alias');
$template = $resource->get('template');
if ($template == 8) { // обрабатываем только для документов с нужным нам шаблоном, можете поставить здесь другое условие
$resource->set('alias', $id);
$resource->save();
}
}
И таких примеров полно готовых
Ни тот, ни тот не работают. Возможно что-то не так делаю.
Создал плагин, назвал его links.
Закинул туда
При создании ресурса, всё равно псевдоним, который в заголовке.
Translit не может ему мешать?
Создал плагин, назвал его links.
Закинул туда
<?php
switch ($modx->event->name) {
case 'OnDocFormSave':
if($resource->template == 3) {
$title = $resource->id . '-' . date("m-d-y");
$alias = $resource->cleanAlias($title);
$resource->set('alias', $alias);
$aliasPath = $resource->getAliasPath();
}
$resource->save();
break;
}
ID шаблона указал 3.При создании ресурса, всё равно псевдоним, который в заголовке.
Translit не может ему мешать?
Вы же ставите галочку в настройках плагина, чтобы выбрать событие OnDocFormSave?
и мне кажется
и мне кажется
$resource->save();
лучше внести внутрь if
save не требуется
docs.modx.com/current/ru/extending-modx/plugins/system-events/ondocformsave
см. в самом низу
docs.modx.com/current/ru/extending-modx/plugins/system-events/ondocformsave
см. в самом низу
нет, не ставил. О теперь работает. Спасибо
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.