Необхідна розробка яка дозволить вписувати будь які URI сторінок (ресурсів). В админ палеле для цього повинен бути спеціальний інтерфейс, який дасть змогу залишити будь-які сторінки і їх URI з попереднього сайту без зміни.
Приклад:
Укр контекст:
/test-page1 - id: 2 (це стандарт)
/ua/test-page2 - id: 3 (це можливість після розробки)
/test-page4 - id: 4 (це стандарт)
Рос контекст:
/ru/test-page3 - id: 5 (це стандарт)
/test-page2 - id: 6 (це можливість після розробки, test-page2 не помилка – мається на увазі що псевдоніми сторінок можуть бути однакові).
/test-page5 - id: 7 (це можливість після розробки)
В прикладі ресурси зв’язані через Babel: 2 і 5, 3 і 6, 4 і 7.
Я бачу таку реалізацію в виді окремої таблиці в адмінці куди буде заноситись необхідний URI сторінки відносно домену і ID ресурсу до якого його потрібно прив’язати. Можлива і реалізація в виді додаткового чекбокса в ресурсі для помітки такої сторінки і вводу необхідного URI в псевдонім.
Основні вимоги: (написано на прикладі таблиці)
Сайт на 2-х мовах укр. та рос. (основна укр.)
Треба зробити спеціальну таблицю в якій будуть записані «особливі» адреси URI і ID сторінок. В цій таблиці: в полі адреси - можуть знаходитись будь-які які URL відносно домену «/» (не базового URL), в полі ID – id сторінки з будь-якого контексту. Обробка Modx цієї таблиці повинна виконуватись слідкуючім чином:
А) Якщо URI присутній в цій таблиці використовується ID цієї сторінки з колонки ID.
Б) Якщо URI відсутній в цій таблиці виконується стандартний алгоритм Modx, але знайдений ID повинен бути відсутнім в попередній таблиці.
В) Якщо URI відсутній в цій таблиці, але знайдений ID (по псевдоніму ресурса) прив’язаний в таблиці до іншого URI треба видати код 404. Тобто при знаходженні сторінки в цій таблиці її власний псевдонім має бути не дійсним і видавати помилку 404.
Система пошуку контента по URL і генерація URL по ID повинна працювати на базовому (системному) рівні щоб запобігти будь-яким проблемам при виводі меню, генерації url по id, вивід посилань babel і т.д.
Вся обробка тільки на стороні сервера і без редіректів.
Після цієї розробки жодні стандартні функції Modx Revo не повинні втратити своєї функціональності.
Modx Revo повинен правильно робити всі перетворення url в ID або ID в URL згідно вище наведених правил.
Для виконання потрібно:
- встановити Modx Revo на наш хостинг ( обов'язково всі основні каталоги необхідно змінити, ядро встановити в приватну зону, а також задати префікси таблиць. Ці дані будуть написані виконавцю. ).
- Налаштувати дружні URL.
- створити файл robots.txt с правилом блокування індексації всіх сторінок.
- встановити основні компоненти pdoTools, Babel, Ace – тобто ті які потрібні для виконання завдання.
- правильно налаштувати контексти та Babel на два контексти Укр(основний) та рос.
- виконати завдання як описано вище.
ТЗ також у файлі (не все написане вмістилось).