ВопросНепростая перелинковка нод в Drupal 7
Здравствуйте. Второй день ломаю голову над задачей по перелинковке статей, может подскажете вариант решения. Суть в том, что надо вывести после статьи 3 тизера с тайтлами и краткими новостями (summary) в рамках одного словаря и одного термина. Т.е., к примеру, статья была о лесных бегемотах в рамках словаря "животные" и термина "бегемоты", то после нее должны идти 3 ссылки с тизерами на 3 статьи из этого же термина ("пещерные бегемоты", "летающие бегемоты", "бегемоты киборги"), но с условием, что ID нод этих трех статей будет увеличиваться или уменьшаться относительно ID текущей ноды.
На буржуйском drupal.org нашел такую рекомендацию:
[quote]This is how it goes in D7, with Views 7.x-3.x:
1. Create view (block)
2. Add fields, or use teasers, what works as well.
3. "Arguments" is from now on called "Contextual filters" , so go there.
4. Add the filter: "Content: Has taxonomy term ID"
5. Configuration on this filter:
-> When the filter value is NOT in the URL: -> Provide default value
-> Type: Taxonomy Term ID from URL
-> under that, check the box "Load default filter from node page, that's good for related taxonomy blocks."
-> now check the boxes of the taxonomies you want involved here
That's that. Save your view, display the block on the page where you'd like to see it and it should be there.
However, the current node will be one of the Related Items. You might not want that, so:
6. Now you need to add the second filter in order to exclude the current node from the list. Click [+] button of the contextual filters section.
7. Select Content: Nid
8. Set the 'When the filter value is NOT in the URL' to 'Provide default argument'
9. Set the 'Default argument type' to 'Content ID from URL'
10. Go to "MORE" , and check the "Exclude" box.
11. Don't forget to embed the block on your node pages
12. Save your view[/quote]
... но в данном случае во вьюхе все равно выводятся ссылки на последние или первые 3 статьи, независимо от ID текущей ноды (у меня URL прописаны как ЧПУ, т.е. без номера ID). Не могли бы вы подсказать, как добиться нужного результата?
- Гость
- 02.12.2011
- 8148
Комментарии
Почти всё понятно, кроме момента "но с условием, что ID нод этих трех статей будет увеличиваться или уменьшаться относительно ID текущей ноды.". Поясните это и я вам напишу решение.
Читатель открывает ноду, допустим, с ID=10, и тогда в конце статьи должны идти ссылки на ноды с ID 9,8,7 или 11, 12, 13 (без разницы, в принципе). Хотя, если в других словарях таксономии и терминах создается нода и ей присваивается ID = 8, которого раньше не было в термине "бегемоты", то та же нода с ID 10 уже должна ссылаться на ноды ID 9, 7, 6.
Надеюсь, понятно объяснил. Был бы признателен за вашу помощь.
Получается такой запрос из бд:
Здесь поле field_tags везде надо заменить на имя поля, в котором содержится ваша таксономия (с бегемотами).
Этот вариант выводит ссылки на заголовки нод. При желании вы можете вывести любое значени из ноды (т.к. функцией node_load() нода загружается полностью).
Не работает. И в блок вставлял и в ноду, не пашет(
О, спасибо большое!
Все хорошо, но если адреса формирует pathauto и Drupal 6, и как достать картинку из из поля CCK для каждой ноды?
Спасибо, все отлично работает. А можно как-то доработать, чтобы получилась кольцевая перелинковка. То есть необходимо, чтобы статья, которая не имеет предыдущих записей ссылалась на последние записи.
Вот тут есть решение, но оно для вордпреса.
http://wp-kama.ru/id_50/perelinkovka-statey-predyiduschie-zapisi.html
Дядька, а не поможешь такое вставить во вьюху, чтобы отображать все в более приемлемом и поддающемся персонализации виде?
Ну очень нужно! Буду премного благодарен!
И надо ссылки на предыдущие ноды :(
А в какой файл нужно вставлять этот запрос?
Комментировать