Вступление:
Для D6 существует модуль "Content Profile", который создает тип материала Profile, в котором выводиться инфа юзера и комменты настраиваются как в обычной ноде, но для D7 его нету и везде написано что на замену Content Profile был написан Profile2, но как добавить комменты я так и не нашел. В ходе "гугления" видел разные модули добавляющие комменты в профиль, но их работа не устроила т.к. нужно было сделать страницу профиля "как в контакте". Поэтому был "придуман" следующий алгоритм:
шаг 1:
- Создаем тип материала "profile"
шаг 2:
- Устанавливаем Pathauto, Token
- В синонимах-> шаблоны (admin/config/search/path/patterns) для типа материала "profile" ставим токен "profile/[node:title]"
шаг 3:
- устанавливаем Rulez
- создаем первое правило:
-- событие: После сохранения новой учетной записи пользователя
-- действие: Создать новую сущность, значение- материал,тип- profile, Заголовок материала- [account:name], Автор- account
- создаем второе правило:
-- событие: Страница учетной записи пользователя была просмотрена
-- действие: значение- profile/[account:name]
шаг 4:
- в настройках учетной записи (admin/config/people/accounts/fields) добавляем поля.
шаг 5:
- устанавливаем Views и создаем представление типа "Пользователь" вид- блок.
- в полях указываем поля из шага 4
- в отношениях добавляем Пользователь: Uid-> Задать значение по умолчанию - включить чекбокс "Если есть материал, то использовать его автора"
шаг 6:
- в настройках блоков (admin/structure/block)созданный блок вывести в Content выше "содержимое"
- в настройках блока: Показывать блок на определенных страницах- Только на перечисленных страницах- profile/*
шаг 7:
- устанавливаем модуль custom_username_validation
- В настройках модуля указываем паттерн: /^[a-z-_]+$/
* данный шаг, нужен для валидации логина юзера, чтобы юзеры могли регистрироваться только латиницей и только в нижнем регистре, чтобы не возникло проблем с транслитерацией url.
Заключение:
- Данный "алгоритм" опробован на локальном сайте, проблемы не замечены.
- Возможно существует решение лучше, но я не видел.
- Просьба, гуру друпала, прокомментировать кошерность выше написанного.
- Для реализации на рабочем сайте в шаге 3 в первом правиле, сделать условие например "просмотрена главная страница", "действие выполняется 1 раз".
Комментарии
Очень интересно' ещё бы увидеть на работающем сайте
Скоро доделаю, тогда дам ссылку на пример...
Забыл написать: для страницы админа создать пустую ноду типа Profile,в заголовок написать логин админа.
Будем ждать, посмотрим посмотрим..
Не указано само действие здесь. Где указывается значение?
Забыл написать
действие- Переадресация страницы
дополнение:
т.к. табов на редактирование профиля нету, надо установить menu_token и в меню пользователя добавить ссылку "редактировать профиль" путь: user/[current-user:uid]/edit
Спасибо, Дмитрий, что поделились. Отличное решение
Работающий пример?
а с модулем Profile2 как связать?
Да, попробуйте сами, вся настройка займет меньше 10 минут.
enjoy
c Profile2 не пробовал, но наверно все отличия будут в настройках вьюс
subscribe
Обещалкин, шучу. Спасибо за подробную инструкцию.
а в каком виде коментарии то будет... такие же как ноде???
Да, это по сути простоя нода, в которой через вьюс выводятся данные об авторе, а рулес нужен чтобы автоматически создавать для пользователей страницу и перенаправлять с профиля на созданную ноду. все настройки комментариев в настройках типа материала "profile"
а тут . редирект я думал комменты в профиле самом. так не интересно.
Добрый день. Делаю все по вашему алгоритму, но почему-то На странице пользователя выводит "страница "/profile/" не найдена."
В чем может быть ошибка? Спасибо.
Страницы /profile/ не должно быть, должно быть например /profile/admin
прочитайте все комменты, наверно пропустили вот это:
Ошибка "Страница "/%20profile/admin" не найдена"
это при клике на логин? если ввести урл имя.сайта/profile/admin тоже ошибка? проверьте токены при перенаправлении.
Все получилось, спасибо вам огромное. Ошибка- пробел стоял перед profile/[account:name]
Добрый вечер. Делаю все по вашему алгоритму, но мне надо чтобы юзер-автор не мог комментировать свой профиль.
Как это реализовать? Спасибо.
Здесь есть кастомный модуль, типа стены пользователя,только без добавления картинок.
Обновляется аяксом
Развивался бы этот модулек было бы хорошо.
Вам уже ответили тут
Стандартные комментарии гибче, можно хотя бы поставить SKE... а так да, как вариант...
Вставил тот код, который там был написан в файл mymodule.module, сверху поставил тег <?php, создал файл mymodule.info и вписал информацию о модуле, включил модуль и появился белый экран. С чем это связано? Если это в коде что-то не так, то напишите, пожалуйста, правильный код. Заранее спасибо.
Вставил тот код, который там был написан в файл mymodule.module, создал файл mymodule.info и вписал информацию о модуле, включил модуль и появился белый экран. С чем это связано? Если это в коде что-то не так, то напишите, пожалуйста, правильный код. Заранее спасибо.
идеальное решение, пробовал провернуть подобное через панели, но не получилось. Хотелось сделать немного иначе а именно панелью вывести ноду в профиле, но не вышло.
лучше так
да, лучше ноду в профиле чем наоборот.еще бы как-то эти комменты сделать более красиво, например в колорбоксе или под катом.
если выводить ноды в профиль вьюсом, используя аргумент, то ненужны custom_username_validation, Pathauto, Token, комент делается через ссылку, главное потом сделать редирект после добавления коммента, например через рулез. почти идеально. Не использовал модуль user comment так как у меня 2 вида профиля и под каждый свой тип материала.