Jump to content
darius1000

Prestashop 1.7 : Afficher seulement un extrait de la description des catégories et lien "Lire la suite"

Recommended Posts

Bonjour,

Mon site est sous Prestashop 1.7 sur le thème par défaut. J'ai cherché attentivement sur le forum une solution qui réponde à mon besoins, sans succès.

J'aimerais publier pour chaque catégorie une description de 350 mots (pour le référencement naturel). Cependant, pour que les produits restent accessibles, je souhaiterais que seulement deux ou trois lignes de cette description soit visible par défaut et qu'un lien, "Lire la suite" par exemple, donne la possibilité aux visiteurs d'afficher et de lire le reste de la description. Un second lien "Masquer" permettrait de rétablir l'affichage initiale.

J'imagine que ces modifications doivent s'effectuer dans le fichier  category.tpl (themes > classic > templates > catalog > listing >). Cependant, je n'ai malheureusement pas les connaissances requises pour savoir quel code ajouter dans ce fichier et à quel endroit.

Voici le contenu actuel de ce fichier (le fichier a déjà été modifié selon un tutoriel pour afficher l'image de la catégorie sur toute la largueur du bloc description) :

{extends file='catalog/listing/product-list.tpl'}

{block name='product_list_header'}
    <div class="block-category card card-block hidden-sm-down">
      <h1 class="h1">{$category.name}</h1>
      {if $category.description}
        <div id="category-description" class="text-muted">{$category.description nofilter}</div>
        {*
        <div class="category-cover">
          <img src="{$category.image.large.url}" alt="{$category.image.legend}">
        </div>
        *}
        <br/>
        <div>
            <img src="{$category.image.large.url}" alt="{$category.image.legend}" class="img-thumbnail">
        </div>
      {/if}
    </div>
    <div class="text-xs-center hidden-md-up">
      <h1 class="h1">{$category.name}</h1>
    </div>
{/block}

 

J'espère que quelqu'un pourra m'aider. Je suis sûr que cette solution pourra intéresser un certain nombre de personnes

Merci de votre réponse !

Edited by darius1000 (see edit history)

Share this post


Link to post
Share on other sites

Bonjour,

 

Il faut utilser cettte methode:


{$product.description_short|strip_tags:'UTF-8'|truncate:360:'...'}

 

Mais a la place de $product.description_short   vous avez $category->description  ou  $category.description

Edited by ndiaga (see edit history)

Share this post


Link to post
Share on other sites

Ca fonctionne. Merci beaucoup !

Maintenant, comment intégrer un lien pour pouvoir afficher et lire la suite de la description ?

Car actuellement, le reste de la description reste inaccessible aux utilisateurs et aux moteurs de recherche (référencement).

Merci !

Edited by darius1000 (see edit history)

Share this post


Link to post
Share on other sites

Pour ceux qui veulent comme moi afficher un extrait de la descriptions des catégories, voici la ligne de code à remplacer :

<DIV id="category-description" class="text-muted">{$category.description nofilter}</DIV>

par :

<div id="category-description" class="text-muted">{$category.description|strip_tags:'UTF-8'|truncate:295:'...'}</div>

 

Maintenant que l'extrait est affiché, quelqu'un sait comment ajouter un lien "Lire la suite" qui permettra aux utilisateurs et aux moteurs de recherche d'afficher et de lire le reste de la description ?

Merci d'avance

Share this post


Link to post
Share on other sites

Bonjour à tous, 

Je me pose également la même question !

Si quelqu'un à la solution je suis aussi preneuse !

Share this post


Link to post
Share on other sites

Bonjour,

J'ai essayé également de mettre "Lire la suite" pour mes descriptifs catégories longs  mais ça n'a pas l'air de fonctionner pour la version 1.7.3. (alors que cela fonctionne 1.6).

Auriez-vous une idée de mon erreur. De plus, {$category.description|strip_tags:'UTF-8'|truncate:295:'...'} renvoie également les balises html et si j'ajoute nofilter, j'ai une page blanche. Merci par avance pour votre aide.

Merci

Lionel

	  <h1 class="h1 title-category">{$category.name}</h1>

      {if $category.description}
       <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.js"></script>
	   <style type="text/css">.show_hide {display:none;}</style>
		<!-- {$category.description nofilter} -->
		<script type="text/javascript">
			$(document).ready(function(){
			$("#category_description_full").hide();
			$(".lnk_more").show();                
			$('.lnk_more').toggle(function(){
				$("#category_description_full").slideDown(
				function(){
					$("#plus").text("Moins").addClass("less")
                		} 
                	);
                	$("#category_description_short").hide();
                },function(){
                	$("#category_description_full").slideUp(
                function(){
                	$("#plus").text("Plus").removeClass("less")
                		}
                	);	
                    $("#category_description_short").show();
           });
    });
</script>
		{if Tools::strlen($category.description) > 350}
		<div id="category-description_short" class="text-muted">{$category.description|strip_tags:'UTF-8'|truncate:295:'...'}</div>
		<div id="category_description_full" style="display:none">{$category.description nofilter}</div>
		<a href="#" class="lnk_more" id="plus">{l s='Lire la suite'}</a></p>
		{else}
		<div id="category_description_full" style="display:none">{$category.description nofilter}</div>
		{/if}
		{/if}
	</div>
      {/if}

 

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