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

Тема в разделе "Drupal", создана пользователем infarh, 22 янв 2011.

Информация :
Прежде чем создать новую тему внимательно ознакомьтесь с правилами раздела
Модераторы: DMS
  1. infarh

    infarh Постоялец

    Регистр.:
    14 мар 2008
    Сообщения:
    70
    Симпатии:
    4
    Здравствуйте, есть 2 cck поля, одно - картинка, а другое создано swftools для вставки flash файлов.
    Задача сделать так, что бы загруженная картинка отображалась только в тизере, а в фул ноде что бы картинка отображалась только тогда, когда не загружена флешка. Если флешка загружена, то она должна отображаться только в фул ноде вместо картинки.
     
  2. RxB

    RxB

    Заблокирован
    Регистр.:
    16 июл 2007
    Сообщения:
    236
    Симпатии:
    51
    Ну и в чём беда? Чуть чуть кода и всё.
    Давай названия полей
     
  3. infarh

    infarh Постоялец

    Регистр.:
    14 мар 2008
    Сообщения:
    70
    Симпатии:
    4
    field_image
    field_flash_video
     
  4. RxB

    RxB

    Заблокирован
    Регистр.:
    16 июл 2007
    Сообщения:
    236
    Симпатии:
    51
    Разместить в 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
     
  5. infarh

    infarh Постоялец

    Регистр.:
    14 мар 2008
    Сообщения:
    70
    Симпатии:
    4
    что то не работает... по идее условие должно быть такое... если в фул нод присутствует флешка из ццк, то картинка из ццк скрывается.
    Проблема в том, что не знаю php и спецификацию друпала на эту тему.
     
  6. RxB

    RxB

    Заблокирован
    Регистр.:
    16 июл 2007
    Сообщения:
    236
    Симпатии:
    51
    Условие верное.
    Могу только посоветовать искать причину у себя.
    Скорее всего не туда вписываешь
     
  7. infarh

    infarh Постоялец

    Регистр.:
    14 мар 2008
    Сообщения:
    70
    Симпатии:
    4
    А можешь сказать точнее куда надо? На примере темы гарланд.
    Я сам с темами никогда дел не имел и даже не представляю, как они делаются... Видимо надо начинать изучение...
     
  8. RxB

    RxB

    Заблокирован
    Регистр.:
    16 июл 2007
    Сообщения:
    236
    Симпатии:
    51
    Разместить в node-type.tpl.php, в нужном месте.
     
  9. infarh

    infarh Постоялец

    Регистр.:
    14 мар 2008
    Сообщения:
    70
    Симпатии:
    4
    Данный код работает только в том случае, если загружена и flsh и картинка.

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

    Код:
    if(isset($node->field_flash_video[0])){
    print $node->field_flash_video[0]['view'];
    }
    Обьясню ещё раз необходимость. Создано два сск поля, одно для картинки, другое для флешки. Если загружена только картинка, то в полной и краткой новости надо показывать эту картинку. Если загружена картинка и флешка, то в краткой новости надо показывать картинку, а в полной флешку.