2013-04-03 2 views
3

Я добавил два новых пользовательских поля в таблицу CMS_USER.каскадирование выпадающего списка для пользовательского поля в kentico cms

Оба типа являются целыми, а элемент управления формой - раскрывающийся список.

В настоящее время оба раскрывающегося списка заполняются SQL-запросом в разделе «Редактирование параметров управления».

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

второй раскрывающийся список заполнит первое раскрывающееся меню выбранного индекса.

Как это сделать.

Путь как логин администратора ->CMSSiteManager ->Администрация ->Пользователи ->редактировать пользователь ->Пользовательские поля.

Первый раскрывающийся НазваниеКомпании и второй является CompanyAddress

enter image description here

Любая помощь приветствуется.

ответ

3

Единственное, что приходит мне на ум (если вы не хотите создавать пользовательские элементы управления) - это то, что макросы разрешаются в SQL-запросах. Поэтому должно быть возможно использовать следующие

SELECT AddressID, AddressName FROM TableWithAdresses WHERE AddressCompanyID = {% EditedObject.GetValue("CompanyID") %} 

как запрос для второго раскрывающегося списка. Используйте встроенную отладку SQL (CMS Site Manager -> Administration -> System -> Debug -> SQL debug), чтобы увидеть, что происходит.

+0

Спасибо, скалистый, он отлично работает для загрузки страницы в первый раз. но когда я меняю индекс первого выпадающего списка, чем принимает старое выбранное значение первого раскрывающегося списка, поэтому он не обновляет второй раскрывающийся список. –

+0

Возможно, это связано с тем, что значение в EditedObject не изменяется. Вам, вероятно, придется жить с ним или сделать свой собственный контроль формы. У меня больше нет идей. :/ – rocky

+0

Спасибо, скалистый, я пытаюсь создать пользовательскую форму. –