i18nsync и "дополнительные поля"

Главные вкладки

Аватар пользователя gn@drupal.org gn@drupal.org 3 августа 2009 в 18:30

В модуле интернационализации i18n есть субмодуль i18nsync, предназначенный для синхронизации полей при переводе - чтобы эти поля можно было унаследовать от оригинальной ноды, а не вводить заново, ну и присоединённые файлы не дублировать. Список доступных для синхронизации полей должен включать стандартные поля ноды и поля CCK. Кроме того, в readme.txt говорится о возможности синхронизации дополнительных полей, если их прописать в settings.php:

<?php// Available fields for synchronization, for all node types.
$conf['i18nsync_fields_node'] = array(
  'field1' => t('Field 1 name'),
  'field2' => t('Field 2 name'),
  ...
); ?>

Но навскидку непонятно, какие поля можно добавлять, кроме "standard node fields and cck fields", которые должны быть доступны и так. Кто-нибудь уже пробовал добавлять для синхронизации какие-то поля или переменные? Что можно вытащить дополнительно?

Комментарии

Аватар пользователя annya annya 19 августа 2009 в 1:02

http://www.lullabot.com/articles/making-attachments-appear-across-transl...статья о том как настроить и что Вы получите в результате.
Я пробовала использовать синхронизацию сск-полей - работает без проблем.
Если Вам необходимо чтобы поле которое Вы используете в нескольких типах контента, синхронизировалось во всех без исключения типах-прописывете необходимые данные в settings.php. Допустим поле field_photo используется в типах контента news, article, blog. Если Вам небходимо чтобы оно сонхронизировалось только в news и blog то настраиваете это в типе контента. Если же для news, article и blog, то Вы можете прописать это в settings.php или настроить в самом типе контента. Вот и все!

Аватар пользователя gn@drupal.org gn@drupal.org 19 августа 2009 в 23:37

Спасибо за ссылку, но там речь идёт именно о "штатной" синхронизации, с которой как раз всё более-менее понятно. Я ей уже пользовался и немного экспериментировал, и видел, что она работает, хотя и не без некоторых загибов (например, для nodereference, и для изображений с image_fupload widget'ом). Один раз проставить для каждого контент-типа птички на полях, которые нужно синхронизировать при переводе - не проблема. Думаете, добавление поля в settings.php просто облегчает эту работу?

Меня интересовал вопрос, можно ли использовать этот метод для того, чтобы синхронизировать что-нибудь кроме тех полей CCK, которые и так видны в списке. Например, можно ли синхронизировать URL - так, чтобы переводы ноды автоматически получали адреса, отличающиеся от адреса оригинальной ноды только языковым префиксом?

Вот тут есть немного про применение для Ubercart, но у меня ещё руки не дошли подробнее разобраться.

Аватар пользователя annya annya 21 августа 2009 в 20:57

Если откровенно я не вижу особенного смысла делать одинаковые синонимы для путей на разных языках. Возможно их лучше применять только для статических страниц, так как трудновато для нод с русскими названиями(особенно длинными) лучше воспринимаются русский транслит(личное мнение). И ули использовать pathauto, то придется создавать оригинальную ноду постоянно на одном и том же языке, т.к. не особенно красиво смотрится англо-русско-беларусские пути вперемешку.

Аватар пользователя gn@drupal.org gn@drupal.org 22 августа 2009 в 0:18

А я как раз не люблю URL'ы типа "Vasja-Pupkin-rasskazyvaet-kak-on-provel-leto".
Я предпочитаю симметричные урлы: для основных страниц навзание стоит прописать вручную ("about", "contact", "partners" и т.п.), а для прочих можно по типу контента и номеру, дате и пр. - например, "products/123" или "publications/456". И мне хотелось бы, чтобы перводом "en/products/123" был "ru/products/123", а не "ru/products/124"/