Needed development that will allow Modx Revo to add any URLsНеобхідна розробка яка дозволить в Modx Revo додавати будь-які URL
The Context of UCR:
/test-page1 - id: 2 (this is the standard)
/ua/test-page2 - id: 3 (this is the option after development)
/test-page4 - id: 4 (this is the standard)
The Roos context:
/ru/test-page3 - id: 5 (this is the standard)
/test-page2 - id: 6 (this is a post-development option, test-page2 is not a mistake - it is meant that the pseudonyms of the pages may be the same)./test-page5 - id: 7 (this is the option after development)
In the example, the resources are linked through Babel: 2 and 5, 3 and 6, 4 and 7.I see such a realisation in the form of a separate table in the administrator where the necessary URI page relating to the domain and the resource ID to which it needs to be attached will be carried out.It is possible and realisation in the form of an additional checkbox in the resource to note such a page and introduce the necessary URI in the pseudonym.Basic requirements: (written on the example of the table)
Website in 2 languages.and the rose.(the main part of the UCR)You need to make a special table in which the “special” URI addresses and ID pages will be recorded.In this table: in the address field - you may find any URL related to the domain "/" (not the basic URL), in the ID field - id pages from any context.The Modx processing of this table must be performed in a tracking manner:
A) If the URI is present in this table, the ID of this page is used from the ID column.B) If the URI is missing in this table, the standard Modx algorithm is performed, but the identified ID must be missing in the previous table.C) If the URI is missing in this table, but the found ID (by the resource pseudonym) attached in the table to another URI should be issued with the code 404.That is, when a page is in this table its own pseudonym should not be valid and issue error 404.The URL content search system and ID URL generation must work at the basic (system) level to prevent any problems with the menu output, id url generation, babel links output, etc.All processing is only on the server side and without redirects.After this development, no standard Modx Revo features should lose their functionality.Modx Revo should correctly make all conversions of the url to ID or ID to URL according to the above rules.To perform it is necessary:
- install Modx Revo on our hosting ( must all the main catalogues need to be changed, the core to be installed in a private area, as well as set the prefix tables.These data will be written by the executive.)Create a friendly URL.Create a robots.txt file with the blocking rule of indexing all pages.- to install the main components of pdoTools, Babel, Ace - that is, those that are needed to perform the task.- correctly setting the contexts and Babel on two contexts of the Ukr (basic) and the growth.To perform the task as described above.Create a test page to check.(ObservedIt is the name of the Qur’an, or the name of the Qur’an, or the name of the Qur’an, or the name of the Qur’an, or the name of the Qur’an.- briefly describe how the development works and other necessary data to be transmitted to other executives to continue the creation of the rest of the site.(Modified instructions for updating Modx etc.)
Необхідна розробка яка дозволить вписувати будь які 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 на два контексти Укр(основний) та рос.
- виконати завдання як описано вище.
- створити тестові сторінки для перевірки.(обов’язково зв’язані через бабел), меню, комбінації в коді типу [[~[[id]]]] або [[~3]].
- коротко описати як працює розробка і інші необхідні дані для передачі іншим виконавцям для продовження створення решти сайту. (змінені файли інструкції для оновлення Modx тощо).
-
freelancer isn't working in the service any longer