Jump to content

Rozszerzenie klasy product.php


Recommended Posts

Cześć,

Tworzę moduł, który dodaje nowe pola do produktu. Wartości z tych pól zapisuje w tabeli ps_product. Później dodałem \modules\my_module\override\classes\Product.php. W pliku znajdowały się (przykładowe dane):

 

class Product extends ProductCore
  {
    /** @var int custom_id */
    public $custom_id;
   
    public function __construct($id_product = null, $full = false, $id_lang = null, $id_shop = null, Context $context = null)
    {
      self::$definition['fields']['custom_id'] = array('type' => self::TYPE_INT, 'validate' => 'isUnsignedId');
      parent::__construct($id_product, $id_lang, $id_shop);
    }
  }

 

Niestety podczas aktualizacji produktu leciał błąd ponieważ custom_id nie znajduje się w ps_product_shop. Co jest akurat prawdą ponieważ funkcja install() nie uwzględniała tabeli ps_product_shop. Teraz pytanie. Czy muszę korzystać z override ? Jeżeli tak to jak zrobić zapisywanie pól ? Czy zostawić tak jak jest czyli zapisuje wartości w tabeli ps_product ? W obecnej sytuacji nie korzystam z multishop. Z tego co widzę funkcja update dla produktu aktualizuje ps_product_shop oraz ps_product.

Pozdrawiam

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...