Jump to content

Probleme module Faceted Search et affichage des 'brands' produits sur la page categorie


superskyman100

Recommended Posts

Bonjour à tous,

re-BUG ?

Probleme de design/homogeneite sur ma page categorie : le module PS_faceted-search 'efface' le nom de la marque dans les infos produit.

Si je desactive Faceted-search, le nom des marques reapparait comme par miracle...................

Une idée pour corriger ce probleme ?... 

Merci

 

PS 1.7.6.3

Faceted search 3.4.1

 

brands-cqtegory-PSfaceteddesqctivqted-french.thumb.jpg.6c93b20f6a2e91d2423cc23ea37c4c51.jpgbrands-cqtegory-PSfqceted-french.thumb.jpg.9b0fb8b69ffaa86fb81c587c2b857a55.jpg

Link to comment
Share on other sites

sans faceted c'est product-list du module qui est utilisé, avec, c'est faceted.
Trouve dans ton product-list la partie de code concernant les marques, et colle-la dans le faceted.

Tu peux utiliser la console de developpement pour trouver des balises spécifiques et les rechercher sur le serveur avec un "find . -type f -exec grep montexte {} \;"

  • Like 1
Link to comment
Share on other sites

https://www.sexy-cherry.com/en/13-sexy-lingerie

Bon je passe un temps de dingue, mais j'avance pas vraiment, désolé... 😰

1/ je dois rechercher quels types de fichiers ?? .php, .tpl, .js ???? Ensuite je dois les rechercher où ? J'ai lancé des recherches avec mon FTP mais ca rame... et pas de fichier ''*product-list*" en vue...

2/ Je dois coller la balise dans quel fichier "faceted" exactement ? .tpl ?

J'ai écremé les dossiers public/modules/PS-facetedsearch et public/themes/warehouse/modules/PS-Facetedsearch mais je trouve pas de fichier "product-list"

Ensuite, que ce soit avec ou sans faceted-search, le bloc appelle a chaque fois #js-product-list .product-description

image.thumb.png.c888ed814c36e32d11e8800e1ec1cdcb.png

 

Bref, suis paumé... lol

 

 

image.png

Link to comment
Share on other sites

Bon j'ai finalement trouvé deux fichiers product-list.tpl

Le premier (dans /theme/warehouse/templates/catalog/_partials/miniatures):

