[РЕШЕНО] Как можно вывести ссылку на скачивание?

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

Аватар пользователя artemmian artemmian 10 марта 2016 в 22:55

Допустим есть сайт-каталог разного рода сериалов и нужно в карточку сериала прикрутить ссылку на скачивание материала со стороннего сайта. Через обычный редактор особого желания делать такое нету, а подходящего типа поля не нашел.

В идеале должна быть такая конструкция в коде:

<a href="[field_url_link]">[field_url_name]</a>

где ссылка постоянно меняется и ведет на файл, а имя можно оформить через список из 3-5 источников

Но используя базовые возможности полей получается вывести эти значения отдельно. Пытался гуглить, но скорей всего ключи не те, поэтому ничего толкового не нашел.

Подскажите куда смотреть!

Комментарии

Аватар пользователя bumble bumble 10 марта 2016 в 23:24
2

Создаете 2 поля:

  • одно для ссылки (например field_link)
  • второе - список из 3-5 источников (например field_source)

Переопределяете шаблон материала и выводите в нем нужную ссылку, по примерам выше:

<?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);
?>

В нужном месте выводим ссылку:

<a href="<?php print render($content['field_link']); ?>"><?php print render($content['field_source']); ?></a>
Аватар пользователя artemmian artemmian 11 марта 2016 в 7:23

bumble wrote:

В нужном месте выводим ссылку:

Спасибо, но это не совсем то. Через рендер выводит полноценную html-обертку и загоняет ее в сылку:

Аватар пользователя artemmian artemmian 12 марта 2016 в 11:10

В общем, сообразил, как нужно "спрашивать у гугла" и через Devel вытащил данные из массива без обертки:

<?php<a href='<?php print $content['field_torrent_url']['#items'][0]['value'?>'><?php print $content['field_torrent_source']['#items'][0]['value'?></a>?>

Аватар пользователя artemmian artemmian 12 марта 2016 в 11:54

Решил проблему полностью.

    <?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_слово] и выводим ссылку, если оно не пустое!