Jump to content

Menu (Categorías) visible para todos, accesible registrados


Recommended Posts

Toda la informacion del Front Office se produce en los tpl del tema asi como tambien por algunos modulos, si estas en PS 1.6 en el tema por defecto los tpl del tema los encontraras en: tu-tienda.com/themes/default-bootstrap

El tpl encargado de mostrar las categorias es el archivo category.tpl ahi puedes añadir la condicion para verificar si el visitante esta logueado o no, podria ser de la siguiente manera:

{if isset($cookie->logged) && $cookie->logged}
    El visitante esta logueado...
{else}
    El visitante NO esta logueado...
{/if}
Link to comment
Share on other sites

Vale, he abierto el tpl, pero no sé dónde exactamente poner el codigo que me has dado... (estoy muy verde en esto) Yo quiero que sean algunas subcategorías las que se necesite estar logueado. Pero como no conozco bien como funcionan los códigos estos pues no sé dónde ponerlo.

Te pongo aqui el código de mi theme.

{include file="$tpl_dir./errors.tpl"}
{if isset($category)}
	{if $category->id AND $category->active}
	<h1 class="page-heading{if (isset($subcategories) && !$products) || (isset($subcategories) && $products) || !isset($subcategories) && $products} product-listing{/if}"><span class="cat-name">{$category->name|escape:'html':'UTF-8'}{if isset($categoryNameComplement)} {$categoryNameComplement|escape:'html':'UTF-8'}{/if}</span>{include file="$tpl_dir./category-count.tpl"}</h1>
    	{if $scenes || $category->description || $category->id_image}
			<div class="content_scene_cat">
            	 {if $scenes}
                 	<div class="content_scene">
                        <!-- Scenes -->
                        {include file="$tpl_dir./scenes.tpl" scenes=$scenes}
                        {if $category->description}
                            <div class="cat_desc rte">
                            {if Tools::strlen($category->description) > 350}
                                <div id="category_description_short">{$description_short}</div>
                                <div id="category_description_full" class="unvisible">{$category->description}</div>
                                <a href="{$link->getCategoryLink($category->id_category, $category.link_rewrite)|escape:'html':'UTF-8'}" class="lnk_more">{l s='More'}</a>
                            {else}
                                <div>{$category->description}</div>
                            {/if}
                            </div>
                        {/if}
                        </div>
                    {else}
                    <!-- Category image -->
					{if $category->id_image}
						<div class="align_center">
						<img src="{$link->getCatImageLink($category->link_rewrite, $category->id_image, 'category_default')|escape:'html':'UTF-8'}" alt="{$category->name|escape:'htmlall':'UTF-8'}" title="{$category->name|escape:'htmlall':'UTF-8'}" id="categoryImage" width="{$categorySize.width}" height="{$categorySize.height}" />
						</div>
					{/if}	
						
                        {if $category->description}
                            <div class="cat_desc">
                            {if Tools::strlen($category->description) > 350}
                                <div id="category_description_short" class="rte">{$description_short}</div>
                                <div id="category_description_full" class="unvisible rte">{$category->description}</div>
                                <a href="{$link->getCategoryLink($category->id_category, $category->link_rewrite)|escape:'html':'UTF-8'}" class="lnk_more">{l s='More'}</a>
                            {else}
                                <div class="rte">{$category->description}</div>
                            {/if}
                            </div>
                        {/if}
                  {/if}
            </div>
		{/if}
		
		{if isset($subcategories)}
		<!-- Subcategories -->
		<div id="subcategories">
			<p class="subcategory-heading">{l s='Subcategories'}</p>
			<ul class="clearfix">
			{foreach from=$subcategories item=subcategory}
				<li>
                	<div class="subcategory-image">
						<a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'html':'UTF-8'}" title="{$subcategory.name|escape:'html':'UTF-8'}" class="img">
						{if $subcategory.id_image}
							<img class="replace-2x" src="{$link->getCatImageLink($subcategory.link_rewrite, $subcategory.id_image, 'medium_default')|escape:'html':'UTF-8'}" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" />
						{else}
							<img class="replace-2x" src="{$img_cat_dir}default-medium_default.jpg" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" />
						{/if}
					</a>
                   	</div>
					<h5><a class="subcategory-name" href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'html':'UTF-8'}">{$subcategory.name|truncate:15:'...'|escape:'html':'UTF-8'|truncate:350}</a></h5>
					{if $subcategory.description}
						<div class="cat_desc">{$subcategory.description|truncate:25:'...'|truncate:350} </div>
					{/if}
				</li>
			{/foreach}
			</ul>
		</div>
		{/if}
		{if $products}
		<div class="center_bottom">
	<div class="center_top">
			<div class="content_sortPagiBar clearfix">
            	<div class="sortPagiBar clearfix">
            		{include file="./product-sort.tpl"}
                	{include file="./nbr-product-page.tpl"}
				</div>
			</div>
			</div>
			</div>
			
			<div class="center_bottom">
			<div class="center_top">
			<div class="product-block1">
					{include file="./product-list.tpl" products=$products}
			</div>
			</div>
			</div>
			
			<div class="center_bottom">
	<div class="center_top">
			<div class="content_sortPagiBar">
				<div class="bottom-pagination-content clearfix">
					{include file="./product-compare.tpl" paginationId='bottom'}
                    {include file="./pagination.tpl" paginationId='bottom'}
				</div>
			</div>
			</div>
			</div>
		{/if}
	{elseif $category->id}
		<p class="alert alert-warning">{l s='This category is currently unavailable.'}</p>
	{/if}
{/if}

Siento dar la lata, pero son exigencias del jefe... y uno está muy verde...

Link to comment
Share on other sites

Más sencillo y elegante que todo eso es que crees un grupo de clientes registrados. A todas las categorías les das permisos para ese grupo y para las que no quieras que se muestren les quitas los permisos para el grupo predeterminado. 

 

Con esto ya has conseguido que no se vean...

 

Para hacerlo todo automático, yo modificaría el mensaje que aparece solamente en las categorías(BO Traducciones) para que en lugar de que indique que no tiene permisos....diga que se tiene que registrar para verla.

 

Y ya para que no te toque hacerlo de forma manual, modificaría prestashop para que cuando se registra un cliente se vaya automáticamente al grupo que he creado nuevo. 

Link to comment
Share on other sites

Ya, lo había probado, pero no sé si lo hice bien. La cuestión es que yo quiero que todo el mundo, invitado, visitante y registrado vean esa categoría en el menú desplegable, pero que solo aquellos que se registren puedan acceder al contenido de esa categoría. Pero quiero que todos la vean...

 

Con lo de los grupos lo que pasaba es que la categoría solo se mostraba a ese grupo... y yo quiero que todos lo vean

Link to comment
Share on other sites

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