Механизм не устраивает привязкой к количеству букв. Хочется видеть не "оборванный" на непредсказуемом месте текст, а именно сформированный вручную тизер. Excerpt идеально подходи для этого. Но он везде сует ссылку "Read more", даже там, где в ней нет смысла.
А отключить excerpt для определенных типов контента тоже низзя
И вообще, чую я - не хватает определенных знаний.
Не только в пхп как таковом, а именно в работе друпала (и его тем в частности). Конкретно - как организована эта цепочка - кто кого за какие крючочки дергает, чтобы вытащить данные и отдать теме, к примеру.
Сделал во флексиноде простой тип контента - два текстареа - тизер и основной текст. Основному тексту ставим "насильно" - не показывать в тизерах, т.е. в списке статей. Тизеру такой галочки нет, т.е. когда заходим "внутрь" этой статьи, то тизер также распечатаеся
Ага. Отключил excerpt - переменная readmore формируется "правильно". Т.е. выдает true, если тизер меньше контента.
Что-то я совсем потерялся... На сайте уже больше 150 статей, сделанных с помощью модуля excerpt. Как-то неохота из-за такой мелкой проблемы связываться с перелопачиванием материалов...
Это знакомая штука, спасибо.
И полезная, сейчас под 4.7.3 она и стоит.
Но там - или есть тизер - тогда показывается он в списке; или его нет (пустой текстареа) - тогда в списке статей показывается только заголовок статьи. Но разграничения по типам контента нет...
Вот думаю щас - а не сделать ли все это через flexinode?
С ней не работал, есть только смутные познания, что этот модуль позволяет создавать дополнительные поля для типов контента.
Так что может попробовать так (через флексиноде)?:
1) Сделать поле "Тизер" - для мелких статей это поле при вводе контента просто опускаем
2) В теме по вышеприведенному способу химичим с выводом.
Для ноды, у которой тизера нет, нужно просто показать ее саму.
В основном это будут мелкие заметки и прочее, то, что невыгодно "обрабатывать тизерами". Эти мелкие заметки лучше выводить в список статей целиком.
Могу и ошибаться, но у $node (она доступна в контексте node.tpl.php) есть поле taxonomy, которое и содержит искомый массив ссылок на термины.
Это именно массив? Т.е. не implode-нутая строка, а массив ссылок, по которому можно "пробежаться" foreach? Тогда все нормально, буду использовать это поле
т.е. function theme_links возвращает не "схлопнутый" массив, а массив ссылок, с которыми можно делать что угодно дальше в теме - что я и сделал, "запихав" их уже в node.tpl в html-список.
Нашел что-то похожее на правду - в файле theme.inc есть функция theme_links, которая возвращает отданный ей массив в виде "те же элементы массива + прилепленный к ним делимитер"...
Щас бы еще разобраться, как "безопасно" заменить это все на список ul-li
Какие-то шаманские заклы, натюрлих... Но помогло. Смутно подозреваю что это пхп, но сил нет вдумываться.
(делает хитрые глаза и умильно улыбается)
Теперь бы еще сделать так, чтобы блок, который в page.tpl, не дублировался, когда мы заходим в ноду (ведь там уже шаманство прописано, так что один блок уже есть...)
Эх... Если бы все было так просто, я б сюда не писал...
Если делать так, блок начинает показываться в конце КАЖДОЙ ноды в списке тизеров на главной странице - а этого совсем не надо. Нужен показ дива именно в конце списка тизеров, один раз. И его же - под текстом статьи (если "зайти в нее"), но ДО комментов.
Где копать, примерно понимаю. Темка wireframe, там переопределены только page.tpl и node.tpl. Пока поставил нужную дивку в page.tpl, сразу после
"Read more" - только для определенных типов контента
Это понятно, спасибо.
Механизм не устраивает привязкой к количеству букв. Хочется видеть не "оборванный" на непредсказуемом месте текст, а именно сформированный вручную тизер. Excerpt идеально подходи для этого. Но он везде сует ссылку "Read more", даже там, где в ней нет смысла.
А отключить excerpt для определенных типов контента тоже низзя![Sad](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/sad.gif)
"Read more" - только для определенных типов контента
И вообще, чую я - не хватает определенных знаний.
Не только в пхп как таковом, а именно в работе друпала (и его тем в частности). Конкретно - как организована эта цепочка - кто кого за какие крючочки дергает, чтобы вытащить данные и отдать теме, к примеру.
Схемку бы какую...
"Read more" - только для определенных типов контента
Сделал во флексиноде простой тип контента - два текстареа - тизер и основной текст. Основному тексту ставим "насильно" - не показывать в тизерах, т.е. в списке статей. Тизеру такой галочки нет, т.е. когда заходим "внутрь" этой статьи, то тизер также распечатаеся![Sad](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/sad.gif)
"Read more" - только для определенных типов контента
Ага. Отключил excerpt - переменная readmore формируется "правильно". Т.е. выдает true, если тизер меньше контента.
Что-то я совсем потерялся... На сайте уже больше 150 статей, сделанных с помощью модуля excerpt. Как-то неохота из-за такой мелкой проблемы связываться с перелопачиванием материалов...![Sad](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/sad.gif)
"Read more" - только для определенных типов контента
Это знакомая штука, спасибо.
И полезная, сейчас под 4.7.3 она и стоит.
Но там - или есть тизер - тогда показывается он в списке; или его нет (пустой текстареа) - тогда в списке статей показывается только заголовок статьи. Но разграничения по типам контента нет...
"Read more" - только для определенных типов контента
Нашел на друпал.орг
http://drupal.org/node/45485
Вот думаю щас - а не сделать ли все это через flexinode?
С ней не работал, есть только смутные познания, что этот модуль позволяет создавать дополнительные поля для типов контента.
Так что может попробовать так (через флексиноде)?:
1) Сделать поле "Тизер" - для мелких статей это поле при вводе контента просто опускаем
2) В теме по вышеприведенному способу химичим с выводом.
"Read more" - только для определенных типов контента
По мере копания точнее определяюсь с условиями![Smile](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/smile.gif)
Для ноды, у которой тизера нет, нужно просто показать ее саму.
В основном это будут мелкие заметки и прочее, то, что невыгодно "обрабатывать тизерами". Эти мелкие заметки лучше выводить в список статей целиком.
Массив $terms - приведение к html-списку
Вот что лень делает![Smile](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/smile.gif)
http://drupal.org/node/44731
Самое то - что дохтур прописал...
Массив $terms - приведение к html-списку
Будем пробовать, спасибо![Smile](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/smile.gif)
Надыбал Drupal Cheatsheet, там все эти $-переменные расписаны.
Ну и пойду курить заодно мануалы на друпал.орг.
Массив $terms - приведение к html-списку
Это именно массив? Т.е. не implode-нутая строка, а массив ссылок, по которому можно "пробежаться" foreach? Тогда все нормально, буду использовать это поле![Smile](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/smile.gif)
Массив $terms - приведение к html-списку
Сделал так:
// return implode($delimiter, $links);
return $links;
т.е. function theme_links возвращает не "схлопнутый" массив, а массив ссылок, с которыми можно делать что угодно дальше в теме - что я и сделал, "запихав" их уже в node.tpl в html-список.
Массив $terms - приведение к html-списку
Нашел что-то похожее на правду - в файле theme.inc есть функция theme_links, которая возвращает отданный ей массив в виде "те же элементы массива + прилепленный к ним делимитер"...
Щас бы еще разобраться, как "безопасно" заменить это все на список ul-li
Воткнуть div между контентом и блоком комментов
О, клево![Smile](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/smile.gif)
Какие-то шаманские заклы, натюрлих... Но помогло. Смутно подозреваю что это пхп, но сил нет вдумываться.
(делает хитрые глаза и умильно улыбается)
Теперь бы еще сделать так, чтобы блок, который в page.tpl, не дублировался, когда мы заходим в ноду (ведь там уже шаманство прописано, так что один блок уже есть...)
Воткнуть div между контентом и блоком комментов
Эх... Если бы все было так просто, я б сюда не писал...
Если делать так, блок начинает показываться в конце КАЖДОЙ ноды в списке тизеров на главной странице - а этого совсем не надо. Нужен показ дива именно в конце списка тизеров, один раз. И его же - под текстом статьи (если "зайти в нее"), но ДО комментов.
Где копать, примерно понимаю. Темка wireframe, там переопределены только page.tpl и node.tpl. Пока поставил нужную дивку в page.tpl, сразу после
Русский World of Gothic
Да, конечно, и до этого руки дойдут, надеюсь![Smile](https://drupal.ru/sites/all/modules/contrib/smiley/packs/kolobok/smile.gif)
В идеале, жду художника, но он что-то жестоко тормозит. Поэтому столько недоделок. Видать, придется делать полностью текстовый дезигн, в итоге.
Скорость работы Drupal
Вот-вот, самое-самое то, натюрлих!
Для сайтов с не сильно/часто изменяемым контентом это в самый раз, кажися мне.