Есть ли такие модули или доработки которые улучшали бы ПОДАЧУ материала сайта?
Ну например когда юзер открывает статью, то где-нибудь внизу появлялось к примеру что-то типа:
[b]С этой статьёй также читают вот эти ститьи (и шёл бы список нескольких статей, рекомендованных к прочтению)[/b]
.
Ну или ещё какие-то варианты, которые делают сайт более читабельным.
.
.
Варианты с разным распложением блоков и созданием замысловатых менюшек не предлагать. Интересуют варианты именно идущие со статьями.
Комментарии
Пожалуй базовая вещь, которая уже в поставке и не требует доп. установки - taxonomy. При настроенном дереве категорий, пользователь видит при прочтении статьи ссылки на них. Ткнув в ссылку получаем список других статей относящихся к данной категории. Т.е. обеспечивается связность материалов, как если бы ссылки на статьи давались напрямую. Но тут всё зависит от оформления и подачи ссылок на категории (а также настройки самого списка категорий). Если просто проставить ссылки где-нибудь в заголовке статьи (как сделано на drupal.ru например), то это прокатывает только на технически подготовленную аудиторию (на drupal.ru это можем себе позволить). Я заметил, что часто "нетехнические" пользователи просто не понимают зачем эти ссылки нужны. Наверно если явно указать, что-нидь вроде "статьи по тематикам сходным с данной" и как-то выделить категории в оформлении, то они будут востребованы, а польза от них несомненная.
Есть впрочем модули связных статей, где можно ручками прописывать связи между нодами. Названий не помню, см. на drupal.org.
Ещё на мой взгляд интересен модуль tagadelic, отображающий категории таксономии списком разной величины шрифтов - в зависимости от их популярности. Необычно, но наглядно.
--
Axel,
Darcs-репозиторий разработок для Drupal
Есть всякие related nodes и прочее. Они обычно создают блоки, но сейчас блоки можно вставить куда угодно и можно оформить так, что они не будут похожи на блоки.
---
---
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.
Не это всё не то...
.
>Есть впрочем модули связных статей, где можно ручками прописывать связи между нодами. Названий не помню, см. на drupal.org.
.
Вот это бы было бы интересно, но drupal.org слишком большой...
А кто вам мешает сделать блок, который случайным образом выбирает пять статей из самого популярного контента (или по таксономии), озаглавить его "Наши также читают следующие материалы" и показывать в низу статьи? (можно сделать views, если не хочется вручную)
---
---
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.
Natalie, ну впринципе то что нужно.
А как это реализовать?
Т.е. например чтобы блок шёл внизу статьи и чтобы названия статей выбирались в случайном порядке?
Посмотрите сниппеты для блоков в handbook.
http://drupal.org/node/21867
Еще в views можно выбрать какой-нибудь словарь или термин(ы) и указать сортировку random.
Внизу статьи - это стандартный регион $content в phptemplate.
---
---
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.
Ну посмотрел...
Ничего не понял.
У меня Друпал 4.7.3.
Что я должен делать конкретно?
В отношении чего? Сниппетов, тем, views?
---
---
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.
>В отношении чего? Сниппетов, тем, views?
Нужно чтобы внизу статьи выдавался список случайных заголовков статей (вроде об этом шла речь вверху).
Ну так я перечислила возможные опции:
а) создаем блок с кодом (варианты смотрим в handbook)
б) пользуем Views - создаем блок с сортировкой Random (ну и с другими параметрами, какие нужно)
Положение блока настраиваем admin/blocks.
---
---
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.
>(варианты смотрим в handbook)
Что такое handbook?
Где его искать?
>пользуем Views
Что это такое и где взять?
На сниппеты см. ссылку выше. Views - в модулях. На wiki.drupallers.ru есть кое-какая инфа на русском.
---
---
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.
Искал поиском на странице модулей (http://drupal.org/project/Modules) по слову "Views", были найдены следующие модули:
.
Book Review
Fileshare Node
.
Какие имеются ввиду?
.
>На сниппеты см. ссылку выше.
Это вообще что такое? Модуль или что?
Если модуль - то если не сложно дать ссылку на скачивание этого модуля.
ржунимагу
http://drupal.org/project/views
handbook это такое место на drupal.org где люди выкладывают свои наработки по использованию друпала, часто ввиде кода на php, говорят куда его вставить и что из этого получиться, а снипеты это и есть эти самые куски кода.
Конкретный модуль проще искать в полном списке модулей - они идут по алфавиту.
Сниппеты - это отрывки php кода, которые можно вставлять в блок или в ноду (только не забудьте выбрать фильтр php). Приведенная мною ссылка выдает список разных сниппетов для блоков.
http://drupal.org/node/21867
---
---
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.
dyp - а я плакаль (с)
---
---
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.
Мда, поржать это хорошее дело :)))))))))))))))))))
.
Ну и что мне с этим спипетом делать (http://drupal.org/node/21867):
if (strcmp($_SERVER["SERVER_NAME"],"10.0.0.1")==0)
{
$output = "Private Content Here<br />This is the content you see if you're on the internal interface";
}
else
{
$output = "Public Content Here<br />Some of the content on this web server is only visible to computers on the LAN. Since you have accessed this server on the public interface, you cannot view these pages.";
}
return $output;
?>
Для того чтобы получилось это:
>чтобы внизу статьи выдавался список случайных заголовков статей
Всё вроде нашёл:
http://drupal.org/node/23220
Блин перерыл там все варианты...
Того что нужно нету...
Никто не знает как сделать случайный вывод заголовков при помощи сниппетов?
А вообще вывовод всех заголовков например по алфовиту при помощи сниппетов возможен?
Кстати не плохая весчь:
http://drupal.org/node/53085
Конечно возможен. Всё возможно, что можно запрограммировать на PHP.
--
Axel,
Darcs-репозиторий разработок для Drupal
да я в курсе что всё возможно
А как?
Как заставить крутиться заголовки статей в случайном порядке?
Варианты по выводу последних статей и т.д. не обеспечивают показ старых статей юзеру, хотя они тоже интересные. Они лежат где-то вглубине портала.
А нужно чтобы ВСЁ демонстрировалось.
Пока на Друпале я не нашёл ничего помогающего в этом деле админу.
Ручкоми прописывать, это утопия...
Вот нашёл по теме:
http://drupal.org/node/58973
global $user;
$tips = array(
'blah blah blah',
'blah de blah');
return $tips[rand(1,count($tips))];
?>
Нужно вместо "blah blah blah" чтобы выводились заголовки статей.
Вобщем сделал.
Если кому надо - то вариант внизу:
1. Делается блок.
2. В блок вставляется код:
$num_nodes = 100000;
$result = db_query_range(db_rewrite_sql('SELECT n.nid, n.title
FROM {node} n
WHERE n.status = 1 ORDER BY n.changed DESC'), 0, $num_nodes);
while ($obj = db_fetch_object($result)) {
$node = node_load(array('nid' => $obj->nid));
$items[] = l($node->title, "node/". $node->nid);
}
return $items[rand(0,count($items)-1)];
?>
3. Блок настраивается на показ в нужном месте.
Описание:
Обеспечивает случайный показ всех заголовков, что обеспечивает лучшую демонстрацию материала сайта.
Т.е. при одном открытии страницы показывается один случайный заголовок.
У вас скрипт не упадет, когда число нод на сайте станет значительным?
В этом куске кода загружаются 100 000 нод - это приличный объем памяти, да и тормозить будет.
Приведенный ниже код загружает ровно одну случайную ноду, но работает только на MySQL, на PostreSQL я не проверял.
<?php
$result = db_query_range(db_rewrite_sql('SELECT n.nid, n.title FROM {node} n WHERE n.status = 1 ORDER BY RAND()'), 0, 1); while ($obj = db_fetch_object($result)) { $node = node_load(array('nid' => $obj->nid)); $items[] = l($node->title, "node/". $node->nid);}return $items[0];
?>
Ага, сенкс.
.
Ещё маленькая доработка, для того чтобы исключить темы с форума:
$result = db_query_range(db_rewrite_sql('SELECT n.nid, n.title
FROM {node} n
WHERE n.status = 1 AND n.type <> "forum"
ORDER BY RAND()'
), 0, 1);while ($obj = db_fetch_object($result)) {
$node = node_load (array('nid' => $obj->nid));
$items[] = l($node->title, "node/". $node->nid);
}
return $items[0];
?>
Еще не мешало бы по словарям ограничить. А то будет выводить какую-нибудь служебную страницу типа 404
---
---
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.
код осталось доработать надфилем
Как можно сделать вывод нескольких тем?
Не одной, а сразу нескольких разных?
А вот кстати разрабатывается модуль рекомендация контента - правда, с учетом voting api.
http://drupal.org/project/cre
---
---
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.