Есть несколько способов сделать это, но я думаю, что лучше всего использовать именованные параметры .
По сути, в вашем views / Customers / view.ctp вы добавляете customer_id к контактам / добавить ссылку:
$html->link(__('Add contact', true), array('controller' => 'contacts', 'action' => 'add', 'customer_id' => $customer['Customer']['id']));
и в ваших views / contacts / add.ctp вы проверяете указанный параметр и используете скрытое поле:
if (isset($this->params['named']['customer_id'])) {
echo $form->input('customer_id', array('type' => 'hidden', 'value' => $this->params['named']['customer_id']));
} else {
echo $form->input('customer_id');
}
или выбор с уже выбранным клиентом:
echo $form->input('customer_id', array('selected' => @$this->params['named']['customer_id']));