Просмотрел много тем на форуме, но ответа так и не нашел нормального.
Проблема в следующем. Несмотря на размер метириала (даже если одна строка), все равно выводиться ссылка "Подробнее" (читать далее). Хотя далее там ничего нет, а по ссылке переход просто на отдельную страницу с той же одной строкой. Как убрать эту ссылку "Подробнее" (read more)? тема Genesis.
Заранее спасибо.
Комментарии
Пользуйтесь поиском: http://www.drupal.ru/node/57957
Искал, и приведенную Вами тему читал. Этот вариант не подходит. Нет ли простого решения, не прибегая к модулю views?
Ссылка ведь не должна появляться, если весь материал укладывается в краткое содержание?
Ещё как можно! Просто по так до сих пор и не выясненным до конца причинам в одних нодах эту ссылку можно убрать, установив границу анонса в самом конце текста, а в других точно таких же нодах данный фокус уже не проходит.
<?php
mytheme_preprocess_node(&$variables) {
unset($variables['content']['links']['node']['#links']['node-readmore']);
}
//http://drupal.org/node/1038644
?>
Тут модуль выложили: http://drupal.org/node/1056940
«Что-то у меня не работает режим "при необходимости".»
У меня тоже. Или всегда или никогда.
Stan.Ezersky можете подробно рассказать как пользоваться модулем?
Разобрался. Спасибо за ссылку на модуль! При установке модуля в настройках типа материалов появляется пункт дополнительный, где можно выбрать 3 способа отображения read more: 1. Всегда 2. Если требуется 3. Никогда.
Хорошо бы встроить эту возможность в Drupal по умолчанию. Имхо, незаменимая вещь)
установил этот самый модуль, что то не вижу пункта "дополнительный", не могли бы описать последовательно свои действия, может что еще?
при выводе списка нод ошибка: Notice: Undefined index: body в функции read_more_node_view() (строка 209 в файле /home/c/cl25366/public_html/modules/read_more/read_more.module).
Поставьте в теме «РЕШЕНО», пожалуйста
а для шестой версии какое решение?
ага, зато тизер выводится во всю длинну, что совсем плохо
display:none;
}
Где эта настройка??? Пожалуйста, укажите путь...
Никак не найду ...((
Есть:)) у кого трудности, смотрим здесь: admin/config/content
кто же так делает???
выше дан был код переопределения Links, но на 6 друпале он почему то не работает, хотелось бы на шестёрку такой...
ну да, так делать взападло, пацаны не поймут.
никто на шестёрку не знает?
Юмор не был понят-)
гы
хакните
К 7-ке есть патч http://drupal.org/node/823380 надеюсь в одном из следующих релизов его комитят.
У меня Drupal 7.7. Вот такой путь для решения проблемы со ссылкой "Подробнее" : Настройка-Информация о сайте: в поле "Главная страница по умолчанию" я прописал node/*. Т.е. название главной страницы, когда нажмешь на "Подробнее". А теперь все сначала: - У вас выскакивает заглавная страничка, а внизу "Подробнее". Нажимайте на ссылку "Подробнее" и смотрите в командной строке ссылку, начиная со слов node/... У меня это было node/1 . Вот это и пропишите там, как я написал вначале.
Пока!
Надо во вьюхе, с этим контентом убрать галочку с "display links", либо вообще поменять отображение
У меня свой тизер. Сначала картинка, а потом текстовое поле.
read_more упорно лепит линк сразу после первого поля, т.е. картинки. И ничег с этим не сделать, хотя в коде есть
<?php if (isset($node->content['body']) && preg_match('!</?' . $elements . '[^>]*>\s*$!i', $node->content['body'][0]['#markup'], $match, PREG_OFFSET_CAPTURE)) {
// Recalculate the position in $teaser. We do this because there may be extra CCK fields appended to the teaser.
$insert_point = strpos($view_mode, $node->content['body'][0]['#markup']) + $match[0][1];
?>
На Drupal 7 модуль "Read More Control" у меня не заработал. Для простых материалов решение нашлось такое в template.php:
<?php
// Check first the "body field" exists or not.
// If available do execution ..
function <my_theme>_preprocess_node(&$variables) {
$node = $variables['node'];
$field = field_get_items('node', $node, 'body');
if ($field) {
$show_read_more = 1;
$body = $node->body['und'][0]['safe_value'];
if (stristr($body, "<!--break-->")) { // Lets make sure that this is indeed the end of article.
$rest_of_the_text = substr($body, strpos($body, "<!--break-->"));
if (strlen($rest_of_the_text) < strlen("<!--break--></p><p> </p>"))
$show_read_more = 0;
} else if ($variables['content']['body'][0]['#markup'] == $body)
$show_read_more = 0;
if($show_read_more == 0) {
unset($variables['content']['links']['node']['#links']['node-readmore']);
}
}
}
?>
Проверяется только поле Body.
на Drupal 7 есть модуль http://drupal.org/project/read_more, который работает