В моем приложении CakePHP 1.3 мне нужен элемент управления формы:
- Состоит из нескольких элементов формы и
- Можно использовать в нескольких формах.Я хотел бы избежать дублирования кода, если смогу.
Итак, я создаю элемент, который выводит мой элемент управления формы, и столкнулся с препятствиями, когда дело доходит до заполнения элемента управления значениями надействие редактирования.Теперь, когда вы используете типы полей по умолчанию, CakePHP делает это за вас, но мне нужно получить информацию из $this->data
и сделать это самостоятельно в этом случае.
Проблема в том, что $this->data
выглядит так:
array(
'Model' => array( /* fields from Model */ ),
'AnotherModel' => array( /* fields from AnotherModel */ )
);
Внутри моего элемента многократного использования я не знаю, к какой модели принадлежит мое поле.Однако я сообщил эту информацию Помощнику по формам, когда позвонил $form->create()
(в представлении, которое включает в себя элемент, который я пишу), так что, похоже, он сможет мне это сказать.И действительно, документация API для класса FormHelper говорит о свойстве defaultModel
, но, к сожалению, это свойство пустое.
Теперь простое решение - передать модель в видепараметр.Я могу это сделать.Но я бы хотел избежать раздувания параметров там, где это возможно, и кажется, что это должно быть возможно, но я не могу понять, как это сделать.Есть ли способ?
Спасибо!