Сайт для тех кто хочет определиться
Страницы без ссылок "подробнее"

Здравствуйте.

Не знала как назвать вопрос, но решила назвать его "Страницы без ссылок "подробнее"".

Когда вы создаете посты(записи), их анонсы отображаются на главной или в определенной рубрике в виде анонсов со ссылками "подробнее". И когда кликаете на заголовок или ссылку "подробнее", то переходите на страницу полного просмотра того поста.

Вопрос: Как сделать так чтобы ссылки с Заголовка поста удалились и не отображались ссылки "подробнее".

Вместо ссылки "подробнее" должна отобразиться ссылка, при клике которой осуществляется переход на другой ресурс. 
Если в админке друпала вставить в поле ссылку на другой ресурс (без html кода, например, ни как a href = , а просто сырую ссылку), то при просмотре страницы, эта ссылка автоматически должна стать активной с текстом "Перейти".

Это делается с помощью модулей или нужно править шаблон сайта? 

Или же может использовать views и блоки чтобы достичь желаемого результата?

Travel Central
Ответов: 1

нужно редактировать шаблон node.tpl.php 

А лучше шаблон ноды конкретного типа node--auto.tpl.php (здесь я предположил что тип контента называется auto)

изучите переменные в этом шаблоне с помощью функции dpm() пользоваться так:

<?php dpm($node); ?>

petrovnn

Я нашла файл node.tpl.php в папке шаблона, но вот не знаю где найти шаблоны для конкретного типа node-...-tpl.php. В какой папке скрывается такой шаблон?

Travel Central 02 Jun 2013

Код <?php dpm($node); ?> нужно будет вставить в node-...-tpl.php или node.tpl.php в папке шаблона?

Travel Central 02 Jun 2013

Я попробовала сделать так:

В шаблон 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, ошибка изчазает.

Travel Central 02 Jun 2013

template.php трогать вообще не нужно

создаете новый шаблон в папке своей темы и в него копируете содержимое node.tpl.php, редактируете его после этого как хотите.

И еще, извиняюсь, но я ошибся в названии имени шаблона. Должно быть два дефиса (в моем первом посте)

https://drupal.org/node/1089656

 

petrovnn 03 Jun 2013

Следуя вашим рекомендациям, у меня получилось убрать ссылки "подробнее" и удалось убрать ссылку с заголовка материала.

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

Как это можно реализовать в данной ситуации? 

Travel Central 03 Jun 2013

Я пробовала использовать следующий код в шаблоне для вывода сырой ссылки как активную ссылку:

<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>

Но все равно не получилось вывести активную ссылку перейти.

Переменную field_ssilka_perehoda я брала со страницы - Типы материалов - управлениями полями. Данная перемена отвечает за ссылку в новом типе контента.

Хотелось бы узнать как можно узнать как использовать свои переменные с нового типа контента в новом шаблоне node--auto.tpl.php? Мне необходимо вывести переменные нового типа контента по отдельности чтобы позже было удобно сделать дизайн каждому элементу.

В интернете на эту тематику ни русскоязычном ни англоязычном друпал сайтах не нашла к сожалению.

Travel Central 03 Jun 2013

Оба варианта которые вы пробовали из вашего последнего комментария по идее правильные. Теоретически они должны работать. Если не работают, то сначала нужно сделать так: dpm($node->field_ssilka_perehoda[0]['view']); чтобы понять, есть-ли в этой переменной вообще что-нибудь. Если нет, то так dpm($node->field_ssilka_perehoda);

а после того как вы выведете нужный вам УРЛ - тогда вставляйте его в ссылку уже. Чтобы каждое поле ноды вывести в своем уникальном дизайне, есть много вариантов. Самый простой из них: удалить строку print render($content); и вывести каждое поле вручную потипу того как вы пытаетесь вывести ссылку для перехода на другой ресурс. Но есть и другие, более изощренные способы. АПИ друпала содержит очень много возможностей (в том числе темизации), освоить их сразу конечно не получится. Их можно изучать очень долго как инструменты фотошопа. Вот открываю файл который я использую для складирования удачных шаблонов темизации (хотя потом я туда начал складывать решения и не про темизацию): https://docs.google.com/document/d/1GN3qqXXlZgi7I0EU34deyCtbgL5R0PtIkDUa... Документ конечно без объяснений, но может вам пригодится. Если вы уже прочитали книгу про друпал которую я рекомендовал для новичков, и вам мало того что в ней пишут про темизацию; если вам не хватает той базы которая дается в этой книге чтобы эффективно темизировать шаблоны, тогда заказывайте книгу по Drupal для продвинутых пользователей (если вы конечно собираетесь и дальше заниматься разработкой), и читайте ее, практикуйте. Этого талмуда вам хватит надолго, это настоящее учебное пособие и серьезный справочный материал.

petrovnn 05 Jun 2013

Попробовала сделать так: dpm($node->field_ssilka_perehoda[0]['view']); и так: dpm($node->field_ssilka_perehoda);

А также убрала dpm($node->field_ssilka_perehoda);

Также искала в интернете решение, дала запрос drupal 7 url field. Но без результата. 

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

Travel Central 08 Jun 2013

Все получилось. Проблема решена.

Travel Central 09 Jun 2013
Ответить на вопрос
* Отвечать на вопросы могут только авторизованные пользователи,
пожалуйста войдите с помощью:
node/192/
qa/192/stranicy-bez-ssylok-podrobnee
Ссылки
Обзорные статьи, интервью разработчиков и критика CMS Drupal
Joomla vs Drupal
Что лучше джумла или друпал? Мои мысли
на этот счет
Видео
Обучающие видео, интервью и промо-ролики Drupal
Сайты на друпале
«Образцовые» сайты
на друпале. Подборка крупных сайтов рунета.
Недостатки
Некоторые вещи
в друпале меня
напрягают
Рецепты
Учитесь друпалу
на примерах реальных сайтов
Книги
Drupal намного легче
и приятнее осваивать
по книгам
Приемущества
Друпал удобен разработчику
и выгоден клиенту
Может фреймворк?
Когда оправдано применять друпал,
а когда фреймворк?
Обзоры CMS
Когда оправдано использовать
другие CMS?