Jump to content

[Opgelost] Korte beschrijving niet altijd zichtbaar in productlijst


Martino00

Recommended Posts

Dag allemaal.

Een klein raar probleempje

 

Mijn producten hebben een korte beschrijving. in het nl. de standaard taal.

En bij sommige producten zie je die korte beschrijving naast de image in de productlijst

maar bij vele producten zie je deze niet.

 

afbeeldingen in bijlage

 

alvast bedankt

post-866755-0-51017400-1441288197_thumb.jpg

post-866755-0-39498400-1441288204_thumb.jpg

Link to comment
Share on other sites

Hier wat meer info:

PrestaShop versie 1.6.0.14

talen enkel nederlands

geen multistore

wel veel combinatieproducten.

 

Je kan het best zien op www.hancke.be/metaal-staal/58-betonijzer

is de categorie betonijzer onder betonstaal

In deze categorie zitten zowel producten met als zonder combinaties

 

Onderaan in de productlijst staan er twee producten ("betonstaal op maat gesneden en geplooid" en "gelast betnstaal") Deze twee hebben een korte omschrijving (dat kan je bekijken door op het product te klikken) en toch is deze niet zichtbaar in de productlijst.

 

Heb het ook nog bij andere producten maar in deze categorie is het het duidelijkst omdat hier goede en foute voorbeelden bij elkaar staan.

Link to comment
Share on other sites


{*

* 2007-2015 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 [email protected] 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 <[email protected]>

* @copyright 2007-2015 PrestaShop SA

* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)

* International Registered Trademark & Property of PrestaShop SA

*}

{if isset($products) && $products}

{*define number of products per line in other page for desktop*}

{if $page_name !='index' && $page_name !='product'}

{assign var='nbItemsPerLine' value=3}

{assign var='nbItemsPerLineTablet' value=2}

{assign var='nbItemsPerLineMobile' value=3}

{else}

{assign var='nbItemsPerLine' value=4}

{assign var='nbItemsPerLineTablet' value=3}

{assign var='nbItemsPerLineMobile' value=2}

{/if}

{*define numbers of product per line in other page for tablet*}

{assign var='nbLi' value=$products|@count}

{math equation="nbLi/nbItemsPerLine" nbLi=$nbLi nbItemsPerLine=$nbItemsPerLine assign=nbLines}

{math equation="nbLi/nbItemsPerLineTablet" nbLi=$nbLi nbItemsPerLineTablet=$nbItemsPerLineTablet assign=nbLinesTablet}

<!-- Products list -->

<ul{if isset($id) && $id} id="{$id}"{/if} class="product_list grid row{if isset($class) && $class} {$class}{/if}">

{foreach from=$products item=product name=products}

{math equation="(total%perLine)" total=$smarty.foreach.products.total perLine=$nbItemsPerLine assign=totModulo}

{math equation="(total%perLineT)" total=$smarty.foreach.products.total perLineT=$nbItemsPerLineTablet assign=totModuloTablet}

{math equation="(total%perLineT)" total=$smarty.foreach.products.total perLineT=$nbItemsPerLineMobile assign=totModuloMobile}

{if $totModulo == 0}{assign var='totModulo' value=$nbItemsPerLine}{/if}

{if $totModuloTablet == 0}{assign var='totModuloTablet' value=$nbItemsPerLineTablet}{/if}

{if $totModuloMobile == 0}{assign var='totModuloMobile' value=$nbItemsPerLineMobile}{/if}

