Dlaczego język pola ciała nie miałby być zapisany w tym samym języku co węzeł?

9

Mam problem z tym, że użytkownik tworzy nowe węzły i wprowadza treść, ale ustawia węzły jako „neutralne językowo” dla danego języka. Jednak po zapisaniu węzła język pola ciała zostaje ustawiony na angielski. Dlaczego tak się dzieje? Co by to spowodowało?

Na tej stronie mamy zarówno angielski, jak i francuski włączony i skonfigurowany. Ta strona to D7 z systemem i18n.

Jest to podobne do pustego ciała na stronie edycji węzła, z tym wyjątkiem, że chcę wiedzieć, w jaki sposób pole uzyskałoby inny język niż węzeł.

Patrick
źródło

Odpowiedzi:

4

Domyślnie drupal ustawia „und” jako język pola, czyli LANGUAGE_NONE. Więc kiedy print_r($node)zobaczysz pole z czymś takim$node->field_name['und'][0]['value']

Teraz, gdy włączysz tłumaczenie na tym polu, „und” zostanie zastąpione przez kod języka i jakoś $nodestruktura wyglądałaby tak, jakby $node->field_name['en'][0]['value']„en” był kodem języka. Twoje pole ciała będzie teraz miało „en” jako język i nie będzie już puste podczas renderowania

Na twoje pytanie powyżej:

Mam problem z tym, że użytkownik tworzy nowe węzły i wprowadza treść, ale ustawia węzły jako „neutralne językowo” dla danego języka. Jednak po zapisaniu węzła język pola ciała zostaje ustawiony na angielski. Dlaczego tak się dzieje? Co by to spowodowało?

Sprawdź domyślny język witryny, jeśli jest ustawiony na angielski, prawdopodobnie język neutralny przyjmie domyślny język witryny.

gauravjeet
źródło
1
Byłoby trochę lepiej, gdybyś mógł wyjaśnić, jak włączyć tłumaczenie na pola, ponieważ wydaje się, że wiesz, jak to zrobić, i to nie jest oczywiste.
Mołot
1
@ Mołot, Pobierz i zainstaluj moduł i18n z: [ drupal.org/project/i18n] , teraz przejdź do Struktura> Typy treści> „Nazwa typu treści”> Zarządzaj polami> „Edytuj pole” Otrzymasz opcję włączenia tłumaczenia , Dzięki temu możesz włączyć tłumaczenie na dowolnym polu
gauravjeet 24.10.2013
Miałem na myśli, że mogę to zrobić, ale zredaguj odpowiedź (dla przyszłych czytelników, wielu świeżych i zielonych) może być dobrym pomysłem. Jeśli możesz to zrobić. W każdym razie masz moje poparcie dla wyjaśnienia.
Mołot