Jump to content

Crear pagina personalizada de categorias


GMKUnlimited

Recommended Posts

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.

post-523518-0-53232900-1392311039_thumb.jpg

Link to comment
Share on other sites

  • nadie locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...