Как сделать пункт меню ведущий на посты пользователя.

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

Аватар пользователя VasyOK VasyOK 23 марта 2018 в 1:41

Есть вьюха со ссылкой типа user/%/posts выводит материалы пользователя. Как сделать пункт меню, ведущий на эту ссылку? Во вьюхе можно только вкладку на странице пользователя сделать.

Чтобы не вводил в Гугл - меня перекидывает на модуль me. Он делает ссылку на "свои" посты. А мне нужно на посты каждого юзера.

Я конечно могу "своими" методами тот блок со ссылкой сделать, но интересно знать а возможно ли через пункт меню Друпала?

Комментарии

Аватар пользователя bumble bumble 23 марта 2018 в 2:29

VasyOK wrote:

А мне нужно на посты каждого юзера.

Нужен список пунктов всех юзеров сайта?
Или должна быть все же вкладка на странице юзера со списком его постов?

Аватар пользователя VasyOK VasyOK 23 марта 2018 в 3:04

"Нужен список пунктов всех юзеров сайта?"
Не знаю. Не понял если честно.

"Или должна быть все же вкладка на странице юзера со списком его постов?"
Если вкладка - я знаю как - через views. Т.е. если она будет ничего страшного, но мне пункт меню нужен больше а не вкладка.

Аватар пользователя gun_dose gun_dose 23 марта 2018 в 6:48

Делаешь ссылку типа /myposts, без контекстных фильтров, но добавляешь простой фильтр по автору, равному текущему пользователю.

Аватар пользователя gun_dose gun_dose 23 марта 2018 в 13:05

Вернее как 10000 вкладок? Или всё же одну? А если одну, то кто тот юзер? Ибо если он избранный, то просто добавляется ссылка в меню с одним захардкоженным айдишником. Если нужен текущий юзер, то выше я уже писал, как это делается.

Аватар пользователя VasyOK VasyOK 23 марта 2018 в 11:16

maximenu - дажже не знаю подойдет ли.
Menu token - я то поставил путь user/[user:uid]/posts в пункт меню, а как Друпал будет определять на какого именно пользователя ставить ссылку?

Аватар пользователя VasyOK VasyOK 23 марта 2018 в 13:49

gun_dose wrote:

Вернее как 10000 вкладок? Или всё же одну? А если одну, то кто тот юзер? Ибо если он избранный, то просто добавляется ссылка в меню с одним захардкоженным айдишником. Если нужен текущий юзер, то выше я уже писал, как это делается.

Я имею ввиду вывести эту вкладку в виде пункта меню:
1

Аватар пользователя VasyOK VasyOK 23 марта 2018 в 14:55

ууууууу не для моего ума такое. мне проще или вьюхой ссылкку вывести или вкладки на странице профиля темизировать

Аватар пользователя Andruxa Andruxa 24 марта 2018 в 2:58

VasyOK wrote:

поставил путь user/[user:uid]/posts в пункт меню, а как Друпал будет определять на какого именно пользователя ставить ссылку?

user:uid - ID пользователя, для которого отображается страница

VasyOK wrote:

Я имею ввиду вывести эту вкладку в виде пункта меню:

можно через Menu token,
можно сделать например вьюсом роут /myposts который добавить в меню, а id юзера брать из аргумента вьюса по умолчанию, в этом случае можно будет закешировать блок с меню, т.к. ссылка для всех юзеров будет одинаковой

Аватар пользователя VasyOK VasyOK 24 марта 2018 в 11:20

"можно через Menu token" - как я реально не понял, хоть модуль смотрел?
"можно сделать например вьюсом роут /myposts который добавить в меню" - мне не принципиально, чтобы ссылка была одинаковой для всех. Собственно у меня она для всех разная по ИД. Роут это что?

Аватар пользователя wombatbuddy wombatbuddy 24 марта 2018 в 19:55

Воспользуйтесь контекстным фильтром.
под "роутом" понимается поле 'Path' страницы вьюхи
Смотрите на картинки (лучше один раз увидеть... Smile

Настройки вьюхи

Настройки контекстного фильтра

Настройки котекстного фильтра

Аватар пользователя VasyOK VasyOK 24 марта 2018 в 21:13

Как вьюху сделать я понял. А как вы предлагаете поместить путь на эту вьюху в меню пользователя? Т.е. например я хочу посмотреть посты одного пользователя, потом другого.

Пока что я могу подобные ссылки создать без системы меню Друпала.

Аватар пользователя wombatbuddy wombatbuddy 25 марта 2018 в 6:46

Можно сделать следующим образом:

1 Создаём вью с дисплеем Page, которая выводит список пользователей в виде ссылок на вьюхи с их постами.
Для этого добавляем два поля, одно скрытое с 'User: Uid' пользователя, а второе с 'User: Name'.
В настройках второго поля на вкладке 'REWRITE RESULTS' выставляем опцию 'Output this field as a link'
и в поле 'Link path' вписываем адрес: user/[uid]/posts
(так как предыдущее поле получает Uid пользователя, то можно использовать токен [uid] который подставит айди пользователя в ссылку).

2 Добавляем ссылку на вью в меню, настроив свойство 'Menu' на страничке 'Page details'.
Если нужно чтобы меню было выпадающим, то можно использовать модуль maximenu, который посоветовал Алексей (в этом случае нужно будет создать блок для вью).

Настройки 1

Настройки 2

Настройки 3