Вкладка на странице редактирования записи в своем модуле

Как добавить вкладку?

... {capture name="mainbox"}
<form action="{""|fn_url}" enctype="multipart/form-data" method="post" name="points_group_form"
      class="form-horizontal form-edit points_group_form">
    <input type="hidden" class="cm-no-hide-input" name="point_id" value="{$id}"/>
    <input type="hidden" class="cm-no-hide-input" name="selected_section"
           value="{$smarty.request.selected_section}"/>
    {capture name="tabsbox"}
        <div id="content_details">Основной контент</div>
        <div id="content_custom" class="hidden">Контент доп вкладки</div>
    {/capture}
    {include file="common/tabsbox.tpl" content=$smarty.capture.tabsbox active_tab=$smarty.request.selected_section track=true}
...

на странице редактировать объект, отображается только пункт “общее” в <ul class="nav nav-tabs">, как туда добавить пункт чтобы открывалась доп вкладка?

Всё, разобрался - в контроллере надо было добавить в массив вкладку

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

Из коробки такого нет

Просто например при редактировании информации у пользователя (покупателя), внизу есть блок адрес доставки и у него есть такой пункт “Адрес доставки и адрес плательщика совпадают”, если стоит да, то поля заблокированы в адресе доставки, если нет - то можно редактировать. И там такой интересный код по пути: \design\backend\templates\views\profiles\components\profile_fields.tpl
А именно:

    <span class="shipping-flag-title">
        {if $section == "S"}
            {__("shipping_same_as_billing")}
        {else}
            {__("text_billing_same_with_shipping")}
        {/if}
    </span>

    <label class="radio inline">
        <input class="cm-switch-availability cm-switch-inverse " type="radio" name="ship_to_another" value="0" id="sw_{$body_id}_suffix_yes" {if !$ship_to_another}checked="checked"{/if} />
        {__("yes")}
    </label>
    
    <label class="radio inline">
        <input class=" cm-switch-availability" type="radio" name="ship_to_another" value="1" id="sw_{$body_id}_suffix_no" {if $ship_to_another}checked="checked"{/if} />
        {__("no")}
    </label>
</div>

А потом ниже

{if $shipping_flag && !$ship_to_another}
    {assign var="disabled_param" value="disabled=\"disabled\""}
{else}
    {assign var="disabled_param" value=""}
{/if}

и я почему то не вижу как / где присваивается эта переменная $ship_to_another + не вижу при переключении каких либо отправок аякса или еще что то, может не там смотрю…

p.s. такой еще вопрос - можно как либо посмотреть готовый собранный запрос mysql который выполняется?

Это в контроллере app/controllers/backend/profiles.php функцией fn_check_shipping_billing проверяется

Запросов нет. Яваскриптом меняется содержимое селектбокса. Изначально в шаблоне есть все штаты для всех стран

имелось ввиду, когда формируешь запрос, например:

// Получим информацию по Даниилу Баженову
$where = array(
    'firstname' => 'Даниил',
    'lastname' => 'Баженов',
);

$user_data = db_get_row('SELECT * FROM ?:users WHERE ?w', $where);

посмотреть строку, чтобы выдало при fn_print_r :
SELECT * FROM cscart_users WHERE firstname = 'Даниил' AND lastname = 'Баженов'

Можете использовать хук ‘db_query’ в файле

app/Tygh/Database/Connection.php

Спасибо, помогло и возник такой вопрос, а в ?w нельзя соединять поля?

$where = [
    array('table_1.social_point_id', '=', 'table_2.point_id'),
    array('table_1.url', 'LIKE', $url['host']),
];

В запросе идет: ... WHERE ?w ...
В итоге получается: ... WHERE table_1.social_point_id = 'table_2.point_id' AND table_1.url LIKE '<тут урл>' ...

А хотелось бы: ... WHERE table_1.social_point_id = table_2.point_id AND table_1.url LIKE '%<тут урл>%' ...

т.е. надо делать через ?p лучше?)

$condition = db_quote(' AND table_1.social_point_id = table_2.point_id');
$condition .= db_quote(' AND table_1.url = ?l', $url['host']);

... WHERE ?p ....", $condition);

Так не пробовали?

$where = [
    array('table_1.social_point_id', '=', 'table_2.point_id'),
    array('table_1.url', 'LIKE', "%$url[host]%"),
];

с LIKE пробовал да, работает так
А вот со связью столбцов не работает, table_2.point_id в таком случае становится значением а не полем

Да, похоже, что там защита есть для значения