{block name='product_miniature_item'}
    <div class="js-product-miniature-wrapper col-12">
        <article
                class="product-miniature product-miniature-default product-miniature-list js-product-miniature"
                data-id-product="{$product.id_product}"
                data-id-product-attribute="{$product.id_product_attribute}"

        >
            <div class="row medium-gutters product-miniature-list-row">

                <div class="col-12 col-sm-3">
                    {block name='product_thumbnail'}
                        {include file='catalog/_partials/miniatures/_partials/product-miniature-thumb.tpl' list=true}
                    {/block}
                </div>

                <div class="col col-description">

                    {block name='product_name'}
                        <h3 class="h3 product-title">
                            <a href="{$product.canonical_url}">{$product.name|truncate:50:'...'}</a>
                        </h3>
                    {/block}

                    {block name='product_reference'}
                        {if $product.reference != ''}
                            <div class="product-reference text-muted">{$product.reference}</div>{/if}
                    {/block}

                    {block name='product_reviews'}
                        {hook h='displayProductListReviews' product=$product}
                    {/block}

                    {block name='product_description_short'}
                        <div class="product-description-short">
                            {$product.description_short|strip_tags:'UTF-8'|truncate:360:'...'}
                        </div>
                    {/block}

                    {block name='product_variants'}
                        {if $product.main_variants}
                            <div class="products-variants">
                                {if $product.main_variants}
                                    {include file='catalog/_partials/variant-links.tpl' variants=$product.main_variants}
                                {/if}
                            </div>
                        {/if}
                    {/block}

                    {block name='product_availability'}
                        <div class="product-availability">
                            {if $product.show_availability && $product.availability_message}
                                <span
                                      class="badge {if $product.availability == 'available'} {if $product.quantity <= 0  && $product.allow_oosp} badge-danger product-unavailable {else}badge-success product-available{/if}{elseif $product.availability == 'last_remaining_items'}badge-warning product-last-items{else}badge-danger product-unavailable{/if} mt-2">
                  {if $product.availability == 'available'}
                      <i class="fa fa-check rtl-no-flip" aria-hidden="true"></i>
                                                     {$product.availability_message}
                  {elseif $product.availability == 'last_remaining_items'}
                      <i class="fa fa-exclamation" aria-hidden="true"></i>
                                                     {$product.availability_message}
                  {else}
                      <i class="fa fa-ban" aria-hidden="true"></i>
                              {$product.availability_message}
                      {if isset($product.available_date) && $product.available_date != '0000-00-00'}
                      {if $product.available_date|strtotime > $smarty.now}<span
                              class="available-date">{l s='until' d='Shop.Theme.Catalog'} {$product.available_date}</span>{/if}
                  {/if}
                  {/if}
                </span>
                            {/if}
                        </div>
                    {/block}

                </div>

                <div class="col-12 col-sm-auto col-buy">

                    {block name='product_price_and_shipping'}
                        {if $product.show_price}
                            <div class="product-price-and-shipping">
                                <ul>
                                {hook h='displayProductPriceBlock' product=$product type="before_price"}
                                <span class="product-price" content="{$product.price_amount}">{$product.price}</span>
                                </ul>
                                <ul>
                                {if $product.has_discount}
                                    {hook h='displayProductPriceBlock' product=$product type="old_price"}
                                    <span class="regular-price">{$product.regular_price}</span>
                                {/if}
                                {hook h='displayProductPriceBlock' product=$product type='unit_price'}
                                {hook h='displayProductPriceBlock' product=$product type='weight'}
                                {if $product.has_discount}
                                    {hook h='displayCountDown'}
                                {/if}
                                </ul>
                            </div>
                        {/if}
                    {/block}

                    {block name='product_add_cart'}
                        {include file='catalog/_partials/miniatures/_partials/product-miniature-btn.tpl'}
                    {/block}

                    {block name='product_list_functional_buttons'}
                        <div class="product-functional-buttons product-functional-buttons-bottom">
                            <div class="product-functional-buttons-links">
                                {hook h='displayProductListFunctionalButtons' product=$product}
                                {block name='quick_view'}
                                    <a class="js-quick-view-iqit" href="#" data-link-action="quickview" data-toggle="tooltip"
                                       title="{l s='Quick view' d='Shop.Theme.Actions'}">
                                        <i class="fa fa-eye" aria-hidden="true"></i></a>
                                {/block}
                            </div>
                        </div>
                    {/block}

                </div>

            </div>

        </article>
    </div>
{/block}

Ici, je pense c'est le bloc :

{block name='product_reference'}
                        {if $product.reference != ''}
                            <div class="product-reference text-muted">{$product.reference}</div>{/if}
                    {/block}

qui est responsable de l'affichage de la marque

 

L'autre fichier product-list (dans /theme/warehouse/templates/catalog/listing) :

{extends file=$layout}


{block name='head_seo_canonical'}
    {if isset($listing.pagination)}
        {if $listing.pagination.should_be_displayed}

            {foreach from=$listing.pagination.pages item="p_page"}

                {if $p_page.current}
                    {if $p_page.page == 1}
                        {if $page.canonical}
                            <link rel="canonical" href="{$page.canonical}">
                        {/if}
                    {else}
                        {if $page.canonical}
                            <link rel="canonical" href="{$page.canonical}">
                        {else}
                            <link rel="canonical" href="{$p_page.url}">
                        {/if}
                    {/if}
                {/if}

                {if $p_page.type === 'previous'}
                    {if $p_page.clickable}
                            <link rel="prev" href="{$p_page.url}">
                    {/if}
                {/if}

                {if $p_page.type === 'next'}
                    {if $p_page.clickable}
                        <link rel="next" href="{$p_page.url}">
                    {/if}
                {/if}

            {/foreach}
            {else}
            {if $page.canonical}
                <link rel="canonical" href="{$page.canonical}">
            {/if}
        {/if}
    {/if}
{/block}

