Buenos días como están?. Soy nuevo en esto foro.
Me comunico con ustedes debido a que tengo un problema en prestashop al cual no le consigo solución, y para ver si alguien me puede dar un consejo sobre como poder solucionarlo.
El error se me produce cuando intento hacer override de la clase product para añadir un nuevo atributo personalizado, en el área de banck end me funciona correctamente, sin embargo en el front office la descripción del producto deja de salir.
Para realizar override lo estoy realizando de la siguiente manera para la clase de producto:
class Product extends ProductCore
{
/** @var float Additional cif cost product */
public $cif_cost;
public function __construct($id_product = null, $full = false, $id_lang = null, $id_shop = null, Context $context = null)
{
self::$definition['fields']['cif_cost'] = array('type' => self::TYPE_FLOAT, 'validate' => 'isUnsignedFloat');
parent::__construct($id_product, $id_lang, $id_shop);
}
}
Para el controlador:
class AdminProductsController extends AdminProductsControllerCore
{
public function __construct()
{
parent::__construct();
//Obtengo el objeto de contexto
$context = Context::getContext();
$profileAccess = $context->employee->id_profile;
if (isset($context->employee) && $profileAccess == 1)
{
//Add new field supplier reference in field list
$this->fields_list['cif_cost'] = array(
'title' => $this->l('cif cost'),
'align' => 'left',
);
}
}
}
Allí creo la clase Product que hereda de ProductCore, añado el nuevo campo personalizado que en este caso es cif_cost, y en el constructor, ese mismo campo lo añado a la lista de campos para que se pueda mostrar en la vista del backend. La clase del controlador si me esta funcionando bien.
Sin embargo la descripciones del producto deja de mostrarse en el front office, pero cuando borro esta clase "Product" de la carpeta override, me empieza a funcionar y si se me muestra la descripción del producto. El la clase order al hacer override me ocurre algo parecido y llevo casi una semana revisando por todos lados y aun no consigo la causa de ese problema.
Saludos y atento a sus comentarios.