pdalexis Posted April 22, 2016 Share Posted April 22, 2016 (edited) Muy buenas a todos. Como todos sabemos el "Módulo de navegación por facetas" te permite crear "Filtros de Plantillas". Dentro de estos "Filtros de Plantillas" puedes seleccionar que filtros se muestran en determinadas categorías. Por ejemplo podemos asignar dos "Características de Productos" para una categorías; "Sistema Operativo" y "Memorias RAM" solo para la categoría Portátiles. Hasta aquí bien. Lo que he intentado hacer sin éxito es lo siguiente: Cuando estamos editando un "Filtro de Plantilla" y estamos seleccionando las "Características de Productos" que queremos que se muestren en determinadas categorías, vemos esas "Características de Productos" estás listadas u ordenadas por ID de "Características de Productos". Lo que necesito es que esas "Características de Productos" se listen u ordenen por Posición. La imágenes ejemplifica un poco a lo que me refiero. ¿Qué consulta SQL dentro del modulo hay que modificar? He intentando encontrarla pero sin éxito. Muchas gracias. Edited July 4, 2016 by pdalexis (see edit history) Link to comment Share on other sites More sharing options...
pdalexis Posted July 4, 2016 Author Share Posted July 4, 2016 Remplazar la consulta siguiente del fichero module / blocklayered / blocklayered.php $features = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' SELECT fl.id_feature, fl.name, COUNT(DISTINCT(fv.id_feature_value)) n FROM '._DB_PREFIX_.'feature_lang fl LEFT JOIN '._DB_PREFIX_.'feature_value fv ON (fv.id_feature = fl.id_feature) WHERE (fv.custom IS NULL OR fv.custom = 0) AND fl.id_lang = '.(int)$cookie->id_lang.' GROUP BY fl.id_feature' ); por: $features = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' SELECT fl.id_feature, fl.name, COUNT(DISTINCT(fv.id_feature_value)) n FROM '._DB_PREFIX_.'feature_lang fl LEFT JOIN '._DB_PREFIX_.'feature_value fv ON (fv.id_feature = fl.id_feature) LEFT JOIN '._DB_PREFIX_.'feature fe ON (fe.id_feature = fl.id_feature) WHERE (fv.custom IS NULL OR fv.custom = 0) AND fl.id_lang = '.(int)$cookie->id_lang.' GROUP BY fl.id_feature ORDER BY fe.position ASC '); Link to comment Share on other sites More sharing options...
Recommended Posts