<li class="{$product|pp:css:right}ajax_block_product{if $page_name == 'index' || $page_name == 'product'} col-xs-12 col-sm-4 col-md-3{else} col-xs-12 col-sm-6 col-md-4{/if}{if $smarty.foreach.products.iteration%$nbItemsPerLine == 0} last-in-line{elseif $smarty.foreach.products.iteration%$nbItemsPerLine == 1} first-in-line{/if}{if $smarty.foreach.products.iteration > ($smarty.foreach.products.total - $totModulo)} last-line{/if}{if $smarty.foreach.products.iteration%$nbItemsPerLineTablet == 0} last-item-of-tablet-line{elseif $smarty.foreach.products.iteration%$nbItemsPerLineTablet == 1} first-item-of-tablet-line{/if}{if $smarty.foreach.products.iteration%$nbItemsPerLineMobile == 0} last-item-of-mobile-line{elseif $smarty.foreach.products.iteration%$nbItemsPerLineMobile == 1} first-item-of-mobile-line{/if}{if $smarty.foreach.products.iteration > ($smarty.foreach.products.total - $totModuloMobile)} last-mobile-line{/if}">

<div class="product-container" itemscope itemtype="http://schema.org/Product">

<div class="left-block">

<div class="product-image-container">

<a class="product_img_link" href="{$product.link|escape:'html':'UTF-8'}" title="{$product.name|escape:'html':'UTF-8'}" itemprop="url">

<img class="replace-2x img-responsive" src="{$link->getImageLink($product.link_rewrite, $product.id_image, 'home_default')|escape:'html':'UTF-8'}" alt="{if !empty($product.legend)}{$product.legend|escape:'html':'UTF-8'}{else}{$product.name|escape:'html':'UTF-8'}{/if}" title="{if !empty($product.legend)}{$product.legend|escape:'html':'UTF-8'}{else}{$product.name|escape:'html':'UTF-8'}{/if}" {if isset($homeSize)} width="{$homeSize.width}" height="{$homeSize.height}"{/if} itemprop="image" />

</a>

{if isset($quick_view) && $quick_view}

<div class="quick-view-wrapper-mobile">

<a class="quick-view-mobile" href="{$product.link|escape:'html':'UTF-8'}" rel="{$product.link|escape:'html':'UTF-8'}">

<i class="icon-eye-open"></i>

</a>

</div>

<a class="quick-view" href="{$product.link|escape:'html':'UTF-8'}" rel="{$product.link|escape:'html':'UTF-8'}">

<span>{l s='Quick view'}</span>

</a>

{/if}

