Есть ноды, содержащие товары.
есть словарь терминов, содержащие разные акции, их описания и необходимые картинки.
Необходимо в списке, формируемом модулем views к некоторым нодам, принадлежащим к конкретной акции, применялся контейнер с фоновым изображением, вытянутым из соответствующей акции (поле термина).
Желательно сохранить гибкость и возможность добавлять новые термины в словарь акции без правки css
Комментарии
прикрепить фон к термину?
прикрепить фон к ноду в сетке. Но только к тем нодам, у которых есть термин
А вывести термин таксономии как класс для ноды и затемизоировать в CSS по самое не балуйся религия не позволяет ???
Хотелось бы не изменять css файлы при добавлении новой акции а просто прописать строгие рамки для самостоятельного добавления их через админку.
С токенами пока не на короткой ноге, не знаю с чего начать.
Со значением вместо поля разобрался, в отдельном поле у меня теперь есть номер термина.
Предполагаю, что смогу вывести картинку из термина, имея номер термина. Но в середине ноды, а мне надо бы обернуть ею всю ноду. Подключил шаблон views-view-fields--tovary.tpl.php, но нужна отдельная переменная, которая бы в нужных случаях содержала ссылку на фоновую картинку из термина.
Не могу найти предпроцессор для добавления дополнительной переменной в этот шаблон в template.php. Может есть для вышеуказанного шаблона функция по типу THEME_preprocess_page() только не page, a что-то более подходящее?
Че ты ругаешься, ХулиGUN? Вопрос поначалу звучал по-другому. Потом автор его полностью переписал, раскрыв всю тяжесть его положения. А ты выкатываешь бочку. Не хорошо, парниша!
Спасибо, практически все заработало как надо
Только осталось одно: среди [токенов картинки] нет url, только уже сформированные картинки .
Вроде модуль решающий проблему нашел "Image Link Formatter", но что-то пока не работает
нужно добавить взаимосвязь(relationships) Content: Image (field_image:fid) или File Usage: File
и потом добавить поле File: Path с отмеченной опцией в настройках поля Display download path instead of file storage URI
Все получилось, выводит адрес после добавления связей:
(term) Термин таксономии: Фоновое изображение:fid
(image from field_fon) Файл: Термин таксономии using Фоновое изображение
и поля Файл: Адрес
только вот незадача.
<div style="background: url([токен картинки])">...
отображается без свойства style<div title="background: url([токен картинки])">...
отображается корректнопотому что теги script, object и аттрибут style обрезаются
в данном случае есть три варианта без применения патчей для вьюса
1- использовать модуль views_php
2- добавить нужную разметку в шаблоне
3- добавлять диву класс на основе имени термина или айди термина и потом в style.css добавлять бэкграунд
Следовательно возвращаемся к нашим баранам, описанным выше на несколько сообщений...
Буду очень благодарен, если кто подскажет с помощью какой функции можно добавить в шаблон views-view-fields--tovary.tpl.php, дополнительную переменную в template.php, может есть такая по типу THEME_preprocess_???
Большое всем спасибо, кто принял участие в решении.
В вышеуказанном шаблоне нашел возможность получить доступ к адресу через $row->file_managed_field_data_field_fon_uri, которая после некоторой обработки позволила сделать фон!
file_create_url($fields['uri']->raw)
будет урлом нужного изображенияuri - машинное имя поля во вьюс, узнать нужное имя можно вставив в шаблон dpm($fields);(нужен модуль devel)
ну а вставить див я думаю сами сможете
если хотите что то вынести в препроцесс, то в template.php создавайте функцию views_view_fields__tovary(&$variables)