Jump to content

[Résolu] Afficher le mode liste par défaut et non pas grille


Recommended Posts

Bonjour à tous, je pose ma question ici car les développeurs n'ont pas su répondre. Peut être que les intégrateurs/graphistes sont plus forts ! :)

 

Dans ma boutique, par défaut les produits s'affichent en mode "grille" dans une catégorie. Il y a bien le petit bouton noir à côté pour passer en "liste".

 

Par contre je voudrais que par défaut ce soit l'inverse : que mes produits soient affichés en liste et que le clic ramène en grille.

 

Je voulais savoir quel fichier je dois toucher (sur le back office mais je pense plutôt du côté du FTP) pour régler l'affichage par défaut.

 

J'ai un peu regarder product-sort.tpl, mais ça ne semble pas être là (je peux juste modifier l'ordre des boutons, pas l'affichage par défaut). Peut être dans product-list.tpl ... si oui que faire ?

 

Merci de votre aide

 

prestanoob

Edited by Prestanoob2012 (see edit history)
Link to comment
Share on other sites

Merci Steph, en fait l'autre prestanaute avait dit que ça n'avait pas marché. De plus mon template était fichu un peu différemment quant aux classes css. Par contre tu m'as mis sur la voie en regardant le product-list.tpl .

 

edit quelques jours plus tards : en fait ce que j'ai écrit ci dessous n'a pas marché

 

En fait il y a 2 DIV. Sur pour product_list_grid et l'autre product_list_grid.... et bien il suffit d'inverser les positions des 2. Mettre la div list en premier et la div grid en 2e ^^

Edited by Prestanoob2012 (see edit history)
Link to comment
Share on other sites

En fait ma solution ne marche pas ! EN vidant le cache / cookies, je m'aperçois que le problème reste entier. Je voulais essayer ta solution mais mon code est différent :

 

{if isset($products)}
<div id="product_list_grid" class="bordercolor box visible">
<ul>
{foreach from=$products item=product name=products}
<li class="ajax_block_product bordercolor">
 <a href="{$product.link|escape:'htmlall':'UTF-8'}" class="product_img_link" title="{$product.name|escape:'htmlall':'UTF-8'}"><img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home')}" alt="{$product.legend|escape:'htmlall':'UTF-8'}" {if isset($homeSize)} width="{$homeSize.width}" height="{$homeSize.height}"{/if} /></a>
 <h3><a class="product_link" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.name|escape:'htmlall':'UTF-8'}">{$product.name|truncate:20:'...'|escape:'htmlall':'UTF-8'}</a></h3> 
 {if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}
  {if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}<span class="price">{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span>{/if}
 {/if}
</li>
{/foreach}
</ul>
</div>
<div id="product_list_list" class="box">
<ul class="bordercolor">
{foreach from=$products item=product name=products}
<li class="ajax_block_product bordercolor">
 <a href="{$product.link|escape:'htmlall':'UTF-8'}" class="product_img_link" title="{$product.name|escape:'htmlall':'UTF-8'}"><img src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home')}" alt="{$product.legend|escape:'htmlall':'UTF-8'}" {if isset($homeSize)} width="{$homeSize.width}" height="{$homeSize.height}"{/if} /></a>
 <div class="center_block">
  <div class="product_flags">
   {if isset($product.new) && $product.new == 1}<span class="new">{l s='New'}</span>{/if}
   {if isset($product.available_for_order) && $product.available_for_order && !isset($restricted_country_mode)}{if ($product.allow_oosp || $product.quantity > 0)}<span class="availability bordercolor">{l s='Available'}{elseif (isset($product.quantity_all_versions) && $product.quantity_all_versions > 0)}<span class="bordercolor">{l s='Product available with different options'}</span>{else}<span class="bordercolor">{l s='Out of stock'}</span>{/if}</span>{/if}
   {if isset($product.online_only) && $product.online_only}<span class="online_only bordercolor">{l s='Online only!'}</span>{/if}
  </div>
  <h3><a class="product_link" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.name|escape:'htmlall':'UTF-8'}">{$product.name|truncate:35:'...'|escape:'htmlall':'UTF-8'}</a></h3>
  <p class="product_desc"><a class="product_descr" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{$product.description_short|truncate:360:'...'|strip_tags:'UTF-8'|escape:'htmlall':'UTF-8'}">{$product.description_short|truncate:400:'...'|strip_tags:'UTF-8'}</a></p>
 </div>					
 <div class="right_block">
  {if isset($product.on_sale) && $product.on_sale && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}<span class="on_sale">{l s='On sale!'}</span>
  {elseif isset($product.reduction) && $product.reduction && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}<span class="discount">{l s='Reduced price!'}</span>
  {/if}
  {if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}
   {if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}<span class="price">{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}</span>{/if}
  {/if}
  {if ($product.id_product_attribute == 0 || (isset($add_prod_display) && ($add_prod_display == 1))) && $product.available_for_order && !isset($restricted_country_mode) && $product.minimal_quantity <= 1 && $product.customizable != 2 && !$PS_CATALOG_MODE}
   {if ($product.allow_oosp || $product.quantity > 0)}
 <a class="exclusive ajax_add_to_cart_button" rel="ajax_id_product_{$product.id_product|intval}" href="{$link->getPageLink('cart.php')}?add&id_product={$product.id_product|intval}{if isset($static_token)}&token={$static_token}{/if}" title="{l s='Add to cart'}">{l s='Add to cart'}</a>
   {else}
 <span class="exclusive">{l s='Add to cart'}</span>
   {/if}
  {/if}
  <a class="button" href="{$product.link|escape:'htmlall':'UTF-8'}" title="{l s='View'}">{l s='View'}</a>
  {if isset($comparator_max_item) && $comparator_max_item}
   <p class="compare checkbox"><input type="checkbox" class="comparator" id="comparator_item_{$product.id_product}" value="comparator_item_{$product.id_product}" {if isset($compareProducts) && in_array($product.id_product, $compareProducts)}checked{/if}/> <label for="comparator_item_{$product.id_product}">{l s='Select to compare'}</label></p>
  {/if}   
 </div>
