Задать вопрос
  • Как в Drupal во вьюшке получить значение ссылки изображения?

    @Silo
    Содержимое контента в данном случае это просто текст. Можно обрабатывать его как текстовую переменную, но это нежелательно делать в файле темплейта - сайт будет крайне сложно апдейтить или чинить в случае чего.

    Способ 1, при установленном и включенном модуле Devel:
    В темплейте, который ты создал, пишешь команду для просмотра содержимого элемента:
    dpm($field['field_image)service']);
    (не забываем завернуть команду в теги пхп)
    после этого перегружаешь свою страничку в браузере. Вверху, там где выводятся системные сообщения Друпала(вроде "вы создали контент" и т.д.) появится сообщение содержащее полную структуру объекта твоего филда.
    В структуре помимо собственно контента будет поле самого url - это ссылка на родное изображение.
    Дальше ссылку можно получить обратившись по имени поля url. Примерно как $fields['field_image_service']->url (точное имя поля необходимо смотреть на своём сайте)
    Ссылки на уменьшенное изображение там не будет, потому что это та же родная картинка обработанная фильтром для картинок.

    Способ 2. Через препроцесс.
    в template.php пишем hook_preprocess_field, в нём пишем обработчик для филда с картинкой, который по-сути будет делать тоже, что описано в первом способе, но позволит извлечь url и сохранить его в отдельную переменную, которую потом можно будет вызвать в views-view-fields--review--page.tpl.php
    Так же этот способ позволяет отредактировать содержимое поля контент для данного филда. В частности можно добавить альтернативный текст картинке, всплывающую подсказку, метатеги или дорисовать свои какие-либо стили.

    В любом случае, твой филд с картинкой - это объект, где контент, лишь одно из полей объекта. Тебе нужно просто извлечь значение другого поля этого же объекта.
    Ответ написан
    Комментировать