Также есть баг, например при использовании tinymcewrapper, поле для ввода перевода контента становится не textarea, а input, и в консоль выпадают критические JS ошибки, не давая всплывающему окну сохранить перевод, лечится таким костылем:
<?php
switch ($modx->event->name) {
case 'OnManagerPageBeforeRender':
/* Прерываем ошибку JavaScript при инициализации TinyMCE */
$tinymwrapper_path = MODX_CORE_PATH . '/components/migx/elements/tv/tinymcewrapper.tpl';
if (is_file($tinymwrapper_path)) {
$tpl_content = file_get_contents($tinymwrapper_path);
$tpl_file = preg_replace('/[^\S\r\n](tinymce\.get\(.*?\)\.save\(\);)/', 'try{$1}catch(e){}', $tpl_content);
file_put_contents($tinymwrapper_path, $tpl_file);
}
/* Отключаем редактор для поля CONTENT в localizator, иначе поле будет input */
$localizator_fields_path = MODX_CORE_PATH . '/components/localizator/processors/mgr/fields.class.php';
if (is_file($localizator_fields_path)) {
$tpl_content = file_get_contents($localizator_fields_path);
$tpl_file = preg_replace('/[^\S\r\n]+(\$resourcefields\[\'content\'\])/', '$richtext = false;$1', $tpl_content);
file_put_contents($localizator_fields_path, $tpl_file);
}
break;
}
Привожу код, сниппета translit:
P.S. Можно добавить trim, или replace пробелов в fenom конструкцию, если контент менеджер случайно пробелы впишет до или после " Австрия"
Скрипт, генерации mysql запросов.
Используется при статических переводах, к примеру заголовки и т.д. Вызывается перевод на примере скриншота так . Но не забудьте, что сгенерированный запрос нужно выполнить в phpMyAdmin… Сам скрипт, нужно поместить в созданную в корне папку, к примеру lexicongen
, после добавления processElementTags в конце плагина проблем нет.
Добавляю код допила плагина, с учетом всех косяков.
Не забудьте в чанке, который отвечает за вывод начала документа (), прописать
Сниппет переключения языка для Bootstrap 4
В чанке, использую так
P.S. locfield представленный выше модуль, работает криво при выводе content:
А вызов из документации вообще ничего не выводит
Хотелось бы понять почему так происходит…
Также, может кому-то помогу, представлю mysql запрос, который перенесет уже имеющую локализацию сделанную на доп. полях (tv). К примеру, keywords_en, country_en и т.п. с постфиксом _en на конце: