Frank_C Posted November 4, 2021 Share Posted November 4, 2021 (edited) Hola a todos, Quisiera que al entrar a mi web (o pinchar el banner) se mostrara una categoría en específico. No logro dar con la opción. Gracias Edited November 5, 2021 by Frank_C (see edit history) Link to comment Share on other sites More sharing options...
LabelGrup Networks Posted November 4, 2021 Share Posted November 4, 2021 (edited) Buenas, Te presento dos posibles maneras de poder realizar lo que pides. Seguramente hayan mas pero estas son las más rápidas: A) Sencilla pero NO es la opción mas recomendable: 1- Abre tu fichero Controllers/front/IndexController.php 2- Modifica la función initContent como se mmuestra a continuación: public function initContent() { parent::initContent(); Tools::redirect('index.php?id_category=10&controller=category'); // 10 es la id de categoria de ejemplo, en tu caso reemplazalo por la que desees $this->context->smarty->assign('HOOK_HOME', Hook::exec('displayHome')); $this->setTemplate(_PS_THEME_DIR_.'index.tpl'); } B ) Opción Recomendada: 1- Copia el fichero Controllers/front/IndexController.php en override/Controllers/front 2- Abre el archivo copiado y edita el código: class IndexController extends IndexControllerCore { public function initContent() { Tools::redirect('index.php?id_category=10&controller=category'); // 10 es la id de categoria de ejemplo, en tu caso reemplazalo por la que desees } } 3- Guarda el archivo, elimina la caché y verifica su funcionamiento. Espero que te sirva de ayuda. Saludos, Edited November 4, 2021 by LabelGrup Networks (see edit history) Link to comment Share on other sites More sharing options...
Frank_C Posted November 5, 2021 Author Share Posted November 5, 2021 Muchas gracias por la respuesta, creo que se me olvidó mencionar algo. Y es que quiero crear en la main page una lista de productos de una categoría a elegir pero que no sea directamente la página de la categoría. Ha sido fallo mio por no explicarme bien pero maravillosa respuesta. Muchas gracias Link to comment Share on other sites More sharing options...
LabelGrup Networks Posted November 5, 2021 Share Posted November 5, 2021 Buenas, Usas algún tema personalizado o usas el base de PrestaShop? Link to comment Share on other sites More sharing options...
LabelGrup Networks Posted November 5, 2021 Share Posted November 5, 2021 (edited) Si estás usando el tema Classic de Prestashop simplemente tendrías que ir al fichero modules\ps_featuredproducts\ps_featuredproducts.php y modificar la siguiente función: protected function getProducts() { $category = new Category((int) Configuration::get('HOME_FEATURED_CAT')); //Aquí está la clave $searchProvider = new CategoryProductSearchProvider( $this->context->getTranslator(), $category ); $context = new ProductSearchContext($this->context); $query = new ProductSearchQuery(); $nProducts = Configuration::get('HOME_FEATURED_NBR'); if ($nProducts < 0) { $nProducts = 12; } $query ->setResultsPerPage($nProducts) ->setPage(1) ; if (Configuration::get('HOME_FEATURED_RANDOMIZE')) { $query->setSortOrder(SortOrder::random()); } else { $query->setSortOrder(new SortOrder('product', 'position', 'asc')); } $result = $searchProvider->runQuery( $context, $query ); $assembler = new ProductAssembler($this->context); $presenterFactory = new ProductPresenterFactory($this->context); $presentationSettings = $presenterFactory->getPresentationSettings(); $presenter = $presenterFactory->getPresenter(); $products_for_template = []; foreach ($result->getProducts() as $rawProduct) { $products_for_template[] = $presenter->present( $presentationSettings, $assembler->assembleProduct($rawProduct), $this->context->language ); } return $products_for_template; } Tendrías que modificar la variable $category por la categoría que quieres mostrar, por ejemplo: $category = new Category(6); Y con eso, en vez de mostrarte los productos destacados te mostraría los productos de la categoría que tu selecciones. Pero como te digo, eso en caso de usar el tema Classic. Espero que sea esto lo que estuvieras buscando. Saludos, Edited November 5, 2021 by LabelGrup Networks (see edit history) Link to comment Share on other sites More sharing options...
Frank_C Posted November 5, 2021 Author Share Posted November 5, 2021 Genial, lamentablemente uso el tema Alysum, e imagino que tendré que preguntar a su suporte pero ha sido muy interesante saber cómo modificarlo en el tema Classic. Muchísimas gracias, lo modifico a [SOLUCIONADO] Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now