Помощь Взаимозаменяемые поля cck

infarh

Постоялец
Регистрация
14 Мар 2008
Сообщения
71
Реакции
4
Здравствуйте, есть 2 cck поля, одно - картинка, а другое создано swftools для вставки flash файлов.
Задача сделать так, что бы загруженная картинка отображалась только в тизере, а в фул ноде что бы картинка отображалась только тогда, когда не загружена флешка. Если флешка загружена, то она должна отображаться только в фул ноде вместо картинки.
 
  • Заблокирован
  • #2
Ну и в чём беда? Чуть чуть кода и всё.
Давай названия полей
 
field_image
field_flash_video
 
  • Заблокирован
  • #4
Разместить в node-type.tpl.php, в нужном месте.
Код:
if($teaser){
print $node->field_image[0]['view'];
}
if($page){
if(isset($node->field_flash_video[0])){
print $node->field_flash_video[0]['view'];
}else{
print $node->field_image[0]['view'];
}
}
Подойдёт и для content_template
 
что то не работает... по идее условие должно быть такое... если в фул нод присутствует флешка из ццк, то картинка из ццк скрывается.
Проблема в том, что не знаю php и спецификацию друпала на эту тему.
 
  • Заблокирован
  • #6
Условие верное.
Могу только посоветовать искать причину у себя.
Скорее всего не туда вписываешь
 
А можешь сказать точнее куда надо? На примере темы гарланд.
Я сам с темами никогда дел не имел и даже не представляю, как они делаются... Видимо надо начинать изучение...
 
  • Заблокирован
  • #8
Разместить в node-type.tpl.php, в нужном месте.
 
Данный код работает только в том случае, если загружена и flsh и картинка.

Это условие всегда верно. Даже в том случае, когда я не загружал flash, а загрузил только картинку. Дело в том, что даже если флешка не загружена, но поле в любом случае присутствует.

Код:
if(isset($node->field_flash_video[0])){
print $node->field_flash_video[0]['view'];
}

Обьясню ещё раз необходимость. Создано два сск поля, одно для картинки, другое для флешки. Если загружена только картинка, то в полной и краткой новости надо показывать эту картинку. Если загружена картинка и флешка, то в краткой новости надо показывать картинку, а в полной флешку.
 
Назад
Сверху