Expressionengine Сообщите пользователю, если url_title уже используется

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


person Pinkie    schedule 16.06.2011    source источник


Ответы (1)


Чтобы проверить {url_title} в форме SafeCracker на лету перед отправкой, вы можете написать процедуру Ajax, которая будет проверять и сравнивать значение <input /> со столбцом url_title в таблице базы данных exp_channel_titles.

Когда SafeCracker разрабатывался Барреттом Ньютоном, раньше был Документация для разработчиков по пользовательским типам полей и хукам расширения, но с тех пор, как EllisLab взяла на себя управление SafeCracker, я считаю, что они были удалены.

Однако, поскольку SafeCracker выполняет проверку формы на стороне сервера с помощью класса проверки формы CodeIgniter, вы должен иметь возможность расширить класс проверки в соответствии с вашими потребностями, создав функции обратного вызова. для проверки {url_title} при отправке формы вместо молчаливого разрешения ExpressionEngine добавлять цифру к данным поля.

person rjb    schedule 16.06.2011
comment
Спасибо, я посмотрю класс проверки - person Pinkie; 17.06.2011