Jump to content

Recommended Posts

Bonjour à toutes et à tous,

 

je vous expose ma requête :

J'ai donc une boutique en 1.6.0.9 en place et je pense avoir un "problème"... Lorsque je clique sur la catégorie principale du menu vertical, j'ai une page vide avec le message : Il n'y a aucun produit...

J'aimerais donc afficher les sous-catégorie avec leurs miniatures quoi, il me semble que c'est censé être comme ça à la base?

 

En gros, j'ai un  menu par exemple : APPLE

Sous catégories : iPhone / iPad etc etc

 

Lorsque l'on clique sur APPLE, logiquement je devrais tomber sur une page APPLE avec les sous catégories qui s'affichent et moi j'ai un message : il n'y a aucun produit.

 

Donc avez vous une idée de comment faire pour afficher les sous catégories s'il vous plaîs?

 

Merci à vous :)

Edited by kurtspirit (see edit history)

Share this post


Link to post
Share on other sites

Bonjour,

je up le sujet s'il vous plaîs, toujours pas de solution de mon côté... Avez vous une idée?

 

Merci beaucoup par avance!

Share this post


Link to post
Share on other sites

J'avance petit à petit... J'ai pu donc localiser le soucis mais je n'arrive pas à le corriger.

Le fichier categorie.tpl est mal construit je pense, si je le remplace par le fichier du thème par défaut, ça fonctionne...

Voici le contenu actuel :

{if isset($category)}
    {if $category->id AND $category->active}
        <h1>{strip}
            {$category->name|escape:'htmlall':'UTF-8'}
            <span>
                {if $category->id == 1 OR $nb_products == 0}{l s='There are no products.'}
                {else}
                    {if $nb_products == 1}{l s='There is'}{else}{l s='There are'}{/if} 
                    {$nb_products} 
                    {if $nb_products == 1}{l s='product.'}{else}{l s='products.'}{/if}
                {/if}
            </span>{/strip}
        </h1>

Je pense que c'est là mais si quelqu'un peut m'aider sur ce coup, ça serait vraiment sympa!

Merci à vous.

Share this post


Link to post
Share on other sites

Bonjour;

 

Verifie s'il ya un traitement de sous-catégories dans le même fichier (category.tpl)

 

{if isset($subcategories)}

    ....

{/if}

  • Like 1

Share this post


Link to post
Share on other sites

Bonjour;

 

Verifie s'il ya un traitement de sous-catégories dans le même fichier (category.tpl)

 

{if isset($subcategories)}

    ....

{/if}

 

Merci pour ta réponse.

J'ai modifié le fichier pour ajouter le traitement des sous catégories. Voici donc le fichier maintenant :

{*
* 2007-2013 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
*  @author PrestaShop SA <contact@prestashop.com>
*  @copyright  2007-2013 PrestaShop SA
*  @license    http://opensource.org/licenses/afl-3.0.php  Academic Free License (AFL 3.0)
*  International Registered Trademark & Property of PrestaShop SA
*}

{include file="$tpl_dir./breadcrumb.tpl"}
{include file="$tpl_dir./errors.tpl"}

