Файлы и структура
Карта по назначению, а не полный перечень: классов в модуле под сотню, и список ради списка устаревает первым.
Внутри модуля
install/ установка, обновление, удаление, миграции схемы
admin/ экраны админки: страницы, вкладки, обработчики действий
lib/ код модуля
lang/ фразы интерфейса на русском и английском
docs/site/ исходники этой документации (в поставку не входят)
Подробнее по lib/:
| Где | Что |
|---|---|
Lang.php |
фасад для шаблонов: получить фразу, типографика, перевод |
IblockHelper.php |
фасад к работе с инфоблоками, 33 метода |
Access.php |
права модуля |
DateHelper.php |
даты и периоды через словарь |
Model/ |
таблица состояния очереди |
Repository/ |
словарь в highload-блоке |
Service/ |
вся работа: перевод, очередь, сверка, индексация, языки |
Iblock/, Shop/, Seo/, Hl/ |
подстановка по областям |
UI/ |
зеркало языка, кнопки в админке, редактор на сайте |
Event/ |
обработчики событий |
Agent/ |
фоновое задание |
Bootstrap/ |
отбор автозагрузки на неподдерживаемом PHP |
Что модуль кладёт вне своего каталога
Это важно знать: замена каталога модуля эти файлы не обновляет.
| Путь | Что |
|---|---|
/bitrix/admin/mrlexndr_translate_*.php |
шесть заглушек экранов админки |
/bitrix/tools/mrlexndr.translate/translate.php |
единый эндпоинт для запросов из админки и с сайта |
/local/js/mrlexndr.translate/ |
редактор на сайте, перевод в списке и карточке |
/local/styles/mrlexndr.translate/ |
стили режима правки |
/bitrix/themes/.default/ |
иконка общего раздела меню |
Раскладывает их установщик. Поэтому после замены файлов обязательно нажать «Обновить» — см. Обновление на бою.
Что модуль создаёт в базе
| Объект | Что в нём |
|---|---|
| Highload-блок «Словарь сайта» | фразы интерфейса |
Highload-блок MrlexndrTranslateSeo |
переводы SEO-шаблонов |
b_mrlexndr_translate_state |
очередь: хеши исходников, ждущие свойства, отказы, найденные поломки |
| Языковые свойства инфоблоков | переводы контента, рядом с оригиналом |
Поля разделов UF_NAME_<язык> и подобные |
переводы разделов |
Ничего из этого не удаляется при удалении модуля. Это контент, и восстановить его неоткуда. См. Удаление, переустановка, откат.
Чего в поставке нет
Служебных скриптов и автоматических проверок: они нужны при разработке модуля, а на рабочем сайте только увеличивают площадь.
Документации — тоже. Каталог docs/ исключён целиком, вместе со справочником:
он живёт разделом на сайте, и второй копии не будет. Причина не в размере
архива, а в том, что копия неизбежно отстаёт, а читатель об этом не знает.
README в архив не едет по той же причине: это витрина репозитория, и ссылки в нём ведут на материалы, которых в поставке нет.