Связь термина таксономии с профилем юзера

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

Аватар пользователя marat M marat M 12 марта 2018 в 9:56

Итак, зарегистр-й юзер пишет статью. Автором он хочет указать не себя, а, к примеру, двух посторонних граждан. Для таких случаев создано поле "Авторы", введенные фамилии становятся терминами словаря таксономии с целью делать по ним выборки (подобно тегам). Пока всё хорошо.
Внезапно! Один из граждан оказывается также зарегистр-м юзером, и начинается плохо. Ссылка с его ФИО в статье ведет на выборку по термину, а ведь у гражданина есть красивая страница-профиль-вьюс со всеми его статьями!
Как бы по-хорошему организовать проверку и замену одной ссылки на другую? Или есть какое-то друпальное решение?
Я додумался только до муторного перебора массива зарегист-х юзеров, сравнения с каждым введенным термином-автором и в случае совпадения замены ссылки вида "словарь/термин" на ссылку вида "юзеры/логин".

Лучший ответ

Аватар пользователя gun_dose gun_dose 12 марта 2018 в 12:55
1

Просто не выводите ссылку на юзера под статьёй. Выводите только ссылку на термин. Независимо от того, зареган юзер или нет. А уже когда юзер регистрируется как автор, то присваивать ему термин из того же словаря, как и статьям. И не показывать ссылку на юзера никому. Только на термин. При этом у самого автора в профиле будет ссылка на его термин, по которому он сможет перейти и увидеть свои статьи.

Комментарии

Аватар пользователя gun_dose gun_dose 12 марта 2018 в 10:17

Надо этот же термин цеплять и к юзерам. И в профиле юзера показывать выборку по его термину. Да и в целом не факт, что правильно простым смертным показывать страницу юзера.

Аватар пользователя marat M marat M 12 марта 2018 в 10:31

А как технически привязать термин (или словарь?) к юзерам? И даст ли эта операция нужный результат - по клику на ФИО в статье перейти на страницу юзера?
Уточню, что речь идет не о странице профиля, а о вьюсе с анонсами статей конкретного юзера, спец-но для читателей.

Аватар пользователя marat M marat M 12 марта 2018 в 11:02

То есть, проверить, является ли один из авторов статьи зарег-м юзером. Если нет - сделать ссылку на термин (получить выборку анонсов по термину Иван Иванов). Если да - сделать ссылку на юзера (получить выборку анонсов по профилю Петр Петров). Так я вас понял?

Аватар пользователя gun_dose gun_dose 12 марта 2018 в 12:04

Просто добавьте к юзеру поле "термин таксономии" со словарём авторов.

marat M wrote:

Уточню, что речь идет не о странице профиля, а о вьюсе с анонсами статей конкретного юзера, спец-но для читателей.


Заголовок термина - это ФИО. По клику на заголовок термина люди перейдут на страницу термина, где увидят все статьи. В чём проблема?

Аватар пользователя marat M marat M 12 марта 2018 в 12:27

Совершенно верно, "по клику на заголовок термина люди перейдут на страницу термина, где увидят все статьи" именно ТЕРМИНА, взятого из словаря. Это нужный вариант, когда термин - незарег-й автор (например, один из журналистских псевдонимов). Их будет много, поэтому я и сделал для них словарь "Авторы".
Но есть ситуация, когда один из авторов статьи - зарег-й юзер, у него ряд своих собственных статей, видимых на профильной его странице. И несколько материалов - в соавторстве. Так вот, кликаем на ФИО в его собственной статье - переходим по понятной ссылке "юзеры/логин" на его профиль. Статей в соавторстве не видно! А кликаем на ФИО в статье с двумя авторами - переходим по ссылке "словарь/термин" на совершенно другую выборку.
Возможно, я неразумно сделал изначально, организовав авторство так:
- пишешь под своим логином, ФИО подставляется само (автор ноды).
- надо указать ряд авторов, или пишешь под псевдонимом - в отдельном поле набираешь/выбираешь из словаря фамилии какие хошь. И вот в этом случае - спотык с линками.
Что подскажете?

Аватар пользователя gun_dose gun_dose 12 марта 2018 в 12:55
1

Просто не выводите ссылку на юзера под статьёй. Выводите только ссылку на термин. Независимо от того, зареган юзер или нет. А уже когда юзер регистрируется как автор, то присваивать ему термин из того же словаря, как и статьям. И не показывать ссылку на юзера никому. Только на термин. При этом у самого автора в профиле будет ссылка на его термин, по которому он сможет перейти и увидеть свои статьи.

Аватар пользователя marat M marat M 13 марта 2018 в 11:46

Итак, готово. Добавлен словарь "Авторы", в него добавлены термины вида "Иван Петров". В настройки профиля добавлено поле "Автор", это же поле добавлено в тип материала "Статья".
Вносим изменения в права доступа (Taxonomy) - право менять термины словаря нужным ролям.
Вносим маленькое изменение в шалон, в итоге под заголовком статьи показываем ссылку на термин.
Не удалось сохранить вот что - теперь при создании статьи автор должен ввести ручками имя-фамилию, она не подставится автоматом из его профиля. Ну и ладно. Зато можно ввести несколько фамилий, это и было основной задачей.
И еще, обращение к потомкам - люди, думайте о таком как можно раньше, чтобы не пришлось (как мне) редактировать десятка два уже размещенных статей, заполняя добавленное поле!