Допустим есть сайт-каталог разного рода сериалов и нужно в карточку сериала прикрутить ссылку на скачивание материала со стороннего сайта. Через обычный редактор особого желания делать такое нету, а подходящего типа поля не нашел.
В идеале должна быть такая конструкция в коде:
<a href="[field_url_link]">[field_url_name]</a>
где ссылка постоянно меняется и ведет на файл, а имя можно оформить через список из 3-5 источников
Но используя базовые возможности полей получается вывести эти значения отдельно. Пытался гуглить, но скорей всего ключи не те, поэтому ничего толкового не нашел.
Подскажите куда смотреть!
Комментарии
Создаете 2 поля:
Переопределяете шаблон материала и выводите в нем нужную ссылку, по примерам выше:
<?php
// We hide the comments and links now so that we can render them later.
// Здесь же скрываем наши поля
hide($content['field_link']);
hide($content['field_source']);
hide($content['comments']);
hide($content['links']);
print render($content);
?>
В нужном месте выводим ссылку:
PS Поля должны быть включены в настройках дисплея материала.
Спасибо, но это не совсем то. Через рендер выводит полноценную html-обертку и загоняет ее в сылку:
В общем, сообразил, как нужно "спрашивать у гугла" и через Devel вытащил данные из массива без обертки:
<?php<a href='<?php print $content['field_torrent_url']['#items'][0]['value'] ?>'><?php print $content['field_torrent_source']['#items'][0]['value'] ?></a>?>
Решил проблему полностью.
<?php if($content['field_torrent_lost']['#items'][0]['value']): ?>
<a href='<?php print $content['field_torrent_lost']['#items'][0]['value'] ?>'>lost</a><br/>
<?php endif; ?>
<?php if($content['field_torrent_bbk']['#items'][0]['value']): ?>
<a href='<?php print $content['field_torrent_bbk']['#items'][0]['value'] ?>'>bbk</a><br/>
<?php endif; ?>
<?php if($content['field_torrent_ns']['#items'][0]['value']): ?>
<a href='<?php print $content['field_torrent_ns']['#items'][0]['value'] ?>'>newstudio</a>
<?php endif; ?>
в условии мы проверяем заполненность поля [field_torrent_слово] и выводим ссылку, если оно не пустое!