mampionona Posted February 6, 2017 Share Posted February 6, 2017 (edited) Hi everyone, Why is prestashop don't save my modification into database? I've done an override on the Category.php (prestashop 1.7) class file, here is my code: /override/classes/Category.php class Category extends CategoryCore { /** * afficher/masquer les produits */ public $show_products = 1; public $andrana; public function __construct($idCategory = null, $idLang = null, $idShop = null) { $definition = self::$definition; $definition['fields']['show_products'] = array('type' => self::TYPE_BOOL, 'validate' => 'isBool', 'required' => true); $definition['fields']['andrana'] = array( 'type' => self::TYPE_HTML, 'lang' => true, 'validate' => 'isCleanHtml' ); parent::__construct($idCategory, $idLang, $idShop); } } /override\controllers\admin\AdminCategoriesController.php class AdminCategoriesController extends AdminCategoriesControllerCore { public function renderForm() { $this->fields_form_override = array( array( 'type' => 'switch', 'label' => $this->trans('Afficher les produits', array(), 'Admin.Global'), 'name' => 'show_products', 'required' => false, 'is_bool' => true, 'values' => array( array( 'id' => 'active_on', 'value' => 1, 'label' => $this->trans('Enabled', array(), 'Admin.Global') ), array( 'id' => 'active_off', 'value' => 0, 'label' => $this->trans('Disabled', array(), 'Admin.Global') ) ) ), array( 'type' => 'textarea', 'label' => $this->trans('Andrana', array(), 'Admin.Global'), 'name' => 'andrana', 'autoload_rte' => true, 'lang' => true, 'hint' => $this->trans('Invalid characters:', array(), 'Admin.Notifications.Info').' <>;=#{}' ), ); return parent::renderForm(); } } PS: I've added "show_products" on ps_category table and "andrana" in ps_category_lang table Please help me Edited February 6, 2017 by mampionona (see edit history) Link to comment Share on other sites More sharing options...
allanextreme Posted November 13, 2017 Share Posted November 13, 2017 If anyone need helps, on render function at the end you are calling return parent::renderForm(); , you must call return AdminController::renderForm(); 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