Какие в Друпале есть инструменты, побуждающие юзеров к усиленному просмотру страниц сайта.

Главные вкладки

Аватар пользователя moonman moonman 14 августа 2006 в 20:29

Есть ли такие модули или доработки которые улучшали бы ПОДАЧУ материала сайта?
Ну например когда юзер открывает статью, то где-нибудь внизу появлялось к примеру что-то типа:
[b]С этой статьёй также читают вот эти ститьи (и шёл бы список нескольких статей, рекомендованных к прочтению)[/b]
.
Ну или ещё какие-то варианты, которые делают сайт более читабельным.
.
.
Варианты с разным распложением блоков и созданием замысловатых менюшек не предлагать. Интересуют варианты именно идущие со статьями.

Комментарии

Аватар пользователя axel axel 14 августа 2006 в 22:06

Пожалуй базовая вещь, которая уже в поставке и не требует доп. установки - taxonomy. При настроенном дереве категорий, пользователь видит при прочтении статьи ссылки на них. Ткнув в ссылку получаем список других статей относящихся к данной категории. Т.е. обеспечивается связность материалов, как если бы ссылки на статьи давались напрямую. Но тут всё зависит от оформления и подачи ссылок на категории (а также настройки самого списка категорий). Если просто проставить ссылки где-нибудь в заголовке статьи (как сделано на drupal.ru например), то это прокатывает только на технически подготовленную аудиторию (на drupal.ru это можем себе позволить). Я заметил, что часто "нетехнические" пользователи просто не понимают зачем эти ссылки нужны. Наверно если явно указать, что-нидь вроде "статьи по тематикам сходным с данной" и как-то выделить категории в оформлении, то они будут востребованы, а польза от них несомненная.

Есть впрочем модули связных статей, где можно ручками прописывать связи между нодами. Названий не помню, см. на drupal.org.

Ещё на мой взгляд интересен модуль tagadelic, отображающий категории таксономии списком разной величины шрифтов - в зависимости от их популярности. Необычно, но наглядно.

--
Axel,
Darcs-репозиторий разработок для Drupal

Аватар пользователя Natalie Natalie 14 августа 2006 в 22:12

Есть всякие related nodes и прочее. Они обычно создают блоки, но сейчас блоки можно вставить куда угодно и можно оформить так, что они не будут похожи на блоки.
---
---
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.

Аватар пользователя moonman moonman 14 августа 2006 в 22:31

Не это всё не то...
.
>Есть впрочем модули связных статей, где можно ручками прописывать связи между нодами. Названий не помню, см. на drupal.org.
.
Вот это бы было бы интересно, но drupal.org слишком большой...

Аватар пользователя Natalie Natalie 14 августа 2006 в 22:40

А кто вам мешает сделать блок, который случайным образом выбирает пять статей из самого популярного контента (или по таксономии), озаглавить его "Наши также читают следующие материалы" и показывать в низу статьи? (можно сделать views, если не хочется вручную)
---
---
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.

Аватар пользователя moonman moonman 14 августа 2006 в 22:54

Natalie, ну впринципе то что нужно.
А как это реализовать?
Т.е. например чтобы блок шёл внизу статьи и чтобы названия статей выбирались в случайном порядке?

Аватар пользователя Natalie Natalie 14 августа 2006 в 23:29

Посмотрите сниппеты для блоков в 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.

Аватар пользователя Natalie Natalie 14 августа 2006 в 23:55

В отношении чего? Сниппетов, тем, views?
---
---
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.

Аватар пользователя moonman moonman 14 августа 2006 в 23:59

>В отношении чего? Сниппетов, тем, views?
Нужно чтобы внизу статьи выдавался список случайных заголовков статей (вроде об этом шла речь вверху).

Аватар пользователя Natalie Natalie 15 августа 2006 в 0:36

Ну так я перечислила возможные опции:
а) создаем блок с кодом (варианты смотрим в handbook)
б) пользуем Views - создаем блок с сортировкой Random (ну и с другими параметрами, какие нужно)

