Тема уже много раз обсуждалась, но удовлетворяющих ответов не нашел.
Персональная страница является большим лицом сайта, чем главная, ведь основная часть пользователей делают закладки в браузере на своей странице. Больше всего человека интересует: А нет ли мне ответов и комментариев? И только потом пользователь переходит на главную.
Что мы имеем в стандартной упаковке (сверху вниз):
1. Логин.
К сожалению не имя, и не полное название (например, пользователь = предприятие), а только логин. Имя, конечно можно и необходимо вывести в заполняемое поле профиля, но где оно отображается? - 8 сторками ниже. Вот и пойми, на чью страницу ты попал.
2.Просмотреть Изменить Следить
"Изменить" - созданные админом категории профилей не связываются с ролями. Что очень печально.
"Следить" - отличная вкладка. Но как не пытался вывести ее блоком на страницу user/*, так ничего не получилось. Опять же, лицо пользователя это его материал: названия статей и кол-во комментариев - более информативны, чем например "время участия".
3.Фото.
4. История
Итак, мы знаем пока кличку, до имени еще не дошли. Зато уже есть глава "история". Думаю пояснять не надо, что это не то место для "истории".
Блог Просмотреть последние записи в блогах
А как же другие материалы? Галереи, форумы, комментарии и тд. Но об этом молчит "исторя".
Время участия
Это полный маразм. Например. Предприятие с вековой историей. Но чтобы это узнать, нам надо нажать "отследить", и угадать статью в которой эта информация находится!!! Зато личная страница нам смело выдаст, что нибудь о паре месяцев+\-. Практически ненужная информация. Это кому надо кичиться возрастом?
Пытался закомментировать - не получилось.
5. Поля заполненных профилей. Например категоия Персональные данные
Вот с этого можно и нужно было начинать.
Что я пробовал сделать для улучшения вида страницы:
1.Использовать модуль Bio.
Преимущества. Можно удалить все с пункта 3 и сделать сраницу как обычную статью.
Недостатки.
- требует опытного и неленивого пользователя.
- отвечать на вопросы полей пофиля много легче.
- если эаполнены поля профиля, то можно выводить информацию по алфавиту модулем members. А использование "биографии" даст возможность не заполнять поля профиля.
- при совместном испльзовании "биографии" и полей профиля (что возможно в настройках), био врезается в место пункта 3 (фото) и дерется с ним за место. Опять же, - не там и не так. Вот как бы его пониже спустить?
2.Испробовал все, что отражено было в этом разговоре: http://www.drupal.ru/node/2628. Хорошая информация, но...
- блок описанный на http://drupal.org/node/140754 пока лучшее решение. Но он сильно уступает вкладке "отследить". Всего три стобика, один из котрых "изменить" показывается даже незарегистрированным пользователям.
- У других блков с дизайном туго.
- Вывод информации через template.php и user_profile.tpl.php поднимает вопрос о кодировке. Который я не могу пока решить. Да и кажется(?) нагрузка какая-то на сервер. Не уверен, но на локалке заметно торможение.
3.Хороший модуль user_interests.
Опять "но".
- выводит только термин таксономии и в скобках количество статей пользователя в ней. Вот бы кто его переделал, чтобы выдавал таблицу с нодами, а не с категориями. Жаль у меня с PHP туго. Будем надеяться, что "пока".
4.Модуль guestbook.
Полностью подменяет собой ссылку "Просмотреть последние записи в блогах".
Чего собственно надо? Давайте помечтаем. По прядку:
1. Шапка. Из заполненных полей профиля. (А если выдавать разным ролям пользователей разные анкеты - это вобще "сказка")
2. Фото.
3. Дополнительно (подойдет Bio)
4.Список созданных пользователем всех материалов. (вполне устроит, то что на странице "user/*/track", хотя красивее было каждому типу свой блок.)
5.Гостевая.
- Иметь ссылку на превью всех записей пользователя, а не только на блог (с гостевой несовместимый).
- расширение навигации, например: "комментарии мне", "комментарии мои", "ответы мне", "ответы мои", "кол-во просмотров статьи", "Список читателей" ... Это мечты.
-Управлять своей страницей со страницы пользователя. Например, "Создать материал" чаще (по умолчанию) не выводится на главную (как и на этом сайте). Так и место этому пункту меню не на главной.
У кого есть какие предложения?
Комментарии
Могу порекомендовать MySite
Недавно скачал, сейчас тщательно изучаю, дабы его прикрутить у себя. Пока навскидку
Сам модуль позволяет пользователю создавать свою персональную страницу по шаблону "My [SiteName]".
Есть возможность добавлять контент: статьи из категорий, сообщения пользователей, профиль пользователя (я так понял, что и свой, и чужой)
Что пишут по авторы модуля:
Можно добавлять RSS ленты из модуля Aggregator, плюс оттуда же категории целые.
Записи из блогов, записи из форумов, статьи в той или иной категории, Views (что очень удобно), Гуловские виджеты, все посты определенного контента (надо ССК), наиболее поплярные посты
Что порадовало:
Выбрать категории из словаря, которые будут доступны для размещения на своей странице. Соответственно, как я понял, пользователь, выбрав категорию, сможет прикрутить к своей странице что захочет из данной категории
можно делать свои дроплеты
пользователь может настроить внешний вид страницы в две, три колонки (есть несколько заданных вариантов) путем драга и дропа (нужны JQuery Interface Library и JQuery Update) - поищите на drupal.org модули
Можно определить, какой тип контента сделать доступным для размещения в MySite
Что-то можно брать из профиля пользователя, пока не разобрался, но буду разбираться (закладка Profile есть в настройках)
Можно создавать свои иконки для разных добавляемых материалов.
Ну вот вроде как так. Не уверен, подойдет ли на все сто для Ваших задач, но посмотреть стоит.
Забыл добавить. Требует перевода
Посмотрите в сторону модуля usernode. Он создает новый тип материала usernode (можно перевести вольно как "страница о пользователе"), с которым вы можете делать все, что позволительно делать с материалами в Drupal.
Например, сконструировать произвольный набор полей с помощью Profile, оформить их вывод с помощью Views и собрать несколько видов вывода на одну страницу с помощью Panels.
К тому же usernode работает в связке с модулями Nodeprofile, Nodefamily, Pageroute и Views_fusion, что позволяет построить сложную, но мощную и гибкую конструкцию пользовательского профиля.
Кроме этого, есть пошаговое описание еще одной сложной конструкции профиля - http://dev.shellmultimedia.com/node/48.
А в файле http://dev.shellmultimedia.com/sites/dev.shellmultimedia.com/files/User-... (>300kb), который можно скачать оттуда, есть скриншоты того, что получается в результате.
Спасибо всем неравнодушным. Тут разбираться не 5 минут.
usernode ставил 3 дня назад. А сегодня повторно не хочет появляться в списке модулей(?). Помню только, что после активации проявился новый тип материала, который так и назывался usernode. Этот тип имел только заголовок и поле примечаний, без тела. И вытаскивал за собой автоматически одно лишь данное о пользователе. Будете смеяться: Время участия. Я его и к старым пользователям привинчивал, и новых делал, да и удалил. Может в связке... посмотрим.
Здравствуйте!
Вот я как раз пошла этим путем (обезьянним, надо сказать, путем) - прошла все шаги туториала Мишели, вот этого http://shellmultimedia.com/node/274
На шаге 8, а именно,
---------
Step 8 - Theming the profile
Copy node-uprofile.tpl.php to your theme directory. This contains all the code and fields for the user profile page and the teaser. Your account view page should now look like
http://shellmultimedia.com/files/User-Account-Before-CSS.jpg
-------
...вышла осечка.
Не обладая большими знаниями системы, я все же пришла к выводу, что Друпал не читает все мои файлы, поставленные в папку с текущей темой, формата node-.tpl.php. Приведу для ясности пример:
файл template.php читается и выполняется
файлы типа node-userprofile.tmp.php (то есть те, которые не системные, а созданы пользователем под свои ноды) не читаются, точнее, не выполняются.
Создается ощущение, что система их не видит. Все пермишены вроде как такие же, как и в нетронутых мною темах.
Все шаги выполнены строго в соответствии с ее туториалом.
Прошу совета.
Где тут собака зарыта?
Заранее спасибо за помощь.
Добавлю:
никаких сообщений об ошибках нет. Наличие или отсутствие файлов никак не действует на вывод профиля пользователя.
Модуль profile у меня скачан, но никогда не был enabled, во избежание конфликтов между ним и nodeprofile. Pageroute я не устанавливала, ибо о нем ничего не говорится в туториале, хотя тут у нас проскочило сообщение о том, что он играет свою роль в общей схеме.
Тема очень актуальна, хочется решить этот вопрос.
А к usernode можно CCK привязать?
> файлы типа node-userprofile.tmp.php (то есть те, которые не системные,
> а созданы пользователем под свои ноды) не читаются, точнее, не выполняются.
Очевидно, правильное имя node-userprofile.tpl.php
чтобы использовать файл user_profile.tpl.php
надо объявить такую функцию в template.php
<?php
function phptemplate_user_profile($user, $fields = array()) {
return _phptemplate_callback('user_profile', array('user' => $user, 'fields' => $fields));
}
?>
см. подробнее
felix так говорит как будто всё что нужно и ненужно ему одинаково нужно и ненужно всем пользователям..
а сделать всё вышеперечисленное можно
2Ludmila, Я вот стал делать профиль по этому туториалу, возникла проблема, при создании своего профиля и последующим сохранением , вылазиет ошибка "Заполните поле Заголовок", которого нет. Может подскажите в чём проблемка
Вопрост отпадает - всё разобрался))
А что ты именно сделал, у меня тоже такая проблемма
в настройках типа контента uprofile - есть настройка auto node titles
Спасибо разобрался
Если вам реально нужны навороты в профиле, ставьте вторые панели и Advanced Profile. Если пройдете инструкцию по его установке и все будет работать - значит вы продвинутый пользователь друпала я себя таким не считаю, но по инструкции все сделал и работает.
Самый продвинутый модуль для профиля. Не обсуждается.
Другое дело - нужно ли это вам, такая монструозная штука.
MeRamo, опишите пожалуйста как ставить, а то у меня с английской документацией серьезные проблемы.
http://dev.shellmultimedia.com/node/48 не открывается!
Кто-нибудь разобрался с http://shellmultimedia.com/node/274 ? Тоже проблема с 8 пунктом, а
function phptemplate_user_profile($user, $fields = array()) {
return _phptemplate_callback('user_profile', array('user' => $user, 'fields' => $fields));
}
исправить не удается т.к. до этого есть такая же функция
function phptemplate_user_profile($account, $fields) {
foreach ($fields as $category => $items) {
foreach ($items as $item) {
$output .= $item['value'] ;
}
}
// Returning nothing from this function causes the entire page to whitescreen, so let's put something in by default
// A better idea might be to load up some sort of standard thing that has the views and just not the profile fields
if (empty($output)) {
$output = "This user has not filled out a user profile.";
}
return $output;
}
кто-нибудь знает как их соединить в одну?
вопрос решен