Ссылка на комментарий в термине таксономии

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

Аватар пользователя smoky smoky 12 июля 2011 в 22:31

Создано предаствление вывода taxonomy/term/%
при выводе ссылки на комментарий выводится ссылка содержащие обращение к ноде.
это и понятно что используется в коде - <?php print drupal_get_path_alias('node/'.$comment->nid)
Как сделать так, чтобы ссылка на комментарий формировалась из термина и имела вид например .../taxonomy/term/233/#comment-1
Вобщем, вопрос состоит как получить 233 в этом примере...

Комментарии

Аватар пользователя AI AI 12 июля 2011 в 23:09

http://api.drupal.ru
Только я что-то не очень понял нафига на странице термина выводить комментарии. Какгбэ хозяин-барин, но все же... И еще: #comment-1 Вот тут 1 не везде будет 1. У комментариев внутри друпала сквозная нумерация. Спрашивайте сразу, как в ноде узнать номер первого комментария.

Аватар пользователя smoky smoky 13 июля 2011 в 7:06

да, наверное я несколько коряво вопрос задал... в представлении (на сколько я понял) используется термин, но выводится нода, к которой этот термин привязан. номер комментария я получаю вот так <?php print $comment->cid ?>
так то бы конечно и оставить, но в представлении завязаны блоки относящиеся тоже к этому термину...
может быть я с самого начала что не так делаю?
попробовал руками сделать в адресной строке набрал www.mysite.ru/taxonomy/term/233/#comment-1 и все сработало. значит путь верный Smile
Сейчас ссылка на комментарий вот такая - www.mysite.ru/node/123/#comment-1
Полный код вывода ссылки:
<?php if ($comment->cid): ?>
nid) ?>/#comment-<?php print $comment->cid ?>">#
<?php endif ?>

Аватар пользователя smoky smoky 14 июля 2011 в 0:03

получилось сделать добавлением вот такого кода:
<?php if ($comment->cid): ?>
/#comment-<?php print $comment->cid ?>">#
<?php endif ?>
но данная конструкция выводит именно ссылку как taxonomy/term/... как сделать подмену на синоним термина таксономии? применение taxonomy_get_term ни к чему не привело (либо используется не для этого)

Аватар пользователя Dan Dan 14 июля 2011 в 1:27

У терминов нет комментов, поэтому данная ссылка некорректна.
На странице термина выводятся ноды, привязанные к терминам. Вы выводите полные ноды с комментами?

Аватар пользователя smoky smoky 14 июля 2011 в 6:42

конечно выводится нода. но ссылка на вывод ноды сделана через термин. почему тогда ссылка работает если ее набрать руками либо генерировать выше написанным кодом?

Аватар пользователя Dan Dan 14 июля 2011 в 10:15

Почему работает - не знаю, у нас в семье телепатией владеет только кошка. Покажите сайт - скажу почему работает.
В чём фишка ссылки на комментарий через термин, на странице, которая выводит ноды я не понимаю, если честно. Допустим у вас выводятся по 10 нод на страницу с термином, у каждой ноды, в среднем, по 100 комментов. На странице получится 1000 комментариев к 10 статьям. Нахрена?!
Лучше опишите задачу глобально.

Аватар пользователя smoky smoky 17 июля 2011 в 1:47

решил проблему вот таким способом (вставил в comment.tpl.php или же для определенного типа материала comment-тип.tpl.php):
<?php $term = arg(2);
print 'cid.'">#'; ?>
Зачем это надо? нода выводится по ссылке на термин таксономии (много нод не выводится ибо один термин - одна нода, других привязок нет. зачем так сделано - на основе терминов составлено иерархическое меню). поэтому хотелось чтобы ссылка на каменты не ломала глаз совершенно другой ссылкой.
может из меня объясняльщик плохой но тем не менее код работает.
Хотел добиться работы функции taxonomy_get_synonyms или taxonomy_get_synonym_root но что то не получилось. может кто подскажет как всетаки использовать эти функции?

Аватар пользователя Dan Dan 17 июля 2011 в 7:41

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

Аватар пользователя Dan Dan 17 июля 2011 в 22:57

Hierarhical_select нужен для удобной выборки терминов. Термины нужны для категоризации контента.
Категоризация вам не нужна, следовательно, не нужна и таксономия. Зачем нужен hierarhical_select?
Вы явно выбрали неправильное архитектурное решение, теперь пытаетесь согнуть друпал рогом.

Аватар пользователя smoky smoky 17 июля 2011 в 23:03

с его помощью юзер создает материалы. если все глобально описать то: есть словарь с терминами; есть ноды которые связаны с терминами - одна нода = одному термину (как бы визуальное отображение термина); юзер создает материал используя hierarhical_select (ну и немного других полей); далее выводится таблица, поля которой заполнены ссылками на термины; при клике на эту ссылку юзер попадает на страницу где - выводится нода соответствующего термина + блоки со ссылками на материалы которые насоздовали юзеры (выводятся в соответствии с термином). вот наверно все.

Аватар пользователя Dan Dan 18 июля 2011 в 8:14

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

Аватар пользователя smoky smoky 24 июля 2011 в 13:57

пользователь с помощью термина определяет к какой категории относится его материал. соответственно при выводе через views выводятся в блоке ссылки на эти материалы. иначе как бы я сделал отбор в блок?

Аватар пользователя Dan Dan 24 июля 2011 в 17:13

Как можно определять к какой категории относиться материал и одновременно делать, чтобы было один термин -- один материал? Или после того как пользователь указал категории своего материала, данная категория удаляется из списка доступных для других пользователей?
Ясней не стало Smile