Похожие новости drupal 7

23 июля 2014 в 18:37
FAQ

Честное слово перелопатил уже практически все что касается вывода похожих новостей на друпал 7. И понятное дело кто во что гаразд, перепробовал кучу снипетов, и кодов, то не выводит то ошибки, то вообще все через одно место. Честное слово нервов не хватает ну чем создатели друпал думают-эта же функция всем нужна. Мне нужен вывод похожих материалов по терминам таксономии они же категории ,как это осуществить, дай или рабочий код или я уже не знаю, как вообще это на друпал реализуется?

Комментарии

для подобной задачи есть множество модулей(https://www.drupal.org/node/323329), написано куча программных вариантов вывода, есть возможность реализовать с помощью views(вот один из вариантов http://xandeadx.ru/blog/drupal/553), а вы жалуетесь

"dimitrian777" wrote:
ну чем создатели друпал думают

про вас и думают

23 июля 2014 в 18:49

Да пробовал я вьюс выводит по этим настройкам несусветную муть и в блоке ... Мне нужен блок внизу материала перед комментариям который будет выводить заголовки согласно терминам таксономии, не теги не еще что то, есть термин рулеты человек вышел на материал рулеты с маком ему нужно показать пусть 5 заголовков последних,или рандомно по термину рулеты. Ссылки кидать на что то подобное я тоже умею дайте мне решение или друпал не способен на такое?

23 июля 2014 в 21:10

Дело скорее не в способностях друпала, а в ваших навыках, умениях и знаниях.
С таким подходом: «Ссылки кидать на что то подобное я тоже умею дайте мне решение или друпал не способен на такое?»
вы просто будете посланы в сторону коммерческих CMS со стоимостью ежемесячного обслуживания в 100500 рублей, выбрали бесплатную CMS будьте добры научиться ладить с сообществом, поскольку тут никто не кому ни чем не обязан.

24 июля 2014 в 8:57

"dimitrian777" wrote:
Ссылки кидать на что то подобное я тоже умею дайте мне решение или друпал не способен на такое?

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

23 июля 2014 в 22:34

drupby wrote:
"dimitrian777" wrote:
Ссылки кидать на что то подобное я тоже умею дайте мне решение или друпал не способен на такое?

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

Ну так подскажите или покажите мне это решение.Установил модуль Similar By Terms и что?. Ели он делает выборку ID материала из URL, то выводит кашу из новостей никак не связанных между собой ( на странице из категории "бисквиты", выводит новости из категорий печенье, торты и так далее). Если настроить представления и вместо ID материала из URL поставить ID термина таксономии из URL то блок вообще не выводится, по ходу модуль не понимает , что это такое. Кстати перешерстил инет умногих пользователей тоже самое , что и у меня. Предполагаю из за того что термины таксономии написаны на русском, а русский как известно в URL не присутствует идет транслитерация. ну и как быть? Пробовал снипеты, но кроме различных ошибок, белый экран выдают, ничего более. По рекомендуйте рабочий вариант на 7 .

24 июля 2014 в 13:49

"dimitrian777" wrote:
Ели он делает выборку ID материала из URL, то выводит кашу из новостей никак не связанных между собой ( на странице из категории "бисквиты", выводит новости из категорий печенье, торты и так далее).

хорошо, тогда скажи, сколько к материалу прикреплено term reference полей?

если несколько словарей прикреплено к ноде, то создаешь вьюху(блок) и туда добавляешь 2 контекстных фильтра: 1- Content: Has taxonomy term ID => Provide default value => Taxonomy term ID from URL => Load default filter from node page, that's good for related taxonomy blocks => Limit terms by vocabulary(выбираешь нужный словарь) и 2- Content: Nid => Provide default value => Content ID from URL => MORE-Exclude

вот "кидаю ссылку" даже на описание создания вьюхи http://scito.ch/content/show-related-nodes-block-based-taxonomy-terms-vi...
надеюсь создать вьюс с 2-мя контекстными фильтрами у тебя хватит мужества

24 июля 2014 в 15:57

"drupby" wrote:
хорошо, тогда скажи, сколько к материалу прикреплено term reference полей?

Не совсем понимаю, что вы имеете ввиду.

Создан тип материалов "выпечка" создан словарь терминов они же являются категориями( бисквиты,торты,рулеты и так далее).Этот словарь прикреплен к типу материалов "выпечка".То есть когда я создаю статью я галкой отмечаю по терминам таксономии в какой раздел пойдет статья, в торты или в бисквиты и так далее.

Создано меню по разделам бисквиты, рулеты и тому подобное. То есть структура такая пользователь жмет в меню ссылку рулеты и попадает в раздел с рулетами( анонсы статей) далее он может перейти к конкретной какой либо статье.

Вот такая структура сейчас у меня на сайте. Хотелось бы чтобы "Похожие новости" отображали заголовки материалов из разделов. То есть если пользователь находится на страничке с рецептом торта то нужно вывести положим 5 заголовков статей из одноименного раздела "Торты"

24 июля 2014 в 15:45

Нету других категорий есть еще один словарь сделал его для использование в фильтре но пока он не задействован.

Вот все термины словаря:

Вот поля содержимого:

Так выглядит блок при дефолтной настройке модуля ID материала из URL

Вот это представление Similar By Terms

Вот такие настройки контекстного фильтра

Когда меняю настройки блок похожие новости вообще не отображается

24 июля 2014 в 16:49

"dimitrian777" wrote:
Нету других категорий есть еще один словарь сделал его для использование в фильтре но пока он не задействован.

даже не знаю как прокомментировать...

10 ноября 2015 в 11:49

Всем спасибо решил вопрос, может кому пригодится для друпал 7 заменяем функцию в template.php

<?phpfunction bartik_preprocess_node(&$variables) {
  if ($variables['view_mode'] == 'full' && node_is_page($variables['node'])) {
    $variables['classes_array'][] = 'node-full';
  }
}?>

на

<?phpfunction THEMENAME_preprocess_node(&$vars) {
  if (!$vars['page'] || !$vars['node'] || !isset($vars['field_tags']) || !count($vars['field_tags'])) {
    return;
  }
 
  $tids = array();
  foreach ($vars['field_tags'] as $tag) {
    $tids[] = $tag['tid'];
  }
 
  $query = db_select('node', 'n');
  $query->fields('n', array('nid', 'title'));
  $query->addExpression('COUNT(*)', 'hits');
  $query->leftJoin('taxonomy_index', 'ti', 'n.nid = ti.nid');
  $query->condition('n.type', $vars['type']);
  $query->condition('n.status', NODE_PUBLISHED);
  $query->condition('ti.tid', $tids, 'IN');
  $query->condition('n.nid', $vars['nid'], '<>');
  $query->groupBy('n.nid');
  $query->orderBy('hits', 'DESC');
  $query->orderBy('n.created', 'DESC');
  $query->range(0, 3);
 
  $vars['content']['similar'] = node_title_list($query->execute(), 'Похожие материалы');
  $vars['content']['similar']['#weight'] = 2;
}?>

THEMENAME - название темы

Похожие новости по тегам будут выведены в конце материала.
Если нужно вывести по категориям в коде следует изменить массив field_tags на field_category.

24 июля 2014 в 18:49

"dimitrian777" wrote:
Похожие новости по тегам будут выведены в конце материала.

этот сниппет для случаев, когда к одному материалу относятся несколько терминов-тегов, хотя кому я объясняю?

24 июля 2014 в 19:01

"drupby" wrote:
этот сниппет для случаев, когда к одному материалу относятся несколько терминов-тегов, хотя кому я объясняю?

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

24 июля 2014 в 20:02

"dimitrian777" wrote:
Немножко не верно говорите сниппет выводит материалы, которые имеют одинаковые теги

не буду со специалистом спорить
"dimitrian777" wrote:
Ссылки кидать на что то подобное я тоже умею дайте мне решение или друпал не способен на такое?

неужели ты додумался внимательно перечитать страницы, ссылки на которые я тебе давал вчера?

24 июля 2014 в 20:19

"webpavilion" wrote:
самое странное том что ТС уверен что он самостоятельно справился с решением "задачи".

Я по моему написал спасибо всем. Или что то с глазками?

24 июля 2014 в 22:02

"dimitrian777" wrote:
может кому пригодится для друпал 7

кому пригодиться и сам найдет данное решение перейдя по ссылке в самом первом комменте

24 июля 2014 в 22:20

"drupby" wrote:
кому пригодиться и сам найдет данное решение перейдя по ссылке в самом первом комменте

Вы что здесь все такие "друпалнутые"? Может поэтому ваше сообщество не так популярно как джумловское. Там всегда окажут помощь и даже если 100 раз об этом писали профессионалы потратят свое время и объяянят все как школьнику, при этом не будут грубить. Нет там звездной болезни. А вы , прям изучив друпал так вознеслись, как будто открыли новую звездную систему или трахнули дочь королеву бесплатно... Будьте проще может и люди потянутся.

24 июля 2014 в 22:58

dimitrian777 wrote:
Вы что здесь все такие "друпалнутые"? Может поэтому ваше сообщество не так популярно как джумловское. Там всегда окажут помощь и даже если 100 раз об этом писали профессионалы потратят свое время и объяянят все как школьнику, при этом не будут грубить. Нет там звездной болезни. А вы , прям изучив друпал так вознеслись, как будто открыли новую звездную систему или трахнули дочь королеву бесплатно... Будьте проще может и люди потянутся.

А что это вы разбушевались? Вас никто не тянул за яйц руки сайт на друпале делать. Вы считаете ненормальным, что на этом форуме не очень популярно джумловское сообщество и правила другие? Ну, так тут, вроде, ни кого не держат.

Про объяснения: у профессионалов просто нет времени разжевывать то, что уже давно описано в подробностях. Вам ясно сказали, как можно решить вашу проблему и ткнули носом. Или вам надо, чтобы за вас все сделали? Это вам надо быть проще и тогда (!) есть вероятност, что кто-то займется вами персонально.

Простите за флуд - не стерпела. У меня уже достаточно проектов на друпале. Когда я пришла 4 года назад в друпал, то была как слепой котенок. Все, чему я научилась - благодаря сообществу друпала, основному и этому, русскому. Спасибо, коллеги.

25 июля 2014 в 0:26

"dimitrian777" wrote:
не так популярно как джумловское. Там всегда окажут помощь и даже если 100 раз об этом писали профессионалы потратят свое время

так вот оно что оказывается, а сразу ты не мог сообщить сей факт? я бы просто мимо прошел, хотя можно было и догадаться

24 июля 2014 в 23:31

ХулиGUN wrote:
а в друпале для решения 1 задачи можно найти миллион способов

Кстати, это верное замечание.

И не всегда это комфортно.

Раньше я работал с MODx, так там практически ничего не было.
Приходилось многое руками писать.
А структура сайта там фактически однотипна во всех случаях.

А в Drupal один и тот же сайт можно спроектировать множеством способов. Выберешь способ, а потом думаешь - а может быть, по другому было бы удобнее, правильнее или универсальнее ?

26 июля 2014 в 12:43

roman-yrv wrote:
Выберешь способ, а потом думаешь - а может быть, по другому было бы удобнее, правильнее или универсальнее ?

Да-да. Это - кошмар моей жизни Biggrin

Кстати, случайно наткнулась на еще одну дельную статью по теме, для 6-ки и 7-ки - Выводим ссылки на похожие материалы без доп. модулей

27 июля 2014 в 22:56

"dimitrian777" wrote:
А вы , прям изучив друпал так вознеслись, как будто открыли новую звездную систему

одно из требований для успешного создания сайтов на друпале - это IQ выше среднего, п.э. выбирайте тот инструмент, который соответствует Вашему интеллекту.

25 июля 2014 в 7:20