Пользовательские вкладки Shopware вызывают ошибку после выбора варианта

#templates #shopware

#шаблоны #shopware

Вопрос:

Я добавил пользовательские вкладки в Shopware 5, как показано в руководстве, и это сработало довольно хорошо. Но через некоторое время я заметил, что вкладки показывают необычное поведение после выбора варианта и вызывают перезагрузку. После этой перезагрузки содержимое вкладок будет точно таким же, как на вкладке Описания. Я не понимаю, почему это работает до перезагрузки, но тормозит после. Может кто-нибудь объяснить, что я, очевидно, пропустил здесь?

tabs.tpl

 {extends file="parent:frontend/detail/tabs.tpl"}

{* Rating tab *}
{block name="frontend_detail_tabs_rating"}
    {if $sArticle.application_description}
        <a href="#" class="tab--link" title="{s name='DetailTabsCustom'}Custom Tab{/s}" data-tabName="description">{s name='DetailTabsCustom'}{/s}</a>
    {/if}
    {$smarty.block.parent}
{/block}


{* Description container *}
{block name="frontend_detail_tabs_content_description"}
    {$smarty.block.parent}
    {if $sArticle.application_description}
        <div class="tab--container">
            <div class="tab--header">
                <a href="#" class="tab--title" title="{s name='DetailTabsCustom'}Custom Tab{/s}">{s name='DetailTabsCustom'}Custom Tab{/s}</a>
            </div>

            <div class="tab--preview">
                {$sArticle.application_description|strip_tags|truncate:100:'...'}<a href="#" class="tab--link" title="{s name="PreviewTextMore"}{/s}">{s name="PreviewTextMore"}{/s}</a>
            </div>

            <div class="tab--content">
                <div class="buttons--off-canvas">
                    <a href="#" title="{"{s name="OffcanvasCloseMenu" namespace="frontend/detail/description"}{/s}"|escape}" class="close--off-canvas">
                        <i class="icon--arrow-left"></i>
                        {s name="OffcanvasCloseMenu" namespace="frontend/detail/description"}{/s}
                    </a>
                </div>

                <div class="content--description">
                    <div class="product--description" itemprop="description">
                        {$sArticle.application_description}
                    </div>
                </div>
            </div>
        </div>
    {/if}
{/block}

{* Extend *}
{block name="frontend_detail_tabs_description" append}
    {if $sArticle.clp_info_tab}
        <a class="tab--link" title="{s namespace="frontend/detail" name='ClpTab'}{/s}" href="#">{s namespace="frontend/detail" name='ClpTab'}{/s}</a>
    {/if}
{/block}
{block name="frontend_detail_tabs_content_description" append}
    {if $sArticle.clp_info}
        <div class="tab--container">
            <div class="tab--header"><a class="tab--title" title="{s namespace="frontend/detail" name='ClpTab'}{/s}" href="#">{s namespace="frontend/detail" name='ClpTab'}{/s}</a></div>
            <div class="tab--preview">{$sArticle.clp_info_tab|strip_tags|truncate:100: '...'}<a href="#" class="tab--link" title="{s name="PreviewTextMore"}{/s}">{s name="PreviewTextMore"}{/s}</a></div>
            <div class="tab--content">{include file="frontend/detail/tabs/clp.tpl"}</div>
        </div>
    {/if}
{/block}


{* Rating content *}
{block name="frontend_detail_tabs_rating_content"}
    <div id="tab--product-comment" class="tab--content"> 
        <span class="product--rating-link" rel="nofollow" title="{"{s namespace="frontend/detail/actions" name='DetailLinkReview'}{/s}"|escape}"> 
             
            {s namespace="frontend/detail/tabs" name="DetailTabsRating"}{/s}:
            {include file='frontend/_includes/rating.tpl' points=$sArticle.sVoteAverage.average type="aggregated" count=$sArticle.sVoteAverage.count}
            
            {block name="frontend_detail_tabs_rating_content_inner"}
                {include file="frontend/detail/tabs/comment.tpl"}
            {/block} 
        </span> 
    </div>
{/block}
  

tabs/clp.tpl

 <div class="buttons--off-canvas">
  <a class="close--off-canvas" href="#">
    <i class="icon--arrow-left"></i>
    Zurück
  </a>
</div>

<div class="content--description">
  <div class="product--description">
    {$sArticle.clp_info_tab}
  </div>
</div>
  

Ответ №1:

Я смог найти отчет об ошибке Shopware, в котором говорилось, что вы не можете повторно использовать класс «содержимое —описание«. Если это так, это вызывает именно эту проблему. Так что переименуйте его или дайте ему другой класс, и это сработает.