Paul_Inglsmit
@Paul_Inglsmit
Wordpress-космонавт

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

создал шаблон views-view-fields--review--page.tpl.php ,
внутри можно вызвать значения переменной $fields['field_image_service']->content ,
как можно получить значение url из поля для картинки, причем миниатюры и оригинала?
  • Вопрос задан
  • 3180 просмотров
Пригласить эксперта
Ответы на вопрос 4
@pibiv
Не уверен но когда мы просим через ->content он нам отдает уже отрендеренный результат. То есть все ссылки теги и т.д. уже будут там.

возможно нужно ковырять гдето глубже, например через филд препроцесс в template php выковыривать значения которые вам нужны пихать их в переменную и на странице с вьюзом их использовать.
Ответ написан
@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
Так же этот способ позволяет отредактировать содержимое поля контент для данного филда. В частности можно добавить альтернативный текст картинке, всплывающую подсказку, метатеги или дорисовать свои какие-либо стили.

В любом случае, твой филд с картинкой - это объект, где контент, лишь одно из полей объекта. Тебе нужно просто извлечь значение другого поля этого же объекта.
Ответ написан
Комментировать
UksusoFF
@UksusoFF
Через перезапись значения можно вывести ссылку же, и можно поставить Views PHP и там баловаться со значением.
Ответ написан
Комментировать
chewarer
@chewarer
Вот модуль именно для этого: Image formatter
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы