2009-03-27 2 views
0

У меня есть узел в drupal. Я хочу иметь возможность вводить идентификатор узла, а затем выводить один идентификатор комментария, который был сделан на этом узле. Как мне это сделать? Спасибо.

ответ

2
$mycid = db_fetch_object(db_query('SELECT * FROM {comments} WHERE nid = %d ORDER BY RAND() LIMIT 1', $mynid)); 
return theme_comment_view($mycid,$mynid); 

$ mynid - ваш идентификатор узла для загрузки. Этот код будет принимать ваш идентификатор узла и отображать случайный комментарий из комментариев этого узла.

Проверить here.

+0

Спасибо, это концепция, которую я ищу. Кажется, я не могу заставить его сделать комментарий. Нужно ли что-то делать вместо comment_render или какой-то другой особой вещи? Еще раз спасибо. – 2009-03-28 03:31:42

+0

Извините, я должен использовать функции theme_. Я редактировал код. Теперь он должен работать. –

+0

Я на drupal 5.x, который, похоже, не поддерживает $ node в качестве аргумента в theme_comment_view. Есть ли способ просто получить функцию $ cid из узла, а не весь текст комментария? Я думаю, что было бы легче для того, что я делаю. – 2009-03-28 21:24:25

1

Вы хотите, чтобы это была собственная страница? На странице узла? В блоке? Вам нужен конкретный комментарий или просто случайный? Как вы хотите «ввести» идентификатор узла?

Для большинства случаев я, вероятно, сделаю это с помощью the Views module. Когда вы создаете представление, вы можете установить тип «comment», установить ваши фильтры/аргументы на конкретный тип узла/узла и ограничить его одним комментарием. Если вам нужна страница или блок, представления могут просто создать их для вас. Если вы хотите отобразить весь комментарий или только его части, Views может позаботиться об этом. Если вы хотите внедрить их на какую-либо другую страницу, по-прежнему относительно легко внедрить представление на другую страницу через PHP.

Смежные вопросы