Скопируйте языковой контент на другой
Я на IP 4.0.11.
Можно ли скопировать все содержимое языка на другой (т.е. редактировать только тексты, а не стиль или HTML)? Есть ли вариант или, возможно, в базе данных?
Заранее спасибо.
2 ответа
В настоящее время вы можете копировать только страницы. В вашем случае я бы сделал так:
- Создать новый язык.
- Создайте те же меню на новом языке (то же имя и псевдоним).
- Затем перейдите на оригинальный язык.
- Выберите страницу (копирование родительских копий тоже детей)
- Нажмите значок "Копировать".
- Перейти на новый язык.
- Выберите необходимое меню.
- Нажмите значок "Вставить".
- Повторите 3-8.
Это немного ручной работы, но это глупо. Это не должно занять много времени. Изменение базы данных может создать много ошибок.
Спасибо за ответ, Аудрюс. Это прекрасно работает с одним предупреждением: страницы, вставленные в новый язык, все еще имеют префикс старого языка. Пример: скопировал английскую страницу "home" на норвежский и установил URL "hjem". Новая страница теперь получила url /en/hjem вместо no/hjem, как и ожидалось. Я на 4.0.16. Благодарен за любые подсказки.
Обновление 21 мая: сделал некоторую отладку. Очевидно, в коде Ip\Internal\Pages copySinglePage() нет ничего, что заботилось бы об изменении $copy['languageCode'] для новой страницы, которая будет вставлена. Строка 93 и далее (см. Пункт 4.0.16):
unset($copy['id']);
$copy['parentId'] = $newParentId;
$copy['pageOrder'] = $newIndex;
$copy['urlPath'] = UrlAllocator::allocatePath($copy['languageCode'], $copy['urlPath']);
в то время как я также ожидал бы некоторые логические
$copy['languageCode'] = something;
Надеюсь, что до разработчиков