Динамическое добавление терминов таксономии

7 апреля 2014 в 0:56

Доброго времени суток!

Вот какая проблема у меня:

При регистрации нового пользователя на сайте необходимо указать организацию. Поле "организация" сделано ссылкой на соответствующий словарь таксономии и отображается в виде поля с автозавершением ввода. Сделано это для того, чтобы словарь постоянно пополнялся новыми организациями и если регистрируются несколько человек из одной организации, то всем последующим достаточно ввести первые буквы и выбрать в открывшемся списке свою организацию.
И вот с вводом новой организации выявились такие сюрпризы: если вводить данные в формате, например, ООО "Рога и копыта", то все, что идет после ООО теряется, создается новый термин "ООО". Гугл решению проблемы не помог.

Как это можно победить?

Комментарии

Всё намного прозаичней, кавычки используются для для ввода нескольких значений, достаточно поставить в настройках поля - количество значений - 1.

7 апреля 2014 в 8:37

"Ziklon" wrote:

Можно попробовать проверить уникальность https://drupal.org/project/taxonomy_dupecheck Или запретить имя с ООО

Проверка уникальности мало что даст, т.к. проблему кавычек это все равно не решает. Запретить ООО также нет возможности, т.к. помимо ООО существует еще куча форм собственности.

"<a href="mailto:sas@drupal.org">sas@drupal.org</a>" wrote:
Всё намного прозаичней, кавычки используются для для ввода нескольких значений, достаточно поставить в настройках поля - количество значений - 1.

У меня в настройках стоит 1. Если в поле появляется запятая, тогда это вызывает ошибку - что данное поле может содержать только одно значение. А наличие кавычек просто теряет все что начинается с кавычек...

7 апреля 2014 в 11:03

"alexmihel" wrote:
Проверка уникальности мало что даст, т.к. проблему кавычек это все равно не решает. Запретить ООО также нет возможности, т.к. помимо ООО существует еще куча форм собственности.

я бы эти аббревиатуры вынес в обычное поле. а в таксономию шло бы только название

7 апреля 2014 в 11:09

q2_faith wrote:
"alexmihel" wrote:
Проверка уникальности мало что даст, т.к. проблему кавычек это все равно не решает. Запретить ООО также нет возможности, т.к. помимо ООО существует еще куча форм собственности.

я бы эти аббревиатуры вынес в обычное поле. а в таксономию шло бы только название

Такое решение теоретически возможно, однако есть 2 причины его не использовать:
1. слишком много этих самых форм, народ регистрируется с такими аббревиатурами как ГБУК, ГМЗ, ГМПЗ, МАОУ СОШ, МАУ, МБУК, МАЭ и так далее, все даже не решаюсь перечислить
2. хочется понять как данную проблему победить, найти универсальное решение, т.к. подобный вопрос может встать в каком-нибудь другом проекте.

7 апреля 2014 в 11:31

"alexmihel" wrote:
2. хочется понять как данную проблему победить, найти универсальное решение, т.к. подобный вопрос может встать в каком-нибудь другом проекте.

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

7 апреля 2014 в 11:54

q2_faith wrote:
в идеале на базе поля термина таксономии создать свое, с валидацией и прочей фигней.

Видимо так и должно быть. Просто хотелось понять, есть ли какие-то готовые решения, ведь наверняка не у меня одного возникла такая проблема.

7 апреля 2014 в 16:49

Такая же проблема. Есть поле с автозаполнением из словаря таксономии.
Если добавляется термин в котором содержатся кавычки ("), то текст содержащийся в кавычках исчезает.

Пробовал патчить изменял вручную как здесь https://drupal.org/node/1000736

Результата нет.

Конструкция работает если:

ООО "Рога и КОпыта" изменить на "ООО ""Рога и КОпыта"""

Делал замену в поле input при помощи jQuery. Но работает кривовато.

Есть ли толковое решение этой проблемы???

23 мая 2014 в 10:46