Перезагрузка контейнеров через AJAX

Здравствуйте! Есть вопрос. Почему ajax не обновляет контейнер
Делаю контейнер

<div id="edit_user_profile_{$profile.profile_id}">

<!--edit_user_profile_{$profile.profile_id}--></div>

В своем шаблоне custom_user_profiles
Пытаюсь обновить через ссылку с контроллером

<a class="cm-ajax ty-tiles__link edit_user_profile"
                               href="{"checkout.update_profile?profile_id=`$profile.profile_id`"|fn_url}"
                               data-ca-target-id="edit_user_profile_{$profile.profile_id}"
                               data-ca-dialog-title="{__("editing_profile_name", ['[name]' => $profile.profile_name])}"
                            >{__("edit")}</a>

И контроллер стандартный

if ($mode == 'update_profile') {
    if (!defined('AJAX_REQUEST')) {
        return [CONTROLLER_STATUS_REDIRECT, 'checkout.checkout'];
    }

    if (!empty($_REQUEST['profile_id'])) {
        $user_profile = fn_get_user_info($auth['user_id'], true, $_REQUEST['profile_id']);
        Tygh::$app['view']->assign([
            'user_profile' => $user_profile,
            'profile_id' => $_REQUEST['profile_id'],
            'switch_after_update' => !empty($_REQUEST['switch_after_update']),
        ]);
    }

    $profile_fields = fn_get_profile_fields('O', $auth, CART_LANGUAGE, ['section' => ProfileFieldSections::SHIPPING_ADDRESS]);
    $countries = fn_get_simple_countries(true, CART_LANGUAGE);
    $states = fn_get_all_states();

    Tygh::$app['view']->assign([
        'countries' => $countries,
        'states' => $states,
        'profile_fields' => $profile_fields,
    ]);

    Tygh::$app['view']->display('views/checkout/components/profile.tpl');
    exit;
}

По идее Tygh::$app[‘view’]->display(‘views/checkout/components/profile.tpl’); должен был рендерить шаблон.
Делаю дебаги вижу ajax работает. В чем может быть проблема?

Если код вне блока Основное содержимое, попробуйте после cm-ajax добавить cm-ajax-full-render

А в шаблоне
views/checkout/components/profile.tpl
же нет контейнера
edit_user_profile_{$profile.profile_id}
?
Просто насколько я понимаю (могу ошибаться, поправьте), вызов ajax заменяет не содержимое внутри блока назначения, а старый блок на новый
Поэтому запрос должен возвращать что-то вида

<div id="edit_user_profile_{$profile.profile_id}">
{include file="views/checkout/components/profile.tpl"}
<!--edit_user_profile_{$profile.profile_id}--></div>

век живи век делай открытия )
а я все время думал, этот класс для того, когда запрос возвращает целиком страницу - чтобы вытащить из нее нужные блоки )

<div class="litecheckout__profiles-list">
        {foreach $user_profiles as $profile}
            <div class="item">
                <div class="ty-tiles litecheckout__field litecheckout__field--xsmall">
                    <input type="radio"
                           name="profile_id"
                           id="user_profile_{$profile.profile_id}"
                           class="ty-tiles__radio hidden js-lite-checkout-user-profile-radio {if !$profile.is_selectable}js-lite-checkout-edit-profile-popup-opener{else}js-lite-checkout-profile-selector{/if}"
                           data-ca-profile-id="{$profile.profile_id}"
                           value="{$profile.profile_id}"
                           {if $profile.profile_id == $cart.profile_id && $profile.is_selectable}checked{/if}
                    />
                    <label id="user_profiles_{$profile.profile_id}"
                           class="ty-tiles__wrapper"
                           for="user_profile_{$profile.profile_id}"
                    >
                        <p class="ty-tiles__title">{if $auth.wholesale_user_group_id == true}{$profile.profile_name}{else}{$profile.s_address} {$profile.s_address_2}{/if}</p>
                        {if $profile.s_city || $profile.s_state_descr || $profile.s_zipcode}
                            <p class="ty-tiles__text">{if $profile.s_city}{$profile.s_city}, {/if}{if $profile.s_state_descr}{$profile.s_state_descr}, {/if}{if $profile.s_zipcode}{$profile.s_zipcode}{/if}</p>
                        {/if}
                        {if $profile.s_country_descr}
                            <p class="ty-tiles__text">{$profile.s_country_descr}</p>
                        {/if}
                        <div class="ty-tiles__actions">
                            <a class="cm-ajax cm-ajax-full-render ty-tiles__link edit_user_profile"
                               href="{"checkout.update_profile?profile_id=`$profile.profile_id`"|fn_url}"
                               data-ca-target-id="edit_user_profile_{$profile.profile_id}"
                               data-ca-dialog-title="{__("editing_profile_name", ['[name]' => $profile.profile_name])}"
                            >{__("edit")}</a>
                            {if !$profile.is_selectable}
                                <a class="cm-dialog-opener cm-dialog-auto-size cm-dialog-destroy-on-close hidden js-edit-profile-{$profile.profile_id}"
                                   href="{"checkout.update_profile?profile_id=`$profile.profile_id`&switch_after_update=1"|fn_url}"
                                   data-ca-target-id="edit_user_profile_{$profile.profile_id}"
                                   data-ca-dialog-title="{__("editing_profile_name", ['[name]' => $profile.profile_name])}"
                                >{__("edit")}</a>
                            {/if}
                        </div>
                    </label>
                </div>
            </div>
            <div id="edit_user_profile_{$profile.profile_id}">
            <!--edit_user_profile_{$profile.profile_id}--></div>
        {/foreach}
    </div>

Так пытался. Ajax срабатывает но эффекта загрузки нет.

Если вызывать include и шаблон она показывает уже выбранные данные для кождого профиля. Так как не хватает profile_fields который обновляется через ajax.

Это так не работает

штука, которая вырезает result_ids и отдает их на фронт находится в классе Tygh\Ajax в __descrtuct методе.

Вот что нужно глянуть это получает ли оно там из ob_get_clean контент вашего шаблона.
Второе: в файле

views/checkout/components/profile.tpl

должен тоже быть контейнер с таким айдишником

так и есть, если есть этот класс то при аякс запросе отрендерит всю страницу и так же вернёт result_ids. Если класса нет, то рендерит только “Основное содержимое”, но не как блок, а просто как шаблончик.