2013-07-08 2 views
0

У меня есть странные проблемы с CakePHP CakePHP выдает ошибку на следующей строке:CakePHP - Class ** не может быть найден

View/Designer/cards: 
$this->JsBridge->set('Card.DISPLAY_TYPE_FOLDER_GREETING', Card::DISPLAY_TYPE_FOLDER_GREETING); 
Class 'card' can not be found. 

Однако в DesignersController я загружаю модель карты через де следующую строку:

public $uses = array('Designer', 'Card'); 

Если добавить следующую строку в верхней части DesignersController

App::uses('Card', 'Model'); 

загрузки страницы, но следующая строка не работает:

$this->paginate = $this->Card->getPagination($filter); 

Я поставил код для модели Card.php здесь: http://pastebin.com/U7zxKHCx

Можете ли вы сказать мне, что происходит не так? Спасибо!

+0

Вы претендуете 'App :: uses' в контроллере ошибка возникает из вида, видимого. Это нет. – Nunser

ответ

0
  1. Вы включили CardModel в контроллер?

    $uses = array('....','Card',....);

  2. свойства контроллера, классы, присоединенные и т.д. непосредственно не доступны в представлении. Вам нужно будет установить эту константу Card::DISPLAY_TYPE_FOLDER_GREETING переменной:

    $this->set('variableName1', Card::DISPLAY_TYPE_FOLDER_GREETING);

  3. затем использовать его в представлении:

    $this->JsBridge->set('Card.DISPLAY_TYPE_FOLDER_GREETING', $variableName1);

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