Здравствуйте, уважаемые друпалеры.
Возник следующий вопрос.
Есть созданный блок views для вывода похожих материалов по терминами, как описано тут.
Проблема заключается в настройке сортировки выводимых похожих нод. То есть у меня на сайте прикреплено большое число нод к одному термину, из за этого с каждой ноды ссылки ведут только на последние добавленные материалы (либо на первые), зависит от настроек сортировки. Это проблема, так как в данном случае ни о каком перераспределении ссылочного веса говорить особо не приходится.
Хотелось бы. что б ссылки на похожие материалы выводились по такому принципу: например, есть node/150 и от нее ссылки вели на node/151,152,153,149,148 и так далее, но при этом исходя из термина ноды.
Надеюсь вопрос сформулирован ясно. Заранее спасибо за помощь.
Комментарии
То есть нужно чтобы выводились предыдущие и следующие ноды.
а если node/151,152,153,149,148 принадлежат к другим терминам ,тогда как выводить?
минуя их, оставляя только с термином. собственное сейчас и выводятся только с термином, вопрос в том как их отсортировать на следующие и предыдущие
А в чем смысл этого всего? типа тогда распределение ссылочной массы правильнее? Каким образом?
либо аргументами сделать ,либо сортировка случайным образом(рандом)
так как с каждой ноды на каждую ноду будет по н-ное число ссылок стоять, то пр теряться не будет. если с 1000, к примеру, нод стоят ссылки на 5, то весь пр отдается тем 5, а это не есть гуд. смысл тут в нормальной перелинковке, которая придется по нраву как людям, так и пс.
сортировка случайный образом не гуд... а с аргументами можете поподробней? мои изыскания в данной области результатов особых не дали
тобишь ты хочешь равномерно распределить?
Поставь содержимое этого блока в нофолоу, и тогда ваще вес передаватся через эти линки не будет. Идеал)
не вариант)
почему не вариант? Ты не хочешь потерь, ты полностью перекрываешь им путь. Задача решена.
тогда смысл от таких "похожих материалов" теряется, можно их вообще сносить, а это не вариант. я хочу побед, а на потери плевать)
так ты похожие материалы для пауков делаешь, или для юзеров?
определи 5 нод наиболее релевантных заппросу=термину и пускай им вес передается
а если нужна рандомная перелинковка для равномерного распределения ,то рандомная сортировка
либо пересмотри термины в сторону увеличения их количества
нету среди ~1000 таких 5, каждая нода важна
да я чтот не могу понять цели ТС... новым нодам - не хочет. Нужно чтоб не терялось в принципе, но закрыть от индекса не вариант... Блин, чтот я не догоняю(
если есть к примеру 1000 статей про тигров ,то я думаю найдется только 5 статей про амурских тигров.
и в других тематиках также.
если новым ,то и вес перейдет больший к новым ,а надо чтобы равномерная перелинковка была
это, к сожалению, отнюдь не решение поставленного изначально вопроса, увы
если есть 1000 нод одного термина и будут выводится ссылки по 5 новых ,то получается на 5 статей будут ссылаться 995 статей.
drupby истину глаголишь, надо чтобы равномерная перелинковка была)
в данном случае я вижу 3 решения :
1. сделать рандомную сортировку и получить равномерную перелинковку.
2.пересмотреть структуру сайта (термины,подтермины),хотя это надо было делать изначально ,но опять таки не зная тематики и конкретных задач может и не надо .
3.ждать ,пока кто-нибудь ответит как это сделать (с помощью аргументов ,я так понимаю)
первый вариант не поймут поисковики, так как каждый раз при обновлении страницы будут новые ссылки
второй слишком
трудозатраныйтрудозатратный, так как нод на сайте дохренаостается третий)
ап)
Во первых, как сказал alex_shut, у вас неправильно что-то с подбором материалов. Похожих должно быть единицы. Если их сотни, значит что-то не так.
Если решать задачу, озвученную ТС, то надо делать два списка по три, например, ноды. Сортировка по nid, фильтр в первом списке - nid должен быть больше, во втором - меньше. Всё просто.
насчет 2 списков согласен ,можно прикрепить attachmentом второй,а по поводу фильтров,то если фильтр статичный ,то там надо указывать конкретные значения nid меньше которых и больше которых нужно делать выборку (к примеру больше чем nid 50)-не подходит для решения задачи ,а если фильтр контекстный (аргумент),то как реализовать больше и меньше текущего значения?
Точно! Про то что в фильтрах нет текущей ноды я забыл. Тогда только со своим модулем, через hook_views_query_alter
так ведь в аргументах можно выбрать множественное значение и к примеру через php код в массив записать значения ближайших нод с данным термином ,а потом return implode('+',$nodeid_array);
только как выбрать именно ближайшие к ноде по nid именно с этим термином?
Если без учета термина ,то можно вывести $node->nid-1,$node->nid-2,
$node->nid-3
И сколько ближайших нод вы там будете писать? 10? 50? 100? 1000?
Решение сработает, но костыль же голимый )