</li>
{/foreach}
</ul>
{if $comparator_max_item}
<script type="text/javascript">
// <![CDATA[
 var min_item = '{l s='Please select at least one product.' js=1}';
 var max_item = "{l s='You cannot add more than' js=1} {$comparator_max_item} {l s='product(s) in the product comparator' js=1}";
//]]>
</script>
<form class="product_compare" method="get" action="{$link->getPageLink('products-comparison.php')}" onsubmit="true">
 <input type="submit" class="button" value="{l s='Compare'}" />
 <input type="hidden" name="compare_product_list" class="compare_product_list" value="" />
</form>
{/if}
</div>
{/if}

Edited by Prestanoob2012 (see edit history)
Link to comment
Share on other sites

ah ok !

 

regarde cette ligne et repère la class visible :

<div id="product_list_grid" class="bordercolor box visible">

 

j'essayerai de l'enlever de cette div pour la mettre à celle-ci :

<div id="product_list_list" class="box">

 

donc tu aurais :

<div id="product_list_grid" class="bordercolor box">
...
...
...
...
<div id="product_list_list" class="box visible">
...
...
...

 

à tenter ;)

Link to comment
Share on other sites

Et bien je n'ai pas compris le pourquoi du comment.... mais ta solution fonctionne ! Merci.

 

Je connais mal le css mais en général je comprends la logique d'une solution, là non :) Je connais quelqu'un qui pourrait avoir besoin ponctuellement de tes services. Je lui passe tes coordonnées mais je te "promet" rien :D

Link to comment
Share on other sites

j'ai pas accès à ton site mais j'imagine que la class invisible permet de ne pas afficher les éléments d'un bloc.

donc la div grid est invisible dans un 1er temps et quand on clique sur le bouton List on modifie via javascript le code de la div pour inverser la visibilité des blocs div!

 

en gros ;)

 

pas de soucis pour le contact :)

 

a+

 

ah oui, juste, pense à mettre le titre en [RESOLU] en modifiant le 1er post et son titre!

 

merci

Link to comment
Share on other sites

  • 2 years later...

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...