Всем доброго дня.
Прочел все темы что нашел по похожим вопросам..
Не нашел ответ на свой вопрос.
Что нужно подправить и как это и где сделать, чтобы дата в тизере не отображалась, а при просмотре полной версии-была
А о получается, что они дублируются визуально:
Пробовал через Views-поля и т.д.
Так можно, но не устраивает оформление заголовков, текста анонса и т.д.
Поэтому желательно что-то где-то подправить в коде. Чтобы не менялось оформление.
Может как-то Views заставить подхватить оформление темы ?
Комментарии
Display Suite
или
<?php
function MYTHEME_preprocess_node(&$vars) {
if($vars['view_mode'] == 'teaser') {
$vars['theme_hook_suggestions'][] = 'node__' . $vars['node']->type . '__teaser';
}
}?>
и сделать файло node--article--teaser.tpl.php, который верстать как угодно
https://www.drupal.org/docs/7/theming/template-theme-hook-suggestions
https://drupal.stackexchange.com/questions/27974/what-is-the-template-su...
Спасибо за ответ.
Я слаб в английском. Начальный уровень.
Но смог понять, что этот код надо вставить в template.php
Я вставил в конец. Перед }?>
Да... это из кода выше пришлось удалить "<?php"
function MYTHEME_preprocess_node(&$vars) {
if($vars['view_mode'] == 'teaser') {
$vars['theme_hook_suggestions'][] = 'node__' . $vars['node']->type . '__teaser';
}
} это тоже "?>"
Вообщем вопрос еще: как и что прописать в node--article--teaser.tpl.php, чтобы все отображалось кроме даты ?
Пришлось старательно переводить приведенные выше ссылки. Может с этим как-то справлюсь
А чтобы этот тизер был для всех типов материала одинаков.
Для Блог, статья, Новость (тип созданный для Views), Basic Page
Надо видимо создать по аналогии с node--article--teaser.tpl.php
node--node--teaser.tpl.php это Base PAge
node--blog--teaser.tpl.php это Блог
node--news--teaser.tpl.php это тип материала Новость для Views
Сделал так. Все работает. Правильно это или нет. Есть возможно более легкие и более правильные пути. Возможно. Моё решение, которое работает выглядит так:
1. В файл template.php в самом конце вставил
/**
* Preprocess function for node.tpl.php.
*/
function МОЯ_ТЕМА_preprocess_node(&$vars) {
$node_type_suggestion_key = array_search('node__' . $vars['type'], $vars['theme_hook_suggestions']);
if ($node_type_suggestion_key !== FALSE) {
$node_view_mode_suggestion = 'node__' . $vars['type'] . '__' . $vars['view_mode'];
array_splice($vars['theme_hook_suggestions'], $node_type_suggestion_key + 1, 0, array($node_view_mode_suggestion));
}
}
Создал файл
node--article--teaser.tpl.php
node--news--teaser.tpl.php
node--blog--teaser.tpl.php
В этих файлах вставил код полностью из node.tpl
В коде во всех этих созданных файлах удалил вывод даты.
Результат меня устраивает
Было мнение, что нежелательно плодить много шаблонов. Но ....как-то так
Покатит. Как вариант, можно было и одним node.tpl.php обойтись, а в нем условия прописать в зависимости от типа ноды + unset(вывод_даты).
Привет Дятел!
Зря ты так остро реагируешь, Ден тебе дело говорит!
просто включить мозг - это порой снимает массу проблем))
Впредь прошу - веди себя разумно и этично, и тогда тебе не придется больше ходить на три буквы.