Скопируйте языковой контент на другой

Я на IP 4.0.11.

Можно ли скопировать все содержимое языка на другой (т.е. редактировать только тексты, а не стиль или HTML)? Есть ли вариант или, возможно, в базе данных?

Заранее спасибо.

2 ответа

В настоящее время вы можете копировать только страницы. В вашем случае я бы сделал так:

  1. Создать новый язык.
  2. Создайте те же меню на новом языке (то же имя и псевдоним).
  3. Затем перейдите на оригинальный язык.
  4. Выберите страницу (копирование родительских копий тоже детей)
  5. Нажмите значок "Копировать".
  6. Перейти на новый язык.
  7. Выберите необходимое меню.
  8. Нажмите значок "Вставить".
  9. Повторите 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;

Надеюсь, что до разработчиков

Другие вопросы по тегам