PrestaShop/Smarty 改变 {$image.基于过滤器 $q=Color-Black -- 请

PrestaShop/Smarty change {$image. based on filter $q=Color-Black -- please

我是 PrestaShop 的新手,我想了解有关 Smarty 模板和 .tpl 文件的更多信息。

我在 products.tpl

中更改 {$image.bySize.home_default.url} 时遇到问题

我会试着解释一下我的情况:

.


.

类别过滤器

ps_facetedsearch > Filters

产品类别

themes\footwear\templates\catalog_partials\miniatures\product.tpl

/*
  where can I create/modify/add 
  {$image.bySize.home_default.url}
*/
<!--
themes\footwear\templates\catalog\_partials\miniatures\product.tpl
-->

<div class="thumbnail-wrapper">
        {block name='product_thumbnail'}
          <a href="{$product.url}" class="thumbnail product-thumbnail">
            {foreach name="thumbnails" from=$product.images item=image}
              
              {if $smarty.foreach.thumbnails.iteration == 2}
                <img
                  class="thumbnail-alternate"
                  src="{$image.bySize.home_default.url}"  <!-- ?? -->
                  alt="{$image.legend}"
                >
              {/if}
              
            {/foreach}
            {if $product.cover}
            <img
              class="thumbnail-img"
              src="{$product.cover.bySize.home_default.url}"
              alt="{$product.cover.legend}"
              data-full-size-image-url = "{$product.cover.large.url}"
              itemprop="image"
            >
            {else}
            <img
                class="thumbnail-img"
                src="{$urls.no_picture_image.bySize.home_default.url}"
              >
            {/if}
          </a>
        {/block}
          {block name='product_flags'}
          <ul class="product-flags">
            {if $product.has_discount}
                {if $product.discount_type === 'percentage'}
                  <li class="discount-percentage">{$product.discount_percentage}</li>
                {elseif $product.discount_type === 'amount'}
                  <li class="discount-percentage">{$product.discount_amount_to_display}</li>
                {/if}
            {/if}
            {foreach from=$product.flags item=flag}
              <li class="{$flag.type}">{$flag.label}</li>
            {/foreach}
          </ul>
          {/block}
        </div>


我想改变什么

当我放置滤镜 (Black/White) 时,我仍然看到我的默认颜色布,而且非常乱。 当我过滤所有的白布时,我希望看到所有的白布,而不是蓝色、红色、黄色、绿色,也有黑色或白色。

我认为我可以在 url 更改时更改 product.tpl 中的 {$image.bySize.home_default.url}:

domain.com/3-clothes ?q=Color-White

我找不到任何与 {$image.bySize.home_default.url} 相关的 .php 文件,而且我无法在 .tpl 文件中写入 <?php ?>

{$image.bySize.home_default.url} = /1087-home_default/bari.jpg (black)
    
if ($_GET['q']=Color-white
/1151-home_default/bari.jpg (white)

有人可以帮助我吗? 或者解释一下这个 Smarty 模板是如何工作的?

我也想分享那个。 Tpl 文件是 Smarty 模板引擎。这是一种HTML+PHP的混合。

php $_GET 可以在 Smarty 中与 {$smarty.get.key}

一起使用

希望对你有所帮助。