{if (!$PS_CATALOG_MODE && ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}

<div class="content_price" itemprop="offers" itemscope itemtype="http://schema.org/Offer">

 

{* *** Kijken of prijs 0 is PART1 *** *}

{if $product.price == 0}

<p class="callforprice">Momenteel geen prijs beschikbaar</p>

{else}

{* *** Einde Kijken of prijs 0 is PART1 *** *}

 

{* Check if product buttontekst leeg is anders zijn er opties die moeten ingegeven worden en plaatsen we de tekst "prijs vanaf" er voor **}

{if (!empty($product.buttontekst))}

{l s='Prijs vanaf'}  <br>

{/if}

 

 

 

 

{* *** prijsweergave *** *}

{if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}

<span itemprop="price" class="price product-price">

{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}

</span>

<meta itemprop="priceCurrency" content="{$currency->iso_code}" />

{if isset($product.specific_prices) && $product.specific_prices && isset($product.specific_prices.reduction) && $product.specific_prices.reduction > 0}

{hook h="displayProductPriceBlock" product=$product type="old_price"}

<span class="old-price product-price">

{displayWtPrice p=$product.price_without_reduction}

</span>

{if $product.specific_prices.reduction_type == 'percentage'}

<span class="price-percent-reduction">-{$product.specific_prices.reduction * 100}%</span>

{/if}

{/if}

{if $PS_STOCK_MANAGEMENT && isset($product.available_for_order) && $product.available_for_order && !isset($restricted_country_mode)}

{if ($product.allow_oosp || ($product.quantity + $product.quantity_remainder) > 0)}

<link itemprop="availability" href="http://schema.org/InStock" />{if $product.quantity <= 0}{if $product.allow_oosp}{if isset($product.available_later) && $product.available_later}{$product.available_later}{else}{l s='In Stock'}{/if}{else}{l s='Out of stock'}{/if}{else}{if isset($product.available_now) && $product.available_now}{$product.available_now}{else}{l s='In Stock'}{/if}{/if}

{elseif (isset($product.quantity_all_versions) && $product.quantity_all_versions > 0)}

<link itemprop="availability" href="http://schema.org/LimitedAvailability" />{l s='Product available with different options'}

 

{else}

<link itemprop="availability" href="http://schema.org/OutOfStock" />{l s='Out of stock'}

{/if}

{/if}

{hook h="displayProductPriceBlock" product=$product type="price"}

{hook h="displayProductPriceBlock" product=$product type="unit_price"}

{/if}

{* *** prijsweergave *** *}

 

 

{* *** oude prijs bij korting *** *}

{if isset($product.reduction) && $product.reduction && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}

<br>Bruttoprijs zonder korting:

<span class="old_price" style="text-decoration: line-through;">{convertPrice price=$product.price_without_reduction}</span>

{/if}

{* *** oude prijs bij korting *** *}

 

{* *** Einde if *** *}

{/if}

{* *** Einde if *** *}

 

 

</div>

{/if}

{if isset($product.new) && $product.new == 1}

<a class="new-box" href="{$product.link|escape:'html':'UTF-8'}">

<span class="new-label">{l s='New'}</span>

</a>

{/if}

{if isset($product.on_sale) && $product.on_sale && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}

<a class="sale-box" href="{$product.link|escape:'html':'UTF-8'}">

<span class="sale-label">{l s='Sale!'}</span>

</a>

{/if}

</div>

{hook h="displayProductDeliveryTime" product=$product}

{hook h="displayProductPriceBlock" product=$product type="weight"}

</div>

<div class="right-block">

<h5 itemprop="name">

{if isset($product.pack_quantity) && $product.pack_quantity}{$product.pack_quantity|intval|cat:' x '}{/if}

<a class="product-name" href="{$product.link|escape:'html':'UTF-8'}" title="{$product.name|escape:'html':'UTF-8'}" itemprop="url" >

{$product.name|truncate:45:'...'|escape:'html':'UTF-8'}

</a>

</h5>

{hook h='displayProductListReviews' product=$product}

<p class="product-desc" itemprop="description">

{$product.description_short|truncate:360:'...'}

</p>

{if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}

<div class="content_price">

{if isset($product.show_price) && $product.show_price && !isset($restricted_country_mode)}

<span class="price product-price">

{if !$priceDisplay}{convertPrice price=$product.price}{else}{convertPrice price=$product.price_tax_exc}{/if}

</span>

{if isset($product.specific_prices) && $product.specific_prices && isset($product.specific_prices.reduction) && $product.specific_prices.reduction > 0}

{hook h="displayProductPriceBlock" product=$product type="old_price"}

 

<span class="old-price product-price">

{displayWtPrice p=$product.price_without_reduction}

</span>

{hook h="displayProductPriceBlock" id_product=$product.id_product type="old_price"}

 

{if $product.specific_prices.reduction_type == 'percentage'}

<span class="price-percent-reduction">-{$product.specific_prices.reduction * 100}%</span>

{/if}

 

{/if}

{hook h="displayProductPriceBlock" product=$product type="price"}

{hook h="displayProductPriceBlock" product=$product type="unit_price"}

{/if}

</div>

 

 

{/if}

<div class="button-container">

 

{**Madman patch *}

{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) || (!empty($product.buttontekst))} {** Controle OR buttontekst ingevuld is. Indien combinaties OF indien buttontekst ingevuld is ga verder **}

{if (!$product.allow_oosp && $product.quantity_all_versions <= 0)}

<a itemprop="url" class="btn btn-default exclusive btn_add_cart red_out_stock" href="{$product.link|escape:'html':'UTF-8'}" title="{l s='Out of Stock'}">

<span>{l s='Out of Stock'}</span>

</a>

 

{else}

 

{** Controle of buttontekst ingevuld is. Indien ja. Plaats buttontekst **}

 

{if (!empty($product.buttontekst))}

