Вы здесь

Использование одного термина в ноде неограниченное количество раз

0

Здравствуйте!

Добавил к типу материала поле, в котором происходит выбор термина таксономии из словаря. По правилам системы один термин разрешено выбирать один раз. Как можно снять это ограничение?
Объясню. В моём примере каждый термин представляет из себя название города, соответственно в поле происходит перечисление городов: Москва - Тверь как точек путешествия.
Если необходимо вернутся в Москву, то получается: Москва - Тверь - Москва, но два раза термин Москва выбирать нельзя.
Возможно вы, уважаемые члены сообщества, сталкивались с проблемой и её можно решить.

Спасибо!

Версия Drupal: 
7.x
Категория: 
Taxonomy API
Вопрос задан 04.04.2016 - 18:26

Если уж вообще припечет и почему-то такое надо. Entityrefrenrece позволяет ссылаться на саму же сущность и одну и и ту же связывать несколько раз. Но такое лучше вьюсами не выводить, особенно если ссылается само на себя, падать сайт начнет.

Комментарий оставлен 05.04.2016 - 07:17

Ответы

0

Свою проблему решил иным способом.
Даже скажу более, использование таксономии в моём вопросе было неправильным.
Вместо таксономии использую Entity Reference, где Маршрут - нода, Город - нода и в Маршруте выбираю города без ограничений.

Ответ дан 06.04.2016 - 12:55
0

Не уверен, позволяет ли структура таблицы для поля хранить 2 одинаковых значения для одного поля типа term reference. Если позволяет, то напишите кастомный виджет для поля, который позволит выбирать одно и то же значение дважды.
Если же БД не позволит хранить одинаковые ИД термина в одном поле одной ноды, то можно создать кастомный модуль с кастомным типом поля, в нем же реализовать всю соответствующую логику.
Ну а если нужен только вывод в виде Москва - Несколько городов - Москва, то тут достаточно кастомного форматтера и еще одно поле Возврат в точку отправления типа Boolean. Тогда в форматтере выводите первый город в конце списка еще раз, если значение дополнительного поля True.
Но последний вариант так себе, нет возможности выбрать дважды промежуточные города, да и дополнительное поле тот еще костыль, я бы выбрал 2.

Ответ дан 04.04.2016 - 22:58

Спасибо за ответ.
Добавил запись в БД через запрос - сохранилось.
Буду рассматривать 1 первый вариант, так как 2 не в каждом случае необходим.

Комментарий оставлен 04.04.2016 - 23:19
0

Таксономия предназначена для дополнительной классификации объектов (в случае друпала - нод).
А так как два раза присваивать одному и тому же объекту один и тот же признак бессмысленно, то сделано описанное вами ограничение. И снимать это ограничение не надо. Надо не использовать таксономию для того, для чего она не предназначена.

Вам лучше сделать множественное поле - Точки маршрута. Тип поля Geofield или что-то ему подобное.
Тогда и ограничений не будет и маршрут можно на карте увидеть.

Ответ дан 04.04.2016 - 23:00

Спасибо за ответ.
Буду рассматривать Ваше предложение более детальней.

Комментарий оставлен 04.04.2016 - 23:22

Словарь таксономии обладает следующими полями: Имя, Описание, Долгота, Широта. Данные в поля загрузил через модуль taxonomy_csv.
Таким образом, поле с типом Geofield не подходит.
Я думаю, в таком случае сделать новый тип материала, в него загрузить данные и написать свой модуль с механизмом Autocomplete.

Комментарий оставлен 04.04.2016 - 23:27
0

По правилам системы один термин разрешено выбирать один раз.

В общем случае сущность может иметь несколько связей с одним и тем же термином, просто существующие в ядре виждеты не поддерживают это. Можете пропатчить autocomplete виджет для таксономии или использовать какой нибудь другой. Например, этот.

Ответ дан 05.04.2016 - 08:28
Аватар пользователя Chi
Chi
68