Quindi, finalmente ho capito qual era la query mancante. Prima della linea
$sql .= " LEFT JOIN " . DB_PREFIX . "product_description pd ON
(p.product_id = pd.product_id) LEFT JOIN " . DB_PREFIX .
"product_to_store p2s
Ho dovuto inserire $sql .= " LEFT JOIN " . DB_PREFIX . "manufacturer m ON (m.manufacturer_id = p.manufacturer_id) ";
E poi poco prima della linea
$sql .= " OR LCASE(p.model) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";
Ho dovuto mettere
$sql .= " OR LCASE(m.name) = '" . $this->db->escape(utf8_strtolower($data['filter_name'])) . "'";
Quindi ovviamente mi mancavano i dati del produttore. In questo modo ho estratto i dati dalla tabella del produttore e li ho elaborati correttamente. Spero che questo aiuti qualcuno, ciao!