Чому мова поля тіла не збереже ту саму мову, що і вузол?


9

У мене виникає проблема, коли користувач створює нові вузли та вводить текст тіла, але встановлює вузли "мовою нейтральною" для мови. Однак коли він зберігає вузол, мова поля тіла стає встановленою на англійську. Чому це станеться? Що б це спричинило?

На цьому сайті у нас включена та налаштована англійська та французька мови. На цьому сайті працює D18 i18n.

Це схоже на " Порожнє тіло" на сторінці редагування вузла, за винятком того, що я хочу знати, як це поле отримає іншу мову, ніж вузол в першу чергу.

Відповіді:


4

За замовчуванням drupal встановлює "und" як мову поля, тобто LANGUAGE_NONE. Отже, коли ти print_r($node), ти побачиш поле з чимось подібним$node->field_name['und'][0]['value']

Тепер, коли ви включаєте переклад у цьому полі, 'und' заміняється мовним кодом, і $nodeструктура якось виглядатиме так, $node->field_name['en'][0]['value']де 'en' - це код мови. У вашому полі тіла тепер буде "en" як мова, і більше не буде порожнім, коли відображатиметься

Для вашого питання вище:

У мене виникає проблема, коли користувач створює нові вузли та вводить текст тіла, але встановлює вузли "мовою нейтральною" для мови. Однак коли він зберігає вузол, мова поля тіла стає встановленою на англійську. Чому це станеться? Що б це спричинило?

Перевірте мову свого веб-сайту за замовчуванням, якщо його встановлено на англійську, то, можливо, мова нейтральна візьме мову за замовчуванням вашого сайту.


1
Було б трохи краще, якби ви могли пояснити, як увімкнути переклад на поля, оскільки, здається, ви знаєте, як це зробити, і це не очевидно.
Молот

1
@ Mołot, Завантажте та встановіть модуль i18n з: [ drupal.org/project/i18n] , перейдіть до Структура> Типи вмісту> 'Ім'я типу вмісту'> Керувати полями> 'Редагувати поле' Ви отримаєте можливість увімкнути переклад , Завдяки цьому ви можете ввімкнути переклад на будь-яке дане поле
gauravjeet

Я мав на увазі, що я можу це зробити, але відредагувати свою відповідь (для майбутніх читачів, багато з них свіжі та зелені) може бути хорошою ідеєю. Якщо ти можеш потрудитися це зробити. Ви все одно маєте мою нагороду для пояснення.
Молот
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.