2014-12-18 4 views
0

У меня есть сайт CakePHP, используемый несколькими клиентами. Каждый клиент должен иметь возможность видеть несколько разных полей ввода в формах. Это связано с предпочтениями клиентов.CakePHP показать и скрыть поля формы динамически

Упрощенный пример: Клиенты должны иметь возможность искать книги из большого списка. Хотя некоторые клиенты предпочитают искать автор, другие могут захотеть найти дату публикации или название. Но каждый клиент должен видеть только одно поле ввода на своей странице поиска. Я не хочу беспокоить клиента слишком многими вариантами.

При создании различных тем и их переключении для каждого клиента это вариант, он быстро становится много работать, если мы говорим о многих представлениях и многих полях ввода. То же самое для размещения большого количества if/else в файлах просмотра.

Логика контроллера может использоваться для всех клиентов, так как пустое или не существующее поле ввода будет игнорироваться моим контроллером при поиске книг.

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

Дайте мне знать любые предложения по этому или тому, что является хорошим способом CakePHP для достижения этого.

ответ

0

Если я получаю это право использовать только элемент каждого клиента:

echo $this->element('client_forms/' . $clientIdentifier); 
+0

Тогда я должен был бы элемент для одного клиента за просмотр. – kaffeeguru

+0

Также может быть какая-то общая разметка между полями ввода, которые должны быть легко изменены (например, без редактирования 50 клиентских элементов). Я бы предпочел решение, которое работает без создания дополнительных файлов или элементов вида. Что-то, что можно настроить в таблице базы данных, например. – kaffeeguru

Смежные вопросы