Положение блока настраиваем admin/blocks.
---
---
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.

Аватар пользователя Natalie Natalie 15 августа 2006 в 1:07

На сниппеты см. ссылку выше. Views - в модулях. На wiki.drupallers.ru есть кое-какая инфа на русском.
---
---
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.

Аватар пользователя moonman moonman 15 августа 2006 в 1:23

Искал поиском на странице модулей (http://drupal.org/project/Modules) по слову "Views", были найдены следующие модули:
.
Book Review
Fileshare Node
.
Какие имеются ввиду?
.
>На сниппеты см. ссылку выше.
Это вообще что такое? Модуль или что?
Если модуль - то если не сложно дать ссылку на скачивание этого модуля.

Аватар пользователя dyp@drupal.org dyp@drupal.org 15 августа 2006 в 1:42

ржунимагу
http://drupal.org/project/views
handbook это такое место на drupal.org где люди выкладывают свои наработки по использованию друпала, часто ввиде кода на php, говорят куда его вставить и что из этого получиться, а снипеты это и есть эти самые куски кода.

Аватар пользователя Natalie Natalie 15 августа 2006 в 1:44

Конкретный модуль проще искать в полном списке модулей - они идут по алфавиту.
Сниппеты - это отрывки 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.

Аватар пользователя moonman moonman 15 августа 2006 в 2:19

Мда, поржать это хорошее дело :)))))))))))))))))))
.
Ну и что мне с этим спипетом делать (http://drupal.org/node/21867):

<?php
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;
?>

Для того чтобы получилось это:

>чтобы внизу статьи выдавался список случайных заголовков статей

Аватар пользователя moonman moonman 15 августа 2006 в 3:20

Блин перерыл там все варианты...
Того что нужно нету...
Никто не знает как сделать случайный вывод заголовков при помощи сниппетов?

Аватар пользователя axel axel 16 августа 2006 в 11:59

Конечно возможен. Всё возможно, что можно запрограммировать на PHP.

--
Axel,
Darcs-репозиторий разработок для Drupal

Аватар пользователя moonman moonman 16 августа 2006 в 12:06

да я в курсе что всё возможно Smile

А как?
Как заставить крутиться заголовки статей в случайном порядке?
Варианты по выводу последних статей и т.д. не обеспечивают показ старых статей юзеру, хотя они тоже интересные. Они лежат где-то вглубине портала.
А нужно чтобы ВСЁ демонстрировалось.
Пока на Друпале я не нашёл ничего помогающего в этом деле админу.
Ручкоми прописывать, это утопия...

Аватар пользователя moonman moonman 17 августа 2006 в 2:39

Вобщем сделал.
Если кому надо - то вариант внизу:

1. Делается блок.
2. В блок вставляется код:

<?php
$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. Блок настраивается на показ в нужном месте.

Описание:
Обеспечивает случайный показ всех заголовков, что обеспечивает лучшую демонстрацию материала сайта.
Т.е. при одном открытии страницы показывается один случайный заголовок.

Аватар пользователя radev radev 17 августа 2006 в 12:39

У вас скрипт не упадет, когда число нод на сайте станет значительным?
В этом куске кода загружаются 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];
?>

Аватар пользователя moonman moonman 17 августа 2006 в 13:22

Ага, сенкс.
.
Ещё маленькая доработка, для того чтобы исключить темы с форума:

<?php
$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];
?>

Аватар пользователя Natalie Natalie 17 августа 2006 в 16:50

Еще не мешало бы по словарям ограничить. А то будет выводить какую-нибудь служебную страницу типа 404
---
---
All content management systems suck, Drupal just happens to suck less. -- Boris Mann at DrupalCON Amsterdam, August 2005.

Аватар пользователя Гость Гость (не проверено) 18 августа 2006 в 1:50

Как можно сделать вывод нескольких тем?
Не одной, а сразу нескольких разных?