Cakephp 2,1 - AjaxHelper
Я использую последнюю (2.1.1) версию cakePhp. Я пытался реализовать ajaxHlper ( http://www.cakephp.4uk.pl/). но застрял между ними.
<head>
<script type="text/javascript">
$(document).ready(function(){
$("#EmployeeAddForm").validate();
});
</script>
</head>
<div class="employees form">
<?php echo $this->Form->create('Employee');?>
<fieldset>
<legend><?php echo __('Add Employee'); ?></legend>
<?php
echo $this->Form->input('first_name');
echo $this->Form->input('last_name');
//echo $this->Form->input('age');
echo $this->Form->input('age', array('class' => 'required number'));
echo $this->Form->input('sex');
echo $this->Form->input('Adress.first_line');
echo $this->Form->input('Adress.second_line');
echo $this->Form->input('Adress.city');
echo $this->Form->input('Adress.state');
echo $ajax->autoComplete('Department.name', '/ajax/autoComplete')
?>
</fieldset>
<?php echo $this->Form->end(__('Submit'));?>
</div>
<div class="actions">
<h3><?php echo __('Actions'); ?></h3>
<ul>
<li><?php echo $this->Html->link(__('List Employees'), array('action' => 'index'));?></li>
<li><?php echo $this->Html->link(__('List Adresses'), array('controller' => 'adresses', 'action' => 'index')); ?> </li>
<li><?php echo $this->Html->link(__('New Adress'), array('controller' => 'adresses', 'action' => 'add')); ?> </li>
</ul>
Это мой файл add.ctp, где Department.name я пытаюсь выполнить автозаполнение с помощью ajaxHelper.
В моем EmployeesController.php у меня есть функция автозаполнения, которая похожа на
function autoComplete() {
echo $this->params['url']['q'] . "---";
$this->loadModel("Department");
$this->set('departments', $this->Department->find('all', array(
'conditions' => array(
'Department.name LIKE ' => '%'.$this->params['url']['q'].'%'
),
'limit' => $this->params['url']['limit'],
'fields' => array('name')
)));
$this->layout = 'ajax';
}
Это не работает. В чем может быть ошибка, которую я делаю? это дает мне следующую ошибку:
Примечание (8): неопределенная переменная: ajax [APP\View\Employees\add.ctp, строка 84] Неустранимая ошибка: вызов функции-члена autoComplete() для необъекта в C:\xampplite\htdocs\cakephp\app\View\Employees\add.ctp в строке 84
1 ответ
Предполагая, что вы добавили помощника к $helpers
массив вашего контроллера, вы должны получить доступ к помощнику с $this->Ajax->autoComplete()
вместо $ajax->autoComplete()
,