используя пользовательскую переменную в переменной класса модели в cakephp - PullRequest
0 голосов
/ 08 ноября 2010

Я хочу использовать переменную формы внутри переменной класса модели cakephp $ actionsAs. Ниже приведен пример кода.

public $actsAs = array('MeioUpload' => array('doc' => array('allowedMime' => array('application/x-compressed','application/x-zip-compressed','application/zip','multipart/x-zip'),'dir'=>'uploads'.DS.$this->data['User']['foldername'])));

В приведенном выше коде я использовал переменную формы ($this->data['User']['foldername']) в массиве $actsAs для передачи имени каталога поведению meioupload.

Какой может быть процесс записи для его реализации.

Ответы [ 3 ]

1 голос
/ 08 ноября 2010

Это определение неверно.

Вы можете установить эти данные из конструктора, хотя.

public function __construct($data) {
    $this->actsAs = array('MeioUpload' => array('doc' => array('allowedMime' => array('application/x-compressed', 'application/x-zip-compressed', 'application/zip', 'multipart/x-zip'), 'dir' => 'uploads' . DS . $data['User']['foldername'])));
}

Нечто подобное может помочь.

0 голосов
/ 26 декабря 2012

В этом примере я динамически меняю путь с контроллера.

КОД:

В контроллере (где вы указываете данные для изменения значения переменной $ activAs):

$custom_path=’/img/cakephp’;
Configure::write(‘path_var’,$custom_path);

В модели, где вы измените значение в конструкторе:

public function __construct($id = false, $table = null, $ds = null)
{
  $path = Configure::read(‘path_var’);
  // change actsAs’s different value according to your need
  $this->actsAs['Upload.Upload']['photo']['path'] = $path;
  parent::__construct($id, $table, $ds);
}

Пожалуйста, напишите утверждение Configure :: write перед созданием модели.

0 голосов
/ 13 ноября 2010

Я добавил parent::__construct(); И $this->Behaviors->init($this->alias,$this->actsAs);, и это хорошо работает.

Ниже приведен модифицированный код:

public function  __construct() {        
    parent::__construct();

    $this->actsAs = array('MeioUpload' => array('doc' => array('allowedMime' => array('application/x-compressed', 'application/x-zip-compressed', 'application/zip', 'multipart/x-zip'), 'allowedExt' => array('.zip'),'dir' => 'uploads' . DS . $_REQUEST['data']['User']['foldername'])));

    $this->Behaviors->init($this->alias,$this->actsAs);         
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...