Возникла такая вот проблема:
Создал новый тип нод, назвал его biog...
в нем 2 дополнительных поля с помощью ССК... field_title_en и field_title_fr...
Данные надписи являются переводами заголовка...
создал шаблон node-biog.tpl.php
А теперь вот такой вопрос как мне вывести значение этих двух новый полей??? (вариант
<?php print $content?>
не подходит...)
Может кто нибудь сможет помочь??? Спасибо!!
Комментарии
1й вариант
2й вариант
В первом варианте получаете голое значение из БД
Во втором готовый ХТМЛ.
Спасибо огромное!!!!
Очень выручили!!!
А вы не вкурсе что в первом варианте вашего примера означает ноль???
В принципе для вывода можно сделать и одномерный массив а используется двумерный почему???
Чтобы не различать работу как с однозначным полем, так и с множественным
Сделай var_dump($node); и узаешь
Возник еще один вопрос..
Нужно изменять заголовок ноды в зависимости от языка...
Например если русский то заголовок без изменений.. Если английски то заголовку присваивается значение поля field_en_text[0]['value']...
Мой код не работает... При смене языка всегда выводится текст на русском:
<? echo $language->language; //проверяю текущий язык
if ($language->language != 'ru')
{
$title = $field_en_text[0]['value'];
}
?>
Где ошибка??
Внимательно посмотри на пост ниже, там как написано????
$title =
$node->field_en_text[0]['view']
; а вот такая ЕСТЬ )))
Какой смысл задавать вопросы и не внимательно читать ответы ))
А многоязычный сайт сделать не попробовал?
Сайт и так многоязычный...
А это будет такая фотогалерея...
Создаю ноду ввел заголовок на русском
а потом на английском и французском...
если на русском то выводится русский заголовок... И так далее...
Все работает с node_image (что то типа фотогалереи для ноды)...
Я кажется вам говорил уже что если все делать как положенно через переводы то при переводе на другой язык все изображения теряются... И приходится для каждого языка загружать одни и теже изображения...
Вы можете смеяться но все эти три строчки дают абсолютно одинаковый результат...
А вот эта строчка:
$title =$node->field_en_text[0]['view']
Абсолютно ничего не меняет... Такое чувство что после моего присвоения $title опять назначается значение на русском
Они дают одинаковый результат потому что текстовое поле, а если бы там писались значения из массива, ты бы увидел разницу. Поэтому если уж просишь совета то и следуй ему в разумных конечно пределах. )) и попробуй присвоить вот так:
$node->title = $node->field_en_text[0]['view'];
Затупил не спорю )))
Ничего не меняется... уже повсякому пробовал...
Такое ощущение как будто node-biog.tpl.php вообще не читает этот $title...
Настырный ты. Может вот это поможет 181508##
а ты пробовал дебажить свою переменную $node что там выводится или тот-же титл? чего оно пишет??
или код покажи полностью нод тпл своей.
ТУПИК
При отображении ноды типа node-biog.tpl.php заголовок берется из page.tpl.php и автоматом читает встроенный $title...
Его можно изменить но толк будет только тогда когда вы ставите галочку при создании материала ПОМЕСТИТЬ НА ГЛАВНУЮ
А когда вы открывает документ то все берется из TITLE (по умолчанию) и когда page.tpl.php его читает ему пофиг что вы хотите вместо него показать....
Может я ошибаюсь... Но надо переделывать page.tpl.php - что само по себе тупо... Так как изза какой то фотогалереи прийдется добавлять проверки на каждую страницу сайта... - лишние тормоза...
Поробуйте заголовок в node-xxx.tpl.php устанавливать через функцию drupal_set_title($title);
Очень такая интересная функция
Первые тесты дают положительный результат, что ооочень радует )))
Сейчас поюзаю еще и отпишусь )))
Вот решение надеюсь кому нибудь еще пригодится:
<?
if ($language->language != 'ru')
{
switch ($language->language) {
case "en":
$translate_title = $node->field_en_text[0]['view'];
break;
case "fr":
$translate_title = $node->field_fr_text[0]['view'];
break;
}
drupal_set_title($translate_title); // для правильного отображения при просмотре открытой ноды
$title = $translate_title; // для правильного отображения при просмотре на главной странице
}
?>
glu2006, direqtor, olk, Ромка - спасибо огромное все работает )))