Jump to content

left join product_lang con controller adminproduct error [multitienda]


zcoot19@gmail.com

Recommended Posts

buenos dias tengo un problema, acabo de desactivar mi multitienda 

T1 ANTERIOR PRINCIPAL ID=1

T2 ID=2

T3 ACTUAL ID=3

 

 

quiero saber donde se genera esta linea que no lo encuentro por ningun lado, tenia la t1 como principal pero he cambiado a la t3 como principal todo funciona correctamente pero en el listado de productos en el BO, no me carga los titulos de los productos y es porque prestashop me asigna id_shop a 1 cuando en realidad la actual es id_shop = 3.

 

 

 

LEFT JOIN `ps_product_lang` b ON (b.`id_product` = a.`id_product` AND b.`id_lang` = 1 AND b.`id_shop` = 1)

 

alguna idea?

 

en las tablas he actualizado todos los productos apuntando a id_shop 3, categorias.....

en configuration, tambien shop_default a 3, de hecho en la captura me genera correctamente el id_shop a 3 pero el primer left join que se genera automáticamente lo genera a 1 y no entiendo por que.

 

 

alguien que me pueda ayudar gracias

Link to comment
Share on other sites

me respondo a mi mismo, ya lo encontré, tengo la version 1.6.0.9 

el fichero que gestiona ese LEFT JOIN ES 

 

/classes/controller/AdminController.php

 

adjunto la captura

 

if (!Shop::isFeatureActive())
$lang_join .= ' AND b.`id_shop` = 1'
elseif (Shop::getContext() == Shop::CONTEXT_SHOP)
$lang_join .= ' AND b.`id_shop` = '.(int)$id_lang_shop;
else
$lang_join .= ' AND b.`id_shop` = a.id_shop_default';
 
por defecto tenia 1, 
y lo he cambiado por la tienda actual, a mi me ha solucionado lo que necesitaba.
$lang_join .= ' AND b.`id_shop` = '.(int)$this->context->shop->id;
 
un asludo
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...