Количество комментариев в Профиле.

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

Аватар пользователя Umnik Umnik 14 октября 2012 в 10:12

Здравствуйте, уважаемые друпалеры.

Подскажите, как мне вывести в профиле пользователя (в файле user-profile.tpl.php), количество сообщений и статей его.

Буду рад любой помощи.

Комментарии

Аватар пользователя Umnik Umnik 14 октября 2012 в 21:49

Lotar wrote:
Создать блок через views и вывести его на странице профиля.

Подскажите как создать такой блок. Я создал регион и создал файл шаблона профиля page--user--%.tpl.php, но не могу понять как создать views с параметрами пользователя.

Аватар пользователя Lotar Lotar 14 октября 2012 в 22:12

Тип представления - материал. В отношениях добавить связь с профилем пользователя. И в аргументы добавить нужные поля. Далее добавить вид БЛОК. В свойствах блока указать - показывать на такой то странице.

Аватар пользователя Umnik Umnik 15 октября 2012 в 20:00

Lotar, благодарю все получилось. Вот хотел еще попробовать сделать запрос к БД. Нашел код для 6, если не сложно помогите его переделать для 7:



User Posts (x):

<?php $posts_count=db_result(db_query("SELECT COUNT(nid) FROM {node} WHERE type= 'post' AND uid = %d"arg(1)));
echo(
'<a href="/user/my/posts">My Posts</a> (<span class="orange">' $posts_count '</span>)' ); ?>


User comments (x):

<?php $comment_count=db_result(db_query("SELECT COUNT(cid) FROM {comments} WHERE uid = %d"arg(1)));
echo(
'<a href="/user/my/comments">My comments</a> (<span class="orange">' $comment_count '</span>)' ); ?>
Аватар пользователя Lotar Lotar 15 октября 2012 в 20:54

Друпал это цмс. Учитесь использовать его возможности, а не самопись. Модуль views - пункт включить агрегацию. Добавить какое поля по какому типу считать. Выведет, то что хотите.

Аватар пользователя Umnik Umnik 15 октября 2012 в 21:02

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

Аватар пользователя Umnik Umnik 15 октября 2012 в 21:04

И подскажите пожалуйста тут, чтобы не создавать новую тему. Как вызвать функцию из template.php в шаблоне. Стандартный php метод не работает.

Аватар пользователя Lotar Lotar 15 октября 2012 в 22:25

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