{if isset($category)}
    {if $category->id AND $category->active}
        <h1>{strip}
            {$category->name|escape:'htmlall':'UTF-8'}
            <span>
                {if $category->id == 1 OR $nb_products == 0}{l s='There are no products.'}
                {else}
                    {if $nb_products == 1}{l s='There is'}{else}{l s='There are'}{/if} 
                    {$nb_products} 
                    {if $nb_products == 1}{l s='product.'}{else}{l s='products.'}{/if}
                {/if}
            </span>{/strip}
        </h1>
        
        <div class="resumecat category-product-count">
            {include file="$tpl_dir./category-count.tpl"}
        </div>
        
        {if $scenes || $category->description || $category->id_image}
        <div class="content_scene_cat">
            {if $scenes}
                <!-- Scenes -->
                {include file="$tpl_dir./scenes.tpl" scenes=$scenes}
            {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'}" 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}

            {if $category->description}
                <div class="cat_desc">
                {if strlen($category->description) > 120}
                    <div id="category_description_short">{$description_short}</div>
                    <div id="category_description_full" style="display:none;">{$category->description}</div>
                    <a href="#" onclick="$('#category_description_short').hide(); $('#category_description_full').show(); $(this).hide(); return false;" class="lnk_more">{l s='More'}</a>
                {else}
                    <div>{$category->description}</div>
                {/if}
                </div>
            {/if}
        </div>
        {/if}
        {if isset($subcategories)}
        <!-- Subcategories -->
        <div id="subcategories">
            <h3>{l s='Subcategories'}</h3>
            <ul class="inline_list">
            {foreach from=$subcategories item=subcategory}
                <li class="clearfix">
                    <a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}" title="{$subcategory.name|escape:'htmlall':'UTF-8'}" class="img">
                        {if $subcategory.id_image}
                            <img src="{$link->getCatImageLink($subcategory.link_rewrite, $subcategory.id_image, 'medium_default')|escape:'html'}" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" />
                        {else}
                            <img src="{$img_cat_dir}default-medium_default.jpg" alt="" width="{$mediumSize.width}" height="{$mediumSize.height}" />
                        {/if}
                    </a>
                    <a href="{$link->getCategoryLink($subcategory.id_category, $subcategory.link_rewrite)|escape:'htmlall':'UTF-8'}" class="cat_name">{$subcategory.name|escape:'htmlall':'UTF-8'}</a>
                    {if $subcategory.description}
                        <p class="cat_desc">{$subcategory.description}</p>
                    {/if}
                </li>
            {/foreach}
            </ul>
            <br class="clear"/>
        </div>
        {/if}

        {if $products}
                {include file="$tpl_dir./product-compare.tpl"}
                {include file="$tpl_dir./product-sort.tpl"}
                <div id="products_viewpoint" class="list">
                {include file="$tpl_dir./product-list.tpl" products=$products}
                </div>
                {include file="$tpl_dir./product-compare.tpl"}
                {include file="$tpl_dir./pagination.tpl"}
            {elseif !isset($subcategories)}
                <p class="warning">{l s='There are no products in this category.'}</p>
            {/if}
    {elseif $category->id}
        <p class="warning">{l s='This category is currently unavailable.'}</p>
    {/if}
{/if}

Donc maintenant j'ai bien les sous-catégories affichées mais j'ai aussi un message : il n'y a aucun produits." qui ne veut pas partir .

 

L'affichage aussi des sous-catégories est pas bonne aussi par rapport au format du template.

 

Voici par exemple l'affichage des sous catégories :

http://www.repairmobilecenter.com/shop/index.php?id_category=13&controller=category

Il faudrait que j'arrive à faire des vignettes plus larges et cote à cote, pas en ligne comme actuellement.

On voit aussi le message tout en haut.

 

Une idée par hasard pour les ajustements?

 

Merci beaucoup par avance.

 

  • Like 1

Share this post


Link to post
Share on other sites

Pour le message de "pas de produits" remplace la ligne suivante

{if $category->id == 1 OR $nb_products == 0  }{l s='There are no products.'}

par:

{if $category->id == 1 OR $nb_products == 0 OR !isset($subcategories) }{l s='There are no products.'}

  • Like 1

Share this post


Link to post
Share on other sites

Pour mettre les sous-cat en grille pas en liste, deux modifications à faire

 

1 - dans le fichier category.tpl, supprime la class clearfix des li :

       <ul class="inline_list">
            {foreach from=$subcategories item=subcategory}

            <li class="clearfix">

            .....

2 - dans category.css ligne 58

category.css ligne 58
.inline_list li {
    float: left;
    padding: 10px 0px;
    margin-right: 2%;
    width: 48%; /*48% pour 2 colonnes,  ou 30% pour 3 colonnes*/
}

Edited by S-HAMMANI (see edit history)
  • Like 1

Share this post


Link to post
Share on other sites

Merci beaucoup pour l'aide ! Alors, j'ai bien les sous catégorie placée correctement, il me faut maintenant agrandir les vignettes mais ça c'est autre chose.

Par contre pour les messages 'il n'y a pas de produits.", rien à faire... J'ai appliqué ta modification et toujours les deux messages comme tu peux le voir ici par exemple : http://www.repairmobilecenter.com/shop/index.php?id_category=13&controller=category

 

Merci beaucoup à toi ;)

Share this post


Link to post
Share on other sites

Tu essay ça:

<span>
{if (isset($category) && $category->id == 1) OR (isset($nb_products) && $nb_products == 0 && !isset($subcategories) )}
    {l s='There are no products in this category.'}
{elseif isset($subcategories)}
         {literal} <span> Un texte à ton choix ou rien ... <span> {/literal}
{else}
    {if isset($nb_products) && $nb_products == 1}
        {l s='There is 1 product.'}
    {elseif isset($nb_products)}
        {l s='There are %d products.' sprintf=$nb_products}
    {/if}
{/if}
</span>
  • Like 1

Share this post


Link to post
Share on other sites

Que dire à part : MERCI !!!!

 

Vraiment un grand merci à toi pour toute ton aide précieuse qui m'a évité de m'arracher le peu de cheveux qu'il me reste ;)

Vraiment au top!

 

Bonne soirée à toi :)

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More