Как обновить свой блок, при нажатии на конпку "добавить в отложенные товары"

Всем привет. создал свой модуль. добавил свой блок с определенным шаблоном. Добавил его в макете в шаку страницы.
Что я хочу получить. при нажатии на “сердечко” обновить не только в профиле пункт с количеством отложенного товара, но и свой блок - изменить цифру в шаблоне блока своего модуля.

Подскажите как это сделать?

создве свой модуль, создан блок с простой схемой , где указал что у блока есть один шаблон.
создал шаблон, он находится в папке
/design/themes/thin_theme_redlet/templates/addons/insigne_design/blocks/redlet_wishlist_block.tpl

на страницах в шапке данный блок отрисовывается, в него передается переменная smarty с количеством отложенных товаров.
Но как подписаться на обновление своего блока, чтобы при добавлении в отложенные товары, мой блок изменялся?

в шаблоне блок выглядит так:

{** block-description:wishlist_header **}
{if $addons.wishlist.status == "A"}
    {assign var="wishlist_count_header" value=count($wishlist["product_id"])}
    <!-- <div class="ty-dropdown-box  th_your-account ty-float-right"> -->
    <div id="redlet_wishlist_block" class="redlet-top-block">
        <div class="redlet-inner-block">
            <a class="ty-account-info__title ty-account-info__a" href="{"wishlist.view"|fn_url}" {* rel="nofollow" *}>
                <span class="redlet-top-block-image"><img src="{$self_images_dir}/heart-outline_24px.svg"></span>
                <span class="ty-account-info__title-txt redlet-top-block-text">{* {__("wishlist")} *}
                   {$wishlist_count1} Избранное {* {if $wishlist_count > 0} ({$wishlist_count}){/if} *}
                    {if $wishlist_count_header > 0}
                    <span class="redlet-top-block-wishlist-count">{$wishlist_count_header}</span>
                    {/if}
                </span>

            </a>
        </div>
        <!--redlet_wishlist_block-->
    </div>

{/if}

Попробуйте так:
Вместо id и закрывающего тега redlet_wishlist_block

Назовите так оба:
account_info_redlet_wishlist_block

Так как result_ids в карточке товара выглядит так

<input type="hidden" name="result_ids" value="cart_status*,wish_list*,checkout*,account_info*">

и насколько помню, комментарий пишется прямо перед закрывающим тегом, то есть последние четыре строки

            </a>
        <!--redlet_wishlist_block--></div>
    </div>
{/if}
1 лайк

Разве есть правило, где пишется комментарий? Мне всегда казалось, что он должен быть расположен там, где он будет уместен или логичен. Просветите.

это касается только рендеринга обновляемого блока (тема данной темы, простите за тавтологию). в данном случае комментарий - всего лишь метка, которая, соответственно, пишется по заложенным разработчиками в функцию поиска такого блока правилам.
Все остальные комментарии можно писать куда хотите )

2 лайка

И id должен последним быть атрибутом. Т.е. вместо

<div id="redlet_wishlist_block" class="redlet-top-block">

нужно использовать в итоге

<div class="redlet-top-block" id="account_info_redlet_wishlist_block">

2 лайка

Да да, не обратил внимание. В этом случае комментарий важная техническая составляющая для обновления блока, а не информационная.

спасибо, все работает. разработчики, прошу в документации написать про этот конфуз! чтобы другие не попались на это.

1 лайк