Jump to content

Override AdminPorductsController


Javier Delgado

Recommended Posts

Hola a todos. Estoy intentado realizar un override para añadir en el listado de productos una nueva columna. Ya me aparece y es totalmente funcional, pero tengo un parde dudas.

El override conciste en modificar una parte para cuando se actualice no se pierda esa modificacion y en colocar ese añadido en la carpeta de override con el mismo nombre del archivo overrizado..

El archivo que estoy modificando es el AdminPorductsController, lo copio en la carpeta de override, añado la nueva columna,pero si no lo copio entero, conjuntamente con la parte modificada, solamente me aparecen la columna nueva. Todas las demas como id, referencia, se pierden.

Estoy haciendo mal el override?

Mi conocimientos se basan en acierto/error. JEJE. Como puedo solo añadir la parte modificada y no todo el archivo completo.?

Link to comment
Share on other sites

Hola a todos. Estoy intentado realizar un override para añadir en el listado de productos una nueva columna. Ya me aparece y es totalmente funcional, pero tengo un parde dudas.

El override conciste en modificar una parte para cuando se actualice no se pierda esa modificacion y en colocar ese añadido en la carpeta de override con el mismo nombre del archivo overrizado..

El archivo que estoy modificando es el AdminPorductsController, lo copio en la carpeta de override, añado la nueva columna,pero si no lo copio entero, conjuntamente con la parte modificada, solamente me aparecen la columna nueva. Todas las demas como id, referencia, se pierden.

Estoy haciendo mal el override?

Mi conocimientos se basan en acierto/error. JEJE. Como puedo solo añadir la parte modificada y no todo el archivo completo.?

 

Puedes copiar tu función?

 

Tienes que sobreescribir el contenido completo de la funcion que hayas modificado

http://doc.prestashop.com/display/PS16/Overriding+default+behaviors

 

No es necesario, se puede ejecutar parent::functionOverrideada().

Link to comment
Share on other sites

Puedes copiar tu función?

 

 

No es necesario, se puede ejecutar parent::functionOverrideada().

 

Asi es, pensaba que se creaba un metodo nuevo

 

Seria algo asi, dependiendo del campo que vayas a añadir

<?php
class AdminProductsController extends AdminProductsControllerCore
{
	
	public function __construct()
	{
		
parent::__construct();
		
//Añadir nueva tabla
$this->_join .= ' LEFT JOIN '._DB_PREFIX_.'product_supplier ps ON ( a.id_product = ps.id_product AND ps.id_product_attribute = 0 )';
		
//Nuevo campo a añadir
$this->fields_list['product_supplier_reference'] = array(
'title' => $this->l('Supplier Reference'),
'align' => 'left',
'filter_key' => 'ps!product_supplier_reference',
		
);
}
}
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...