<a itemprop="url" class="btn btn-default exclusive btn_add_cart" href="{$product.link|escape:'html':'UTF-8'}" title="{l s='Choose variation'}">

<span>{$product.buttontekst}</span>

</a>

{else}

{** Einde Controle of buttontekst ingevuld is. Indien ja. Plaats buttontekst **}

 

<a itemprop="url" class="btn btn-default exclusive btn_add_cart" href="{$product.link|escape:'html':'UTF-8'}" title="{l s='Choose variation'}">

<span>{l s='Choose variation'} </span>

</a>

 

 

 

{/if}

{/if}

{else}

{* Madman patch **}

 

 

{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 (!isset($product.customization_required) || !$product.customization_required) && ($product.allow_oosp || ($product.quantity + $product.quantity_remainder) > 0)}

{if isset($static_token)}

 

{* *** Als prijs 0 is dan tonen we de "voeg toe aan winkelwagen niet" *** *}

{if $product.price == 0}

<p class="callforprice">Vraag <a href="http://www.hancke.be/metaal-staal/contact-us" target="_self" style="color:red;"><b><u>offerte</u></b></a> aan via contactformulier</p>

{else}

{* *** Einde Als prijs 0 is dan tonen we de "voeg toe aan winkelwagen niet" *** *}

 

<a class="button ajax_add_to_cart_button btn btn-default" href="{$link->getPageLink('cart',false, NULL, "add=1&id_product={$product.id_product|intval}&token={$static_token}", false)|escape:'html':'UTF-8'}" rel="nofollow" title="{l s='Add to cart'}" data-id-product="{$product.id_product|intval}">

<span>{l s='Add to cart'}</span>

</a>

 

