GMKUnlimited Posted February 13, 2014 Share Posted February 13, 2014 Buenas tardes, Estoy creando una pagina des de 0, donde visualizare el contenido de una categoria en concreto. He creado el fichero .php: require(dirname(__FILE__).'/config/config.inc.php'); Tools::displayFileAsDeprecated(); Tools::redirect( 'index.php?controller=archives'. ($_REQUEST ? '&'.http_build_query($_REQUEST, '', '&') : ''), __PS_BASE_URI__, null, 'HTTP/1.1 301 Moved Permanently' ); El fichero controlador: <?php class ArchivesControllerCore extends FrontController { public $php_self = 'archives'; public function setMedia() { parent::setMedia(); //$this->addCSS(_THEME_CSS_DIR_.'nuevapagina.css'); //borra esta linea si no agregarás estilos personalizados //$this->addJS(_THEME_JS_DIR_.'tools/nuevapagina.js'); //borra esta linea si no agregarás javascripts } public function initContent() { parent::initContent(); global $smarty, $cookie, $link; $id_shop=(int)$params['cart']->id_shop; $id_customer = (int)$params['cookie']->id_customer; $id_group = $id_customer ? Customer::getDefaultGroupId($id_customer) : _PS_DEFAULT_CUSTOMER_GROUP_; $id_group = 1; $id_lang = (int)$params['cookie']->id_lang; echo '<pre>'.print_r($id_shop,true).'</pre>'; $result = Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS(' SELECT c.*, cl.* FROM `'._DB_PREFIX_.'category` c LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON (c.`id_category` = cl.`id_category` AND `id_lang` = '.$id_lang.') LEFT JOIN `'._DB_PREFIX_.'category_group` cg ON (cg.`id_category` = c.`id_category`) WHERE level_depth > 1 And level_depth < 3 AND c.`active` = 1 AND cg.`id_group` = '.$id_group.' AND cl.`id_shop` = '.$id_shop.' AND c.`id_category` = 127 ORDER BY `level_depth` ASC, c.`position` ASC'); $category = new Category(1); $nb = intval(Configuration::get('HOME_categories_NBR')); global $link; $this->context->smarty->assign(array( 'categories' => $result, Category::getRootCategories(intval($params['cookie']->id_lang), true), 'link' => $link)); print_r($this); $smarty->assign('categories', $category); $this->context->smarty->assign(array( 'category' => $category, 'lang' => Language::getIsoById(intval($params['cookie']->id_lang)), )); //return $this->display(_PS_THEME_DIR_, 'archives.tpl'); $this->setTemplate(_PS_THEME_DIR_.'archives.tpl'); //self::$smarty->display(_PS_THEME_DIR_.'archives.tpl'); } } I el fichero TPL: {if isset($categories) AND $categories} <!-- Subcategories --> <div id="subcategories"> <!--<h3>{l s='Subcategories'}</h3>--> <ul class="inline_list"> {foreach from=$categories item=category} <li {if $smarty.foreach.products.last}last_item{/if}> <a href="{$link->getCategoryLink($category.id_category, $category.link_rewrite)|escape:'htmlall':'UTF-8'}" title="{$category.name|escape:'htmlall':'UTF-8'}"> {if $category.name} <img src="{$link->getCatImageLink($category.link_rewrite, $category.id_category, 'product-list')}" alt="{$category.name|escape:'htmlall':'UTF-8'}" /> {else} <img src="{$img_cat_dir}medium.jpg" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" /> {/if} </a> <a href="{$link->getCategoryLink($category.id_category, $category.link_rewrite)|escape:'htmlall':'UTF-8'}"> <div class="category_background"></div> <div class="category_hover"> <span id="categoryName">{$category.name|escape:'htmlall':'UTF-8'}</span> </div> </a> </li> {/foreach} </ul> <br class="clear"/> </div> {/if} Que quiero conseguir? - Debo conseguir se visualicen las hijas de la categoria 127 en pantalla. Y creo que estoy haciendo mal el controller. - Una vez consiga printar las categorias hijas de la 127, deberia crear un menu personalizado solo de las categorias hijas de la 127, ahora salen todas. Alguien me puede ayudar con la primera parte? del controlador, es que seguro que esta todo mal. Me pueden ayudar. Gracias. Adjunto idea de como deberia quedar (La pagina nueva): **1: Menu solo deberia verse las hijas de categoria 127 -> actualmente todas**2: Cuadricula donde se deberia ver la pagina de categorias hijas de la 127. Link to comment Share on other sites More sharing options...
Recommended Posts