{block name='content'}
    <section id="main">
        {block name='product_list_header'}
            <h2 id="js-product-list-header" class="h1 page-title"><span>{$listing.label}</span></h2>
        {/block}
        <section id="products">
            {if $listing.products|count}
                {block name='product_list_active_filters'}
                    <div id="">
                        {$listing.rendered_active_filters nofilter}
                    </div>
                {/block}
                <div id="">
                    {block name='product_list_top'}
                        {include file='catalog/_partials/products-top.tpl' listing=$listing}
                    {/block}
                </div>
                {if $iqitTheme.pl_faceted_position}
                    {block name='product_list_facets_center'}
                        <div id="facets_search_center">
                            {widget name="ps_facetedsearch"}
                        </div>
                    {/block}
                {/if}
                <div id="">
                    {block name='product_list'}
                        <div id="facets-loader-icon"><i class="fa fa-circle-o-notch fa-spin"></i></div>
                        {include file='catalog/_partials/products.tpl' listing=$listing}
                    {/block}
                </div>
                <div id="infinity-loader-icon"><i class="fa fa-circle-o-notch fa-spin"></i></div>
                <div id="js-product-list-bottom">
                    {block name='product_list_bottom'}
                        {include file='catalog/_partials/products-bottom.tpl' listing=$listing}
                    {/block}


                </div>
                    {block name='product_list_bottom_static'}{/block}
            {else}

                {block name='product_list_not_found'}
                    <div class="alert alert-warning" role="alert">
                        <strong>{l s='There are no products.' d='Shop.Theme.Catalog'}</strong>
                    </div>
                {/block}

                {block name='product_list_bottom_static'}{/block}

            {/if}
        </section>

    </section>
{/block}

 

Ici je capte pas trop la fonction de ce fichier....

 

Par contre, pour ce qui en est du fichier ''faceted'' là, c bcp moins clair.... Je suis pas du tout certain que ce soit ce fichier qu'il faille modifier car ils ne semblent QUE definir la structure du filtre, et pas celle des blocs de présentation des produits.

 

Ici dans themes/warehouse/modules/ps_facetedsearch/views/template/front/catalog/facets.tpl

