画像移動機能で忙しいので、いくつかのコントローラー機能をオーバーライドしています。残念ながら、画像名にアイテム ID が必要だったので、save() でアイテム ID を取得できなかったので、フォーム save() を postSaveHook() に変更しました。しかし、今は別の問題に直面しています。フォームデータを新しく名前を変更した画像に設定できません。
コードは次のとおりです。
public function postSaveHook($model, $validData){
$item = $model->getItem();
$id = $item->get('id');
$path = JPath::clean(JPATH_SITE. DS ."images". DS ."menu_slider". DS );
$input=JFactory::getApplication()->input;
$input->get('jform', NULL, NULL);
$src_image = $this->moveOriginal($path,$id);
$imageTest = $this->findImages($src_image);
if(!empty($imageTest)){
foreach($imageTest as $images){
$this->createImageSlices($images,$src_image,$path);
}
}else{
echo 'all images are there';
}
/*this part no longer works*/
$data = JRequest::getVar( 'jform', null, 'post', 'array' );
$data['image'] = 'images'.DS.'menu_slider'.DS.'original'.DS.$src_image;
$input->post->set('jform',$data);
return parent::postSaveHook($model, $validData);
}
とにかく私はこれからデータを保存できますか?または、保存に戻った場合、ID を取得するにはどうすればよいですか?
どんな助けでも大歓迎です。