Здравствуйте.
Не знала как назвать вопрос, но решила назвать его "Страницы без ссылок "подробнее"".
Когда вы создаете посты(записи), их анонсы отображаются на главной или в определенной рубрике в виде анонсов со ссылками "подробнее". И когда кликаете на заголовок или ссылку "подробнее", то переходите на страницу полного просмотра того поста.
Вопрос: Как сделать так чтобы ссылки с Заголовка поста удалились и не отображались ссылки "подробнее".
Вместо ссылки "подробнее" должна отобразиться ссылка, при клике которой осуществляется переход на другой ресурс.
Если в админке друпала вставить в поле ссылку на другой ресурс (без html кода, например, ни как a href = , а просто сырую ссылку), то при просмотре страницы, эта ссылка автоматически должна стать активной с текстом "Перейти".
Это делается с помощью модулей или нужно править шаблон сайта?
Или же может использовать views и блоки чтобы достичь желаемого результата?
пожалуйста войдите с помощью:
Я нашла файл node.tpl.php в папке шаблона, но вот не знаю где найти шаблоны для конкретного типа node-...-tpl.php. В какой папке скрывается такой шаблон?
Код <?php dpm($node); ?> нужно будет вставить в node-...-tpl.php или node.tpl.php в папке шаблона?
Я попробовала сделать так:
В шаблон template.php (в конце строки) вставила следующий код:
function garland_preprocess_page(&$vars, $hook) {
if (isset($vars['node'])) {
// If the node type is "blog" the template suggestion will be "page--blog.tpl.php".
$vars['theme_hook_suggestions'][] = 'page__'. str_replace('_', '--', $vars['node']->type);
}
}
и создала новый файл page--newtype.tpl.php внутри папки шаблона garland.
Внутрь шаблона page--newtype.tpl.php вставила код <?php dpm($node); ?>
Очистила кеш, но сайт выдает ошибку 500.
Когда убираю код с шаблона template.php, ошибка изчазает.
template.php трогать вообще не нужно
создаете новый шаблон в папке своей темы и в него копируете содержимое node.tpl.php, редактируете его после этого как хотите.
И еще, извиняюсь, но я ошибся в названии имени шаблона. Должно быть два дефиса (в моем первом посте)
https://drupal.org/node/1089656
Следуя вашим рекомендациям, у меня получилось убрать ссылки "подробнее" и удалось убрать ссылку с заголовка материала.
Теперь мне нужно сделать автогенерацию ссылок, которые будут ссылаться на другие веб ресурсы. То есть, при добавление нового материала в данный тип контента, полный урл (сырая ссылка) на другой веб ресурс, который будет вставлятся в поле URL должен автоматически отображаться как ссылка "Перейти" при просмотре страницы на сайте.
Как это можно реализовать в данной ситуации?
Я пробовала использовать следующий код в шаблоне для вывода сырой ссылки как активную ссылку:
<a href="<?php print $node->field_ssilka_perehoda[0]['view']; ?>" target="_blank">Перейти</a>
и следующий вариант:
<a href="<?php print render($content['field_ssilka_perehoda']); ?>" target="_blank">Перейти</a>
Но все равно не получилось вывести активную ссылку перейти.
Хотелось бы узнать как можно узнать как использовать свои переменные с нового типа контента в новом шаблоне node--auto.tpl.php? Мне необходимо вывести переменные нового типа контента по отдельности чтобы позже было удобно сделать дизайн каждому элементу.
В интернете на эту тематику ни русскоязычном ни англоязычном друпал сайтах не нашла к сожалению.
Оба варианта которые вы пробовали из вашего последнего комментария по идее правильные. Теоретически они должны работать. Если не работают, то сначала нужно сделать так: dpm($node->field_ssilka_perehoda[0]['view']); чтобы понять, есть-ли в этой переменной вообще что-нибудь. Если нет, то так dpm($node->field_ssilka_perehoda);
а после того как вы выведете нужный вам УРЛ - тогда вставляйте его в ссылку уже. Чтобы каждое поле ноды вывести в своем уникальном дизайне, есть много вариантов. Самый простой из них: удалить строку print render($content); и вывести каждое поле вручную потипу того как вы пытаетесь вывести ссылку для перехода на другой ресурс. Но есть и другие, более изощренные способы. АПИ друпала содержит очень много возможностей (в том числе темизации), освоить их сразу конечно не получится. Их можно изучать очень долго как инструменты фотошопа. Вот открываю файл который я использую для складирования удачных шаблонов темизации (хотя потом я туда начал складывать решения и не про темизацию): https://docs.google.com/document/d/1GN3qqXXlZgi7I0EU34deyCtbgL5R0PtIkDUa... Документ конечно без объяснений, но может вам пригодится. Если вы уже прочитали книгу про друпал которую я рекомендовал для новичков, и вам мало того что в ней пишут про темизацию; если вам не хватает той базы которая дается в этой книге чтобы эффективно темизировать шаблоны, тогда заказывайте книгу по Drupal для продвинутых пользователей (если вы конечно собираетесь и дальше заниматься разработкой), и читайте ее, практикуйте. Этого талмуда вам хватит надолго, это настоящее учебное пособие и серьезный справочный материал.
Также искала в интернете решение, дала запрос drupal 7 url field. Но без результата.
Не знаю какой запрос дать в яндексе или гугле чтобы найти хоть какое нибудь решение для вывода ссылок.
Все получилось. Проблема решена.