{if $displayedFacets|count}
  <div id="search_filters">
      {block name='facets_title'}{/block}


    {foreach from=$displayedFacets item="facet"}
      <aside class="facet clearfix">
          <h4 class="block-title facet-title"><span>{$facet.label}</span></h4>
        {assign var=_expand_id value=10|mt_rand:100000}
        {assign var=_collapse value=true}
        {foreach from=$facet.filters item="filter"}
          {if $filter.active}{assign var=_collapse value=false}{/if}
        {/foreach}


        {if in_array($facet.widgetType, ['radio', 'checkbox'])}
          {block name='facet_item_other'}
              <ul id="facet_{$_expand_id}" class="facet-type-{$facet.widgetType}{if isset($facet.filters[0].properties.color) || isset($facet.filters[0].properties.texture)} facet_color{/if}">
              {foreach from=$facet.filters key=filter_key item="filter"}
                {if !$filter.displayed}
                  {continue}
                {/if}

                <li>
                  <label class="facet-label{if $filter.active} active {/if}" for="facet_input_{$_expand_id}_{$filter_key}">
                    {if $facet.multipleSelectionAllowed}
                      <span class="custom-checkbox"
                              {if isset($filter.properties.color) || isset($filter.properties.texture)}
                          data-toggle="tooltip"
                          data-animation="false"
                          data-placement="top"
                          data-boundary="window"
                          data-original-title="{$filter.label} {if $filter.magnitude and $show_quantities}({$filter.magnitude}){/if}"
                              {/if}
                      >
                        <input
                          id="facet_input_{$_expand_id}_{$filter_key}"
                          data-search-url="{$filter.nextEncodedFacetsURL}"
                          type="checkbox"
                          {if $filter.active }checked{/if}
                        >
                          {if isset($filter.properties.color)}
                              <span class="color" style="background-color:{$filter.properties.color}"></span>
                              {elseif isset($filter.properties.texture)}
                                <span class="color texture" style="background-image:url({$filter.properties.texture})"></span>
                              {else}
                              <span {if !$js_enabled} class="ps-shown-by-js" {/if}><i class="fa fa-check checkbox-checked" aria-hidden="true"></i></span>
                          {/if}
                      </span>
                    {else}
                      <span class="custom-radio">
                        <input
                          id="facet_input_{$_expand_id}_{$filter_key}"
                          data-search-url="{$filter.nextEncodedFacetsURL}"
                          type="radio"
                          name="filter {$facet.label}"
                          {if $filter.active }checked{/if}
                        >
                        <span {if !$js_enabled} class="ps-shown-by-js" {/if}></span>
                      </span>
                    {/if}

                      {if !isset($filter.properties.color) && !isset($filter.properties.texture)}
                          <a
                                  href="{$filter.nextEncodedFacetsURL}"
                                  class="_gray-darker search-link js-search-link"
                                  rel="nofollow"
                          >
                              {$filter.label}
                              {if $filter.magnitude and $show_quantities}
                                  <span class="magnitude">({$filter.magnitude})</span>
                              {/if}
                          </a>
                      {/if}

                  </label>
                </li>
              {/foreach}
            </ul>
          {/block}

        {elseif $facet.widgetType == 'dropdown'}
          {block name='facet_item_dropdown'}
            <ul id="facet_{$_expand_id}" class="">
              <li>
                  <div class="facet-dropdown dropdown">
                      <a class="form-control select-title expand-more" rel="nofollow" data-toggle="dropdown" data-display="static" aria-haspopup="true" aria-expanded="false">
                    {$active_found = false}
                    <span>
                      {foreach from=$facet.filters item="filter"}
                        {if $filter.active}
                          {$filter.label}
                          {if $filter.magnitude and $show_quantities}
                            ({$filter.magnitude})
                          {/if}
                          {$active_found = true}
                        {/if}
                      {/foreach}
                      {if !$active_found}
                        {l s='(no filter)' d='Shop.Theme.Global'}
                      {/if}
                    </span>
                          <i class="fa fa-angle-down drop-icon" aria-hidden="true"></i>
                  </a>
                  <div class="dropdown-menu">
                    {foreach from=$facet.filters item="filter"}

                        <a
                          rel="nofollow"
                          href="{$filter.nextEncodedFacetsURL}"
                          class="select-list dropdown-item {if $filter.active}current{/if} search-link js-search-link"
                        >
                          {$filter.label}
                          {if $filter.magnitude and $show_quantities}
                            ({$filter.magnitude})
                          {/if}
                            {if $filter.active}
                                <i class="fa fa-times" aria-hidden="true"></i>
                            {/if}
                        </a>

                    {/foreach}
                  </div>
                </div>
              </li>
            </ul>
          {/block}

        {elseif $facet.widgetType == 'slider'}
          {block name='facet_item_slider'}
            {foreach from=$facet.filters item="filter"}
              <ul id="facet_{$_expand_id}"
                class="faceted-slider"
                data-slider-min="{$facet.properties.min}"
                data-slider-max="{$facet.properties.max}"
                data-slider-id="{$_expand_id}"
                data-slider-values="{$filter.value|@json_encode}"
                data-slider-unit="{$facet.properties.unit}"
                data-slider-label="{$facet.label}"
                data-slider-specifications="{$facet.properties.specifications|@json_encode}"
                data-slider-encoded-url="{$filter.nextEncodedFacetsURL}"
              >
                <li>
                  <p id="facet_label_{$_expand_id}">
                    {$filter.label}
                  </p>

                  <div id="slider-range_{$_expand_id}"></div>
                </li>
              </ul>
            {/foreach}
          {/block}
        {/if}
      </aside>
    {/foreach}
  </div>
{/if}

 

Apres y'a plein de fichiers .tpl imbriques les uns dans les autres, je sais pas trop lequel choisir.....

 

Ici deux pages, l'une qui fonctionne avec la marque, et la page cataog qui ne fonctionne pas pour afficher la marche, si ca peut te donner des indices...

 

https://www.sexy-cherry.com/en/

https://www.sexy-cherry.com/en/27-sexy-cherry-shop

 

......

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

fichiers.jpg

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