Своя настройка ЧПУ

Здесь будем собирать общую полезную информацию по системе.
Аватара пользователя
duncan
Сообщения: 199
Зарегистрирован: 24 авг 2015, 22:44
Откуда: місто Лева
Благодарил (а): 27 раз
Поблагодарили: 12 раз

Своя настройка ЧПУ

Сообщение duncan » 27 дек 2016, 17:33

АВЕ позволяет гибко настраивать ЧПУ, указывать в настройках, генерировать и проч.
можно также ещё более автоматизировать этот процес

1. генерация ЧПУ с родительским префиксом
например у нас есть документ "Новости" с ЧПУ -- news
и мы хотим, чтобы все новости, которые отображаются на сайте, получали автоматический префикс news (http://nash-sait/news/nazvanie-stranicy)
для настройки открываем рубрики -- новости

Изображение

и в "Исполняемый код для рубрик" пишем код:

Изображение

Код: Выделить всё

<?php
$data['document_parent'] = 5; // айдишка родительского документа
$parent_doc_alias = get_document($data['document_parent'], 'document_alias');   

// Если новый документ или отсутствует юрл   
$data['document_alias'] = prepare_url( (empty($data['document_alias']) || $_REQUEST['action'] == 'new') ? trim($parent_doc_alias . '/' . $data['doc_title'], '/') : $data['document_alias']   );
?>


кто не понял, что за цифра здесь: $data['document_parent'] = 5;

Изображение
версия на гитгет: https://gitget.ru/ave-cms-team/ave-cms

Аватара пользователя
duncan
Сообщения: 199
Зарегистрирован: 24 авг 2015, 22:44
Откуда: місто Лева
Благодарил (а): 27 раз
Поблагодарили: 12 раз

Своя настройка ЧПУ

Сообщение duncan » 27 дек 2016, 17:45

2. префикс ЧПУ из рубрики

распрастранённая вещь -- использование "документа из рубрики", когда создаём категории и делаем динамическую привязку документов к этим категориям
и если нужно, чтобы префиксом в урле был ЧПУ категории, тогда используем такой код:

Код: Выделить всё

<?php
   // Получаем alias документа из рубркии
   $rubric_prefix = get_document($data['feld'][4], 'document_alias');
   
   // Назначаем парент этому документу, изсходя из документа из рубрики
   $data['document_parent'] = $data['feld'][4];
   
   //Собираем alias документа, если документ новый или alias не был передан
   $data['document_alias'] = prepare_url( (empty($data['document_alias']) || $_REQUEST['action'] == 'new')
      ? trim($rubric_prefix . '/' . $data['doc_title'], '/')
      : $data['document_alias'] );
?>


$rubric_prefix = get_document($data['feld'][4], 'document_alias'); -- вот это значение, это айди поля "документ из рубрики"

Изображение

$data['document_parent'] = $data['feld'][4]; -- а это значение, для автоматической привязки документа к категории:

Изображение
версия на гитгет: https://gitget.ru/ave-cms-team/ave-cms


Вернуться в «База знаний»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость