misterio Posted January 15, 2013 Share Posted January 15, 2013 Que tal Tengo instalado prestashop 1.5.3 , tengo muchas categorias y no quiero que se muestren algunas en el menu ed la izquierda (bloque de categorias), hay alguna forma que exlcluir categorias a eleccion para que no aparezcan en el menu de la izquierda Saludos Link to comment Share on other sites More sharing options...
franmille Posted January 15, 2013 Share Posted January 15, 2013 Accede a tu backoffice y ves a la primera pestaña del menú (catálogo) y pincha sobre la segunda opción (categorías). Ahí verás un listado de tus categorías, a la izquierda de cada tendrás ticks de color verde sobre una columna con el nombre mostrado, haz clic sobre cada clic para que oculte esa categoría. Un saludo Link to comment Share on other sites More sharing options...
Sergio Ruiz Posted January 15, 2013 Share Posted January 15, 2013 Accede a tu backoffice y ves a la primera pestaña del menú (catálogo) y pincha sobre la segunda opción (categorías). Ahí verás un listado de tus categorías, a la izquierda de cada tendrás ticks de color verde sobre una columna con el nombre mostrado, haz clic sobre cada clic para que oculte esa categoría. Un saludo Creo que no quiere desactivarlas, sino, excluirlas solo y unicamente del bloque de categorías del lateral. Link to comment Share on other sites More sharing options...
franmille Posted January 15, 2013 Share Posted January 15, 2013 Creo que no quiere desactivarlas, sino, excluirlas solo y unicamente del bloque de categorías del lateral. Si es así la cosa se le complica, creo que Prestashop no tiene esa opción. Imagino que debería modificar el código de blockcategories y excluirlas ahí del listado... Link to comment Share on other sites More sharing options...
misterio Posted January 15, 2013 Author Share Posted January 15, 2013 Claro...no quiero ponerlas como inactivas, quiero que no se muestren en el menu. Que archivos tendria que modificar ? Link to comment Share on other sites More sharing options...
franmille Posted January 16, 2013 Share Posted January 16, 2013 Que archivos tendria que modificar ? El menú que tu dices es un módulo llamado blockcategories, mi idea es que busques el código donde el módulo lista las categorías y pongas condiciones para que no liste las que tu quieras. Yo en las condiciones compararía por id. Un saludo Link to comment Share on other sites More sharing options...
Arganoid Posted January 16, 2013 Share Posted January 16, 2013 Buenas, En el archivo category-tree-branch.tpl del módulo blockcategories: <li {if isset($last) && $last == 'true'}class="last"{/if}> <a href="{$node.link}" {if isset($currentCategoryId) && $node.id == $currentCategoryId}class="selected"{/if} title="{$node.desc|escape:'htmlall':'UTF-8'}">{$node.name|escape:'htmlall':'UTF-8'}</a> {if $node.children|@count > 0} <ul> {foreach from=$node.children item=child name=categoryTreeBranch} {if $smarty.foreach.categoryTreeBranch.last} {include file="$branche_tpl_path" node=$child last='true'} {else} {include file="$branche_tpl_path" node=$child last='false'} {/if} {/foreach} </ul> {/if} </li> Excluir las categorías deseadas por ID: {if $node.id ne 1}{if $node.id ne 2}{/if}{/if} Link to comment Share on other sites More sharing options...
nadie Posted January 16, 2013 Share Posted January 16, 2013 Otra opción es editar el fichero: /modules/blockcategories/blockcategories.php Buscar esto: if (!$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' SELECT c.id_parent, c.id_category, cl.name, cl.description, cl.link_rewrite FROM `'._DB_PREFIX_.'category` c INNER JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category` AND cl.`id_lang` = '.$id_lang.Shop::addSqlRestrictionOnLang('cl').') INNER JOIN `'._DB_PREFIX_.'category_shop` cs ON (cs.`id_category` = c.`id_category` AND cs.`id_shop` = '.(int)$this->context->shop->id.') WHERE (c.`active` = 1 OR c.`id_category` = '.(int)Configuration::get('PS_HOME_CATEGORY').') AND c.`id_category` != '.(int)Configuration::get('PS_ROOT_CATEGORY').' '.((int)$maxdepth != 0 ? ' AND `level_depth` <= '.(int)$maxdepth : '').' AND c.id_category IN (SELECT id_category FROM `'._DB_PREFIX_.'category_group` WHERE `id_group` IN ('.pSQL($groups).')) ORDER BY `level_depth` ASC, '.(Configuration::get('BLOCK_CATEG_SORT') ? 'cl.`name`' : 'cs.`position`').' '.(Configuration::get('BLOCK_CATEG_SORT_WAY') ? 'DESC' : 'ASC'))) Y dejarlo asi: if (!$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' SELECT c.id_parent, c.id_category, cl.name, cl.description, cl.link_rewrite FROM `'._DB_PREFIX_.'category` c INNER JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category` AND cl.`id_lang` = '.$id_lang.Shop::addSqlRestrictionOnLang('cl').') INNER JOIN `'._DB_PREFIX_.'category_shop` cs ON (cs.`id_category` = c.`id_category` AND cs.`id_shop` = '.(int)$this->context->shop->id.') WHERE (c.`active` = 1 OR c.`id_category` = '.(int)Configuration::get('PS_HOME_CATEGORY').') AND c.`id_category` != '.(int)Configuration::get('PS_ROOT_CATEGORY').' '.((int)$maxdepth != 0 ? ' AND `level_depth` <= '.(int)$maxdepth : '').' AND c.id_category IN (SELECT id_category FROM `'._DB_PREFIX_.'category_group` WHERE `id_group` IN ('.pSQL($groups).')) AND c.id_category NOT IN (10,11) ORDER BY `level_depth` ASC, '.(Configuration::get('BLOCK_CATEG_SORT') ? 'cl.`name`' : 'cs.`position`').' '.(Configuration::get('BLOCK_CATEG_SORT_WAY') ? 'DESC' : 'ASC'))) Si nos damos cuenta, hemos agregado: AND c.id_category NOT IN (10,11) En este caso, hacemos referencia a la 10 y a la 11, en vuestro caso ya defines lo que quieras excluir. 1 Link to comment Share on other sites More sharing options...
Arganoid Posted January 16, 2013 Share Posted January 16, 2013 Otra opción es editar el fichero: /modules/blockcategories/blockcategories.php Buscar esto: if (!$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' SELECT c.id_parent, c.id_category, cl.name, cl.description, cl.link_rewrite FROM `'._DB_PREFIX_.'category` c INNER JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category` AND cl.`id_lang` = '.$id_lang.Shop::addSqlRestrictionOnLang('cl').') INNER JOIN `'._DB_PREFIX_.'category_shop` cs ON (cs.`id_category` = c.`id_category` AND cs.`id_shop` = '.(int)$this->context->shop->id.') WHERE (c.`active` = 1 OR c.`id_category` = '.(int)Configuration::get('PS_HOME_CATEGORY').') AND c.`id_category` != '.(int)Configuration::get('PS_ROOT_CATEGORY').' '.((int)$maxdepth != 0 ? ' AND `level_depth` <= '.(int)$maxdepth : '').' AND c.id_category IN (SELECT id_category FROM `'._DB_PREFIX_.'category_group` WHERE `id_group` IN ('.pSQL($groups).')) ORDER BY `level_depth` ASC, '.(Configuration::get('BLOCK_CATEG_SORT') ? 'cl.`name`' : 'cs.`position`').' '.(Configuration::get('BLOCK_CATEG_SORT_WAY') ? 'DESC' : 'ASC'))) Y dejarlo asi: if (!$result = Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS(' SELECT c.id_parent, c.id_category, cl.name, cl.description, cl.link_rewrite FROM `'._DB_PREFIX_.'category` c INNER JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category` AND cl.`id_lang` = '.$id_lang.Shop::addSqlRestrictionOnLang('cl').') INNER JOIN `'._DB_PREFIX_.'category_shop` cs ON (cs.`id_category` = c.`id_category` AND cs.`id_shop` = '.(int)$this->context->shop->id.') WHERE (c.`active` = 1 OR c.`id_category` = '.(int)Configuration::get('PS_HOME_CATEGORY').') AND c.`id_category` != '.(int)Configuration::get('PS_ROOT_CATEGORY').' '.((int)$maxdepth != 0 ? ' AND `level_depth` <= '.(int)$maxdepth : '').' AND c.id_category IN (SELECT id_category FROM `'._DB_PREFIX_.'category_group` WHERE `id_group` IN ('.pSQL($groups).')) AND c.id_category NOT IN (10,11) ORDER BY `level_depth` ASC, '.(Configuration::get('BLOCK_CATEG_SORT') ? 'cl.`name`' : 'cs.`position`').' '.(Configuration::get('BLOCK_CATEG_SORT_WAY') ? 'DESC' : 'ASC'))) Si nos damos cuenta, hemos agregado: AND c.id_category NOT IN (10,11) En este caso, hacemos referencia a la 10 y a la 11, en vuestro caso ya defines lo que quieras excluir. Buena opción! No me lo había planteado así, aún es mucho mejor en mi opinión... Link to comment Share on other sites More sharing options...
nadie Posted January 16, 2013 Share Posted January 16, 2013 Buena opción! No me lo había planteado así, aún es mucho mejor en mi opinión... Bueno es una opción, simplemente diferente (ni mejor, ni peor) este mundo oscuro y tenebroso.... Oscuridad ! Un Saludo Link to comment Share on other sites More sharing options...
Arganoid Posted January 16, 2013 Share Posted January 16, 2013 Bueno es una opción, simplemente diferente (ni mejor, ni peor) este mundo oscuro y tenebroso.... Oscuridad ! Un Saludo Me refería que és mejor porque puedes excluir las categorias sin poner mucho código y parece más simple. A veces demasiado oscuro y tenebroso... Link to comment Share on other sites More sharing options...
misterio Posted January 16, 2013 Author Share Posted January 16, 2013 Gracias a todos ¡¡¡¡¡ lo pruebo y les digo como me fue Link to comment Share on other sites More sharing options...
nadie Posted January 16, 2013 Share Posted January 16, 2013 Estimado misterio. ¿Como ha ido todo? Link to comment Share on other sites More sharing options...
grecacer Posted January 22, 2013 Share Posted January 22, 2013 yo también estoy intentado excluir una categoría pero no lo consigo, he usado la aportación de modificar el archivo blockcategories pero no me funciona. Si el id de la categoría es 1192 como tendría que implementar los if usando la aportación de arganoid para el archivo category-tree-branch.tpl Gracias de antemano por la ayuda. Link to comment Share on other sites More sharing options...
nadie Posted January 22, 2013 Share Posted January 22, 2013 Recordad que teneis, que forzar compilación si modificais el fichero tpl y en este caso tambien desactivar la cache de smarty y vaciar la carpeta /cache/smarty/cache/ (menos el index.php) (luego la vuelves activar), para que se apliquen los cambios, al modificar el modulo de categorías. Si tocais el php del modulo del bloque categorías, debeis desactivar la cache de smarty y vaciar la carpeta /cache/smarty/cache/ (menos el index.php) (luego la vuelves activar), para que se apliquen los cambios. El bloque categorias es un poco especial. Link to comment Share on other sites More sharing options...
grecacer Posted January 22, 2013 Share Posted January 22, 2013 perfecto nadie, vaciada la caché y funcionando perfectamente con la modificación de blockcategories.php. Muchisimas Gracias. Link to comment Share on other sites More sharing options...
nadie Posted January 22, 2013 Share Posted January 22, 2013 perfecto nadie, vaciada la caché y funcionando perfectamente con la modificación de blockcategories.php. Muchisimas Gracias. Un placer ayudarte y servirte! Un saludo y recuerda que estaremos en el foro, para guiarte por este mundo oscuro y tenebroso. Link to comment Share on other sites More sharing options...
komete4 Posted March 2, 2013 Share Posted March 2, 2013 Buenas noches, yo he probado el codigo para el blockcategories.php y me desaparece el modulo entero, alguien sabe porque puede ser? Link to comment Share on other sites More sharing options...
bertgit Posted April 12, 2013 Share Posted April 12, 2013 (edited) Buenas tardes, y si lo que quieres es excluir categorias pero en vez de dictarle las id de las categorias, solo quieres que se muestren las 5 o 6 primeras y que las siguientes las oculte? aver si puedo poneros un ejemplo PERROS ----> categoria mas alta visible york say---->subcategoria visible doverman ---->subcategoria visible pitbull---->subcategoria visible caniche---->subcategoria visible pastor aleman ---->subcategoria oculta podenco---->subcategoria visible oculta mastin---->subcategoria visible oculta mas categorias...----> al pinchar este enlace a la categoria mas alta,que cree en el archivo tpl me llevaria a todas las visibles y ocultas GATOS----> categoria mas alta visible york say---->subcategoria visible doverman ---->subcategoria visible pitbull---->subcategoria visible caniche---->subcategoria visible pastor aleman ---->subcategoria oculta podenco---->subcategoria visible oculta mastin---->subcategoria visible oculta mas categorias...----> al pinchar este enlace a la categoria mas alta,que cree en el archivo tpl me llevaria a todas las visibles y ocultas Y quedaria asi modificado: PERROS ----> categoria mas alta visible york say---->subcategoria visible doverman ---->subcategoria visible pitbull---->subcategoria visible caniche---->subcategoria visible mas categorias...----> al pinchar este enlace a la categoria mas alta,que cree en el archivo tpl me llevaria a todas las visibles y ocultas GATOS----> categoria mas alta visible york say---->subcategoria visible doverman ---->subcategoria visible pitbull---->subcategoria visible caniche---->subcategoria visible mas categorias...----> al pinchar este enlace a la categoria mas alta,que cree en el archivo tpl me llevaria a todas las visibles y ocultas Dentro de perros y gatos estarian sus razas aunke aqui no concuerdan lo hice a modo de ejemplo y al pinchar en el enlace si que me mostraria todos las subcategorias que andan en perros o gatos en la pagina de la categoria mas alta que es perros o gatos. perdonen mi explicacion pesima y mis faltas. gracias a todos y ojala pueda ayudar a alguien con el mismo problema Edited April 12, 2013 by bertgit (see edit history) Link to comment Share on other sites More sharing options...
frankalex Posted June 5, 2013 Share Posted June 5, 2013 Buenas tardes, y si lo que quieres es excluir categorias pero en vez de dictarle las id de las categorias, solo quieres que se muestren las 5 o 6 primeras y que las siguientes las oculte? aver si puedo poneros un ejemplo PERROS ----> categoria mas alta visible york say---->subcategoria visible doverman ---->subcategoria visible pitbull---->subcategoria visible caniche---->subcategoria visible pastor aleman ---->subcategoria oculta podenco---->subcategoria visible oculta mastin---->subcategoria visible oculta mas categorias...----> al pinchar este enlace a la categoria mas alta,que cree en el archivo tpl me llevaria a todas las visibles y ocultas GATOS----> categoria mas alta visible york say---->subcategoria visible doverman ---->subcategoria visible pitbull---->subcategoria visible caniche---->subcategoria visible pastor aleman ---->subcategoria oculta podenco---->subcategoria visible oculta mastin---->subcategoria visible oculta mas categorias...----> al pinchar este enlace a la categoria mas alta,que cree en el archivo tpl me llevaria a todas las visibles y ocultas Y quedaria asi modificado: PERROS ----> categoria mas alta visible york say---->subcategoria visible doverman ---->subcategoria visible pitbull---->subcategoria visible caniche---->subcategoria visible mas categorias...----> al pinchar este enlace a la categoria mas alta,que cree en el archivo tpl me llevaria a todas las visibles y ocultas GATOS----> categoria mas alta visible york say---->subcategoria visible doverman ---->subcategoria visible pitbull---->subcategoria visible caniche---->subcategoria visible mas categorias...----> al pinchar este enlace a la categoria mas alta,que cree en el archivo tpl me llevaria a todas las visibles y ocultas Dentro de perros y gatos estarian sus razas aunke aqui no concuerdan lo hice a modo de ejemplo y al pinchar en el enlace si que me mostraria todos las subcategorias que andan en perros o gatos en la pagina de la categoria mas alta que es perros o gatos. perdonen mi explicacion pesima y mis faltas. gracias a todos y ojala pueda ayudar a alguien con el mismo problema ¡Hola bertgit! Aquí tienes una solución http://programwar.wo...lockcategories/ A mi no me funcionó en PrestaShop™ 1.5.4.1 pero puede que a ti si te funcione. ¡Saludos! Link to comment Share on other sites More sharing options...
nadie Posted June 5, 2013 Share Posted June 5, 2013 ¡Hola bertgit! Aquí tienes una solución http://programwar.wo...lockcategories/ A mi no me funcionó en PrestaShop™ 1.5.4.1 pero puede que a ti si te funcione. ¡Saludos! Gracias por compartir. Link to comment Share on other sites More sharing options...
nadie Posted June 5, 2013 Share Posted June 5, 2013 Os recuerdo a todos, que cuando modificáis el bloque de categorias, no solo basta con forzar compilacion, a que limpiar la cache de smarty, podeis hacerlo de forma sencilla con este modulo gratuito: http://www.prestasho...s-compile-ps15/ Link to comment Share on other sites More sharing options...
Recommended Posts