Szed Posted March 25, 2016 Share Posted March 25, 2016 Hello ! I am trying to edit a module who use object model for his data. I just want to add an image field ! SQL : `monimage` varchar(128) DEFAULT NULL, Class ObjectModel : class ExtraContent extends ObjectModel { /** * @see ObjectModel::$definition */ public static $definition = array( 'table' => 'extra_content', 'primary' => 'id_extra_content', 'multilang' => true, 'fields' => array( 'position' => array('type' => 1 /*self::TYPE_INT*/), 'move_per' => array('type' => 1 /*self::TYPE_INT*/), 'active' => array('type' => 2 /*self::TYPE_BOOL*/), 'tinymce' => array('type' => 2 /*self::TYPE_BOOL*/), 'hooks' => array('type' => 3 /*self::TYPE_STRING*/, 'required' => true), 'pages' => array('type' => 3 /*self::TYPE_STRING*/), 'products' => array('type' => 3 /*self::TYPE_STRING*/), 'categories' => array('type' => 3 /*self::TYPE_STRING*/), 'cms' => array('type' => 3 /*self::TYPE_STRING*/), 'manufacturers' => array('type' => 3 /*self::TYPE_STRING*/), 'title' => array('type' => 3 /*self::TYPE_STRING*/, 'lang' => true, 'validate' => 'isGenericName', 'required' => true, 'size' => 128), 'classel' => array('type' => 3 /*self::TYPE_STRING*/, 'validate' => 'isGenericName', 'size' => 128), 'monimage' => array('type' => 3 /*self::TYPE_STRING*/, 'validate' => 'isFileName'), 'content' => array('type' => 6 /*self::TYPE_HTML*/, 'lang' => true, 'validate' => 'isString', 'size' => 3999999999999), ), ); public $id; public $id_extra_content; public $position; public $move_per; public $active; public $tinymce; public $hooks; public $pages; public $products; public $categories; public $cms; public $manufacturers; public $title; public $classel; public $monimage; public $content; protected $table = 'extra_content'; protected $tables = array('extra_content', 'extra_content_lang'); protected $identifier = 'id_extra_content'; protected $fieldsRequired = array(); protected $fieldsValidate = array('position' => 'isUnsignedInt', 'move_per' => 'isInt',); protected $fieldsRequiredLang = array('title'); protected $fieldsSizeLang = array('title' => 128, 'content' => 3999999999999); protected $fieldsValidateLang = array('title' => 'isGenericName', 'content' => 'isString'); [...] public function getFields() { parent::validateFields(); $fields = parent::getFields(); // $fields['id_shop'] = (int)($this->id_shop); $fields['active'] = (int)$this->active; $fields['tinymce'] = (int)$this->tinymce; $fields['position'] = (int)$this->position; $fields['move_per'] = (int)$this->move_per; $fields['classel'] = pSQL($this->classel); $fields['monimage'] = pSQL($this->monimage); $fields['hooks'] = pSQL(implode(',', $this->hooks)); $fields['pages'] = pSQL(implode(',', $this->pages)); $fields['products'] = pSQL(implode(',', $this->products)); $fields['categories'] = pSQL(implode(',', $this->categories)); $fields['cms'] = pSQL(implode(',', $this->cms)); $fields['manufacturers'] = pSQL(implode(',', $this->manufacturers)); return $fields; } [...] public function add($autodate = true, $null_values = false) { unset($null_values); $this->position = (int)Db::getInstance()->getValue('SELECT COUNT(*) FROM `'._DB_PREFIX_.$this->table.'`'); return parent::add($autodate, true); } public function update($null_values = false) { $result = parent::update($null_values); if ($result) { $this->cleanPositions(); } return $result; } public function delete() { $result = parent::delete(); if ($result) { $this->cleanPositions(); } return $result; } [...] } Admin Controller : [...] array( 'type' => 'file', 'label' => $this->l('Image'), 'name' => 'monimage' ), [...] return parent::renderForm(); } But... nothing. My image name isn't even saved in database. Any help ? I can upload all file code if needed. Thanks ! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now