{* *** Einde van if voor controle prijs op nul" *** *}

{/if}

{* *** *** *}

 

 

{else}

<a class="button ajax_add_to_cart_button btn btn-default" href="{$link->getPageLink('cart',false, NULL, 'add=1&id_product={$product.id_product|intval}', false)|escape:'html':'UTF-8'}" rel="nofollow" title="{l s='Add to cart'}" data-id-product="{$product.id_product|intval}">

<span>{l s='Add to cart'}</span>

</a>

{/if}

{else}

 

 

{** Madman patch *}

<!-- <span class="exclusive btn btn-default disabled">{l s='Add to cart'}</span> -->

<a itemprop="url" class="btn btn-default exclusive btn_add_cart red_out_stock" href="{$product.link|escape:'html':'UTF-8'}" title="{l s='Out of Stock'}">

<span>{l s='Out of Stock'}</span>

</a>

{* Madman patch **}

 

<span class="button ajax_add_to_cart_button btn btn-default disabled">

<span>{l s='Add to cart'}</span>

</span>

 

 

{/if}

{/if}

 

{** Madman patch *}

{/if}

{* Madman patch **}

 

{* Button die Meer aangeeft - hebben we niet echt nodig **}

{*

<a itemprop="url" class="button lnk_view btn btn-default" href="{$product.link|escape:'html':'UTF-8'}" title="{l s='View'}">

<span>{if (isset($product.customization_required) && $product.customization_required)}{l s='Customize'}{else}{l s='More'}{/if}</span>

</a>

*}

{* Einde Button die Meer aangeeft - hebben we niet echt nodig **}

 

</div>

{if isset($product.color_list)}

<div class="color-list-container">{$product.color_list}</div>

{/if}

<div class="product-flags">

{if (!$PS_CATALOG_MODE AND ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}

{if isset($product.online_only) && $product.online_only}

<span class="online_only">{l s='Online only'}</span>

{/if}

{/if}

 

{* Geeft "in prijs verlaagd" weer als je een korting geeft - hebben we niet nodig**}

{*

{if isset($product.on_sale) && $product.on_sale && isset($product.show_price) && $product.show_price && !$PS_CATALOG_MODE}

{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}

*}

{* Einde "in prijs verlaagd" weergave **}

 

 

</div>

{if (!$PS_CATALOG_MODE && $PS_STOCK_MANAGEMENT && ((isset($product.show_price) && $product.show_price) || (isset($product.available_for_order) && $product.available_for_order)))}

{if isset($product.available_for_order) && $product.available_for_order && !isset($restricted_country_mode)}

<span class="availability">

{if ($product.allow_oosp || ($product.quantity + $product.quantity_remainder) > 0)}

<span class="{if $product.quantity <= 0 && !$product.allow_oosp}out-of-stock{else}available-now{/if}">

{if $product.quantity <= 0}{if $product.allow_oosp}{if isset($product.available_later) && $product.available_later}{$product.available_later}{else}{l s='In Stock'}{/if}{else}{l s='Out of stock'}{/if}{else}{if isset($product.available_now) && $product.available_now}{$product.available_now}{else}{l s='In Stock'}{/if}{/if}

</span>

{elseif (isset($product.quantity_all_versions) && $product.quantity_all_versions > 0)}

<span class="available-dif">

{l s='Product available with different options'}

</span>

{else}

<span class="out-of-stock">

{l s='Out of stock'}

</span>

{/if}

</span>

{/if}

{/if}

</div>

{if $page_name != 'index'}

<div class="functional-buttons clearfix">

{hook h='displayProductListFunctionalButtons' product=$product}

{if isset($comparator_max_item) && $comparator_max_item}

<div class="compare">

<a class="add_to_compare" href="{$product.link|escape:'html':'UTF-8'}" data-id-product="{$product.id_product}">{l s='Add to Compare'}</a>

</div>

{/if}

</div>

{/if}

</div><!-- .product-container> -->

</li>

{/foreach}

</ul>

{addJsDefL name=min_item}{l s='Please select at least one product' js=1}{/addJsDefL}

{addJsDefL name=max_item}{l s='You cannot add more than %d product(s) to the product comparison' sprintf=$comparator_max_item js=1}{/addJsDefL}

{addJsDef comparator_max_item=$comparator_max_item}

{addJsDef comparedProductsIds=$compared_products}

{/if}

 

Link to comment
Share on other sites

@ Bolinga, alvast bedankt vooor de snelle reply. Maar de "product-desc" class valt niet buiten een if statement denk ik.

 

 

 

Heb nog eens even mijn lokale test site bekeken en daar heb ik het probleem niet.

 

Dus heb ik even snel mijn product-list.tpl bestanden vergeleken en er zit maar één verschilletje in. En dit heb ik inderdaad onlangs even snel aangepast.

 

 

 

 

Om de short description in html te kunnen weergeven en zodoende ook breaks te kunnen gebruiken heb ik onlangs onderstaande regel

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

vervangen door

{$product.description_short|truncate:360:'...'}

En dit werkte geweldig.

Tekst die vroeger werd weergegeven als

 

Diameters: 12 - 14 - 16 Lengte: 10

- 14 -16

 

word nu keurig en netjes weergegeven als

Diameters: 12 - 14 - 16

Lengte: 10 - 14 - 16

 

 

Maar blijkbaar heeft hij daar nu nog ergens problemen mee.

De Short description wordt nu wel mooi weergegeven maar soms wordt hij helemaal niet weergegeven.

 

Als ik de regel opnieuw vervang door de oude en als ik mijn cache leeg, staat er wel overal de short description maar dan aanvaardt hij dus wel geen html breaks in mijn code.

 

Ik moet dus nog even verder zoeken om beiden te kunnen combineren.

Link to comment
Share on other sites

Dit lijkt de oplossing te zijn. Heb eigenlijk geen echt idee hoe deze <p> tags daar komen. Misschien door een module die ik gebruik.

Ik heb in elk geval overal de <p> en </p> tags uit mijn short description gehaald.

Cache nog eens gecleared en nu is de short description overal zichtbaar.

 

De aanpassing van

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

naar

{$product.description_short|truncate:360:'...'}

zorgt voor een keurige weergave van mijn short description als ik <br> tags gebruik.

 

Topic solved voor mij

Link to comment
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...