Запись типа <?php print render($content['field_img']); ?>
в друпале 7 вызывает все прикрепленные изображения.
А как вызвать только одно изображение для анонса записи?
Интересует вопрос как вывести первое изображение, или случайное, не важно.
Заранее благодарен
Комментарии
логика подсказывает добавить индекс:
print render($content['field_img'][0]);
по крайней мене, с единственным изображением в массиве - это прокатывает
А красные туфли сюда не катят.
Спасибо, kwas, прокатило
а насчет туфель, я подумаю..
у меня таким способом выводится картинка вместе с Меткой. Как убрать метку не прибегая к display:none; ??
http://drupal.org/project/single_image
Спасибо, Vanez! Это как раз то, что я искал.
Может не туда, но извините уж...
В общем есть модуль мета тег, в нем есть поле изображение в которое надо определить какой то токен для изображений.
Соответственно если определить все правильно то это изображение должно будет подставляться в тизерах размещаемых в соц сетях.
Есть токен [node:field_image] который выводит ссылки на все изображения материала через запятую. Причем это оригиналы изображений без наложенных фильтров вотермарок и уменьшений (превью)
А надо что бы какой то токен или еще что то вывело только ссылку на первую превью к данному материалу.
Помогите пожалуйста или направьте куда копать.
эта штука у меня стоит я очень активно в ее сторону смотрю, но примеров по нету найти как то не могу... (может конечно плохо ищу...) да и прогер из меня не выходит... не оседает во бошке эта наука...
пните плиз на какие нить примеры
<?php if($view_mode == 'teaser'): ?>
<!-- Тизер--Первая картинка-->
<?php print render($content['field_img'[0]]); ?>
<?php endif; ?>
<?php if($view_mode == 'full'): ?>
<?php
<!--Полная нода-- скрываем первую картинку-->
hide($content['field_img'[0]]);
<!--Полная нода--остальные картинки-->
print render($content['field_img']); ?>
<?php endif; ?>
токен, не вывод в шаблоне))
так не работает, выводит в ссылке array
если я правильно понимаю то этот код можно же в шаблон запихать? или нет?
если можно то
вот так
<?php print render($content['field_img'[0]]); ?>
рушит отображение шаблона, а вот так
<?php print render($content['field_img'][0]); ?>
вообще ничего не выводит. как буд то оно пустое.
в материале картинка есть.
а, нет, выводит ошибку Notice: Undefined variable: field_img в функции include() (строка 114 в файле
что то где то еще надо прописать и определить.
После некоторого разбирательства и копания:
У меня поле field_image , а не field_img - собственно поэтому и не выводило.
Исправил, теперь выводит.
Правда выводит если в шаблоне прописать и выводит полностью код
<img src=
и так далее, а надо что бы выводило только ссылку.Нашел что если использовать ['field_image'][0]['#item']['uri'] то можно получить типа путь где лежит картинка
Но она вида public://6fe01c06dd01921_0.jpg
возникает целых 2 вопроса:
1) как очистить от лишнего public://
2) как к этому всему приставить ссылку что то типа http://домен/sites/default/files/styles/medium/public/
вот так думается было бы красиво составлено
Попробовал сделать вот так
<?php print 'http://домен/sites/default/files/styles/medium/public/'; ?>
<?php print render($content['field_image'][0]['#item']['filename']); ?>
но в данном случае выводится только первая часть которая ссылка, а картинка не приставляется.
Вернулся к исходному, картинка не подгружается нормально в токен...
Еще на просторах интернета нашел вот такой код
<?php echo render(file_create_url($node->field_image['und'][0]['uri'])); ?>
но он формирует немного не такую ссылку, а вида
http://домен/sites/default/files/6fe01c06dd01921_0.jpg
и данный код в токене не формирует ссылку на изображение, а почему то делает только на домен и все.
Такое впечатление что при таком коде данные в этот токен поступают после того как загрузится страница...
На оф.стр. модулей нужно всегда обращать внимание на активность разработчика, активность использования, и конечно - на наличие документации.
и все же, можно пальцем тыкнуть? если это не подходит для использования то может есть какие то другие мысли?