Вывод переменной (токена, подстановочного шаблона) в tpl.php Views 3 Drupal 7

Главные вкладки

Аватар пользователя shevgeny shevgeny 16 февраля 2014 в 20:02

Господа!
Как вывести через файл темы views (X.tpl.php) подстановочные шаблоны (иначе именуемые переменными, токенами и т.п.)?

Нужно то, совсем чуть-чуть - вставить изображение из выводимого поля не как изображение, а как фон. Можно было бы сделать это через "Глобальный: пользовательский текст", НО: если я вставляю <div style="background: url([токен])">Содержимое</div>, стиль не выводится, он по неонятной мне причине фильтруется (вырезается) самим вьюсом. Потому полез в темизацию tpl.php. Пробовал:
<?php<div style="background: url(<?php print $row->field_image?>) top center no-repeat;">?> - не работает.
<?php<div style="background: url(<?php print $field->last_tokens['[field_image]'?>) top center no-repeat;">?> - работает, но выдает ошибку о том, что мол переменная last_tokens не назначена или что-то в этом роде.

HELP ME! Smile

Комментарии

Аватар пользователя Inj Inj 16 февраля 2014 в 20:37

через фаербаг вывод смотрели? Стайл полюбому должен был подцепится, вопрос что он в адресе имаги прописал. Мож пути не хватает?

Аватар пользователя shevgeny shevgeny 16 февраля 2014 в 20:44

Inj wrote:
через фаербаг вывод смотрели? Стайл полюбому должен был подцепится, вопрос что он в адресе имаги прописал. Мож пути не хватает?

Я выгляжу идиотом?) естественно, смотрел через фаербаг. Пробовал писать стиль в пользовательском тексте ручками (без переменных). Результат один - стил фильтруется. Именно "style" и всё его содержимое.

Аватар пользователя shevgeny shevgeny 16 февраля 2014 в 21:10

Inj wrote:
так и не понял результат в фаербаге. Тоесть строки background вообще нет?

Совершенно верно! Нет ни background, ни style в целом. Просто <div>Текст</div>. Проверьте на каком-нибудь своем сайте, будете крайне удивлены.

Аватар пользователя Inj Inj 16 февраля 2014 в 21:36

Поробовал, и именно <div style="background: url(images/close.png) top center no-repeat;"> и увидел в фаербаге добавленный стиль с перечеркнутым background. При <div style="background: url(images/close.png) top center;"> Оно даже сработало и фон подцепился

Аватар пользователя Inj Inj 16 февраля 2014 в 21:39

хм.. дописал no-repeat, получилось <div style="background: url(images/close.png) top center no-repeat;"> и работает)
Удивился. Может где опечатка была или символ кирилицы? Первый раз копировал Ваш код - ошибка. Написал руками тоже самое - сработало...

Аватар пользователя Inj Inj 16 февраля 2014 в 21:45

П.С. не забывайте, что див высотой в 0px не покажет Вам фона, нужно будет задавать высоту вручную

Аватар пользователя shevgeny shevgeny 10 ноября 2015 в 11:49

"Inj" wrote:
Поробовал, и именно

и увидел в фаербаге добавленный стиль с перечеркнутым background. При
Оно даже сработало и фон подцепился

Ткните мне пальцем Smile либо вы что-то не так поняли, либо я использую какой-то "другой" друпал)) это уже другой сайт, а результат тот же.

"Inj" wrote:
П.С. не забывайте, что див высотой в 0px не покажет Вам фона, нужно будет задавать высоту вручную

- а это вы школьнику расскажите Wink
Аватар пользователя Inj Inj 16 февраля 2014 в 23:32

а если доставить точку с запятой после цвета в стайл, и что во второй части окна фаербага, там где стили цсс?

Аватар пользователя shevgeny shevgeny 16 февраля 2014 в 23:34

"Inj" wrote:
а если доставить точку с запятой после цвета в стайл, и что во второй части окна фаербага, там где стили цсс?

и с точкой с запятой, и без нее - результат не меняется. в css те стили, которые прописаны в соответствующих файлах темы. вы делаете всё аналогично и получаете результат, отличный от моего?

Аватар пользователя Inj Inj 16 февраля 2014 в 23:59

в шаблоне
<div style="width: 200px;height: 200px;background: url(images/close.png) top center no-repeat;"></div>

в разделе цсс фаербага
element.style {
width: 200px;
height: 200px;
background: url(images/close.png) top center no-repeat;
}

всё цепляется

Аватар пользователя shevgeny shevgeny 17 февраля 2014 в 0:05

"Inj" wrote:
в шаблоне

в разделе цсс фаербага
element.style {
width: 200px;
height: 200px;
background: url(images/close.png) top center no-repeat;
}
всё цепляется


В каком шаблоне? Вы имеете в виду X.tpl.php? Через шаблон цепляется всё! Вы попробуйте зайти во вьюз, создать представление, поставить вывод "поля", добавть поле "глобальный: пользовательский текст", и в этом поле уже вписать <div style="...">текст</div>

Аватар пользователя Inj Inj 17 февраля 2014 в 10:43

Через поле можно в Глобальный PHP (нужно доставить модуль views php), тогда будет работать так

а вообще, изначальный вопрос вроде и был про шаблон

"shevgeny" wrote:
Господа!
Как вывести через файл темы views (X.tpl.php) подстановочные шаблоны (иначе именуемые переменными, токенами и т.п.)?

Аватар пользователя shevgeny shevgeny 17 февраля 2014 в 10:51

"Inj" wrote:
Через поле можно в Глобальный PHP (нужно доставить модуль views php), тогда будет работать так
а вообще, изначальный вопрос вроде и был про шаблон
"shevgeny" написал(а):
Господа!
Как вывести через файл темы views (X.tpl.php) подстановочные шаблоны (иначе именуемые переменными, токенами и т.п.)?


читайте внимательно вопрос. Вопрос был про переменную. Вы ее подсказали? Нет.