Testare il funzionamento del sistema di posta in Joomla 2.5-3
14 Novembre 2014Joomla: togliere l’id dell’articolo da un url
4 Marzo 2015L’elenco dei prodotti a cui si accede dal back-end di Prestashop consente di fare ricerche avanzate tra i prodotti in base ai campi presenti.
Nell’elenco non è però presente la colonna produttori; fortunatamente aggiungere una colonna a quell’elenco è possibile con qualche piccola modifica al codice, in particolare al file
controllers/admin/AdminProductsController.php
Per prima cosa bisogna aggiungere il nome del produttore alla query che genera l’elenco e questo lo si può fare aggiungendo la riga:
[sourcecode]
$this->_join .= ‘ LEFT JOIN `’._DB_PREFIX_.’manufacturer` AS manu ON (manu.`id_manufacturer` = a.`id_manufacturer`) ‘;
[/sourcecode]
subito dopo le righe
[sourcecode]
$id_shop = Shop::isFeatureActive() && Shop::getContext() == Shop::CONTEXT_SHOP? (int)$this->context->shop->id : ‘a.id_shop_default’;
$this->_join .= ‘ JOIN `’._DB_PREFIX_.’product_shop` sa ON (a.`id_product` = sa.`id_product` AND sa.id_shop = ‘.$id_shop.’)
LEFT JOIN `’._DB_PREFIX_.’category_lang` cl ON (‘.$alias.’.`id_category_default` = cl.`id_category` AND b.`id_lang` = cl.`id_lang` AND cl.id_shop = ‘.$id_shop.’)
LEFT JOIN `’._DB_PREFIX_.’shop` shop ON (shop.id_shop = ‘.$id_shop.’)
LEFT JOIN `’._DB_PREFIX_.’image_shop` image_shop ON (image_shop.`id_image` = i.`id_image` AND image_shop.`cover` = 1 AND image_shop.id_shop = ‘.$id_shop.’)
LEFT JOIN `’._DB_PREFIX_.’product_download` pd ON (pd.`id_product` = a.`id_product`)’;
[/sourcecode]
che si trovano intorno alle righe 177-183 in Prestashop 1.6.0.11.
Poi bisogna definire le caratteristiche del nuovo campo con le linee
[sourcecode]
$this->fields_list[‘manufacturer’] = array(
‘title’ => $this->l(‘Manufacturer name:’),
‘width’ => 230,
‘filter_key’ => ‘manu!name’,
);
[/sourcecode]
subito dopo le righe
[sourcecode]
$this->fields_list[‘image’] = array(
‘title’ => $this->l(‘Image’),
‘align’ => ‘center’,
‘image’ => ‘p’,
‘orderby’ => false,
‘filter’ => false,
‘search’ => false
);
$this->fields_list[‘name’] = array(
‘title’ => $this->l(‘Name’),
‘filter_key’ => ‘b!name’
);
[/sourcecode]
che si trovano intorno alle righe 200-220 in Prestashop 1.6.0.11.
Il risultato che si ottiene è il seguente
Da tener presente che questa modifica, come tutte le modifiche al core di Prestashop, potrebbe essere annullata da un eventuale aggiornamento del file in questione.
Le informazioni presenti in questo articolo sono state estratte da qui
3 Comments
Ho effettuato una modifica al primo codice, quello contenente le modifiche alla query. Questo perché il codice precedente toglieva dall’elenco dei prodotti i prodotti senza produttore, impedendo di fatto la modifica di questi prodotti
Buonasera, volevo chiederle se è molto complicato trasformare queste modifiche in un modulo?
Grazie mille
Francesco
Al momento non sono in grado di farlo, magari in futuro …