[Помощь] Добавить колонку в заголовок списка товаров в админке

White_S

Постоялец
Регистрация
27 Май 2009
Сообщения
482
Реакции
102
На сайте есть два вида цен, акционная и старая, как бы. Хочу сделать так чтобы в списке товаров (в админке) было видно обе цены.
Саму колонку добавить просто
Код:
<td align="center" style="border-left: solid 1px #F5F0BB;border-right: solid 1px #F5F0BB;"><input type="text" class="multiply_price" name="price_{$GridRows[i].productID}" size="10" value="{$GridRows[i].list_price}" /></td>
А вот с добавлением заголовка в таблицу вышел напряг, заголовок выводится кодом
Код:
<thead>
        <tr class="gridsheader">
            <td><input type="checkbox" class="groupcheckbox" id="group-box" rel="select_product" /></td>
            {include file="backend/gridheader.tpl.html"}
        </tr>
        </thead>
как видим в коде есть инклюд, вот его содержимое
Код:
{section name=j loop=$GridHeaders}
<td nowrap {if $GridHeaders[j].align}align="{$GridHeaders[j].align}"{/if}>
    {if $GridHeaders[j].descsort.enabled eq 1}<img src="images_common/asc_img.gif" alt="asc"  />{/if}
    {if $GridHeaders[j].ascsort.enabled eq 1}<img src="images_common/desc_img.gif" alt="desc"  />{/if}
    {if $GridHeaders[j].ascsort.getvars ne '' and $GridHeaders[j].descsort.getvars ne ''}
        <a class="gridheader"
        href="{if $GridHeaders[j].ascsort.enabled eq '1'}{"`$GridHeaders[j].descsort.getvars`"|set_query_html}{elseif $GridHeaders[j].descsort.enabled eq '1'}{"`$GridHeaders[j].ascsort.getvars`"|set_query_html}{elseif $GridHeaders[j].defsort.getvars}{"`$GridHeaders[j].defsort.getvars`"|set_query_html}{else}{"`$GridHeaders[j].ascsort.getvars`"|set_query_html}{/if}">{$GridHeaders[j].header_name}</a>
    {else}
    {$GridHeaders[j].header_name|default:"&nbsp;"}
    {/if}
    {$GridHeaders[j].add_str}
</td>
{/section}
Как быть? Сломал всю голову, никак не могу понять откуда в результате берутся эти заголовки и где добавить соответственно. Прошу прощения что дублирую сообщение из темы "Проблем и решения" - но там ответа не получил, а вопрос весьма актуален. Заранее благодарен за советы.
 
На сайте есть два вида цен, акционная и старая, как бы. Хочу сделать так чтобы в списке товаров (в админке) было видно обе цены.
Саму колонку добавить просто
Код:
<td align="center" style="border-left: solid 1px #F5F0BB;border-right: solid 1px #F5F0BB;"><input type="text" class="multiply_price" name="price_{$GridRows[i].productID}" size="10" value="{$GridRows[i].list_price}" /></td>
А вот с добавлением заголовка в таблицу вышел напряг, заголовок выводится кодом
Код:
<thead>
        <tr class="gridsheader">
            <td><input type="checkbox" class="groupcheckbox" id="group-box" rel="select_product" /></td>
            {include file="backend/gridheader.tpl.html"}
        </tr>
        </thead>
как видим в коде есть инклюд, вот его содержимое
Код:
{section name=j loop=$GridHeaders}
<td nowrap {if $GridHeaders[j].align}align="{$GridHeaders[j].align}"{/if}>
    {if $GridHeaders[j].descsort.enabled eq 1}<img src="images_common/asc_img.gif" alt="asc"  />{/if}
    {if $GridHeaders[j].ascsort.enabled eq 1}<img src="images_common/desc_img.gif" alt="desc"  />{/if}
    {if $GridHeaders[j].ascsort.getvars ne '' and $GridHeaders[j].descsort.getvars ne ''}
        <a class="gridheader"
        href="{if $GridHeaders[j].ascsort.enabled eq '1'}{"`$GridHeaders[j].descsort.getvars`"|set_query_html}{elseif $GridHeaders[j].descsort.enabled eq '1'}{"`$GridHeaders[j].ascsort.getvars`"|set_query_html}{elseif $GridHeaders[j].defsort.getvars}{"`$GridHeaders[j].defsort.getvars`"|set_query_html}{else}{"`$GridHeaders[j].ascsort.getvars`"|set_query_html}{/if}">{$GridHeaders[j].header_name}</a>
    {else}
    {$GridHeaders[j].header_name|default:"&nbsp;"}
    {/if}
    {$GridHeaders[j].add_str}
</td>
{/section}
Как быть? Сломал всю голову, никак не могу понять откуда в результате берутся эти заголовки и где добавить соответственно. Прошу прощения что дублирую сообщение из темы "Проблем и решения" - но там ответа не получил, а вопрос весьма актуален. Заранее благодарен за советы.

В файле published/SC/html/scripts/modules/test/_methods/b_categories_products.php
есть такого рода строки
$gridEntry->registerHeader("prdset_product_name", 'name', true, 'asc');

собственно смотреть после какого поля было добавлена колонка, после выше указанной (подобной!) строки прописываем

$gridEntry->registerHeader("prdset_list_price", 'list_price', false, 'asc');

P.S. у себя не проверял, но должно работать
 
Отлично, все работает, спасибо, правда в названии столбца "prdset_list_price", пытался решить запросом к бд
INSERT INTO `имя базы`.`SC_local` (`id`, `lang_id`, `value`, `group`, `subgroup`) VALUES ('prdset_list_price', '1', 'Старая Цена', 'general', 'gen');
но что-то не помогло.
 
prdset_list_price - это название поля, либо в локализации добавить перевод либо же русскими символами прописать

$gridEntry->registerHeader("Старая цена", 'list_price', false, 'asc');

ну и конечно сохранить файл в utf-8 без boom
 
Обнаружилось что при корректировании из списка товаров цен (без захода в карточку) содержание колонки "старая цена" записывается в поле основной цены. подскажите как это поправить.
Так выводится обычная цена
Код:
<td align="center" style="border-left: solid 1px #F5F0BB;border-right: solid 1px #F5F0BB;"><input type="text" class="multiply_price" name="price_{$GridRows[i].productID}" size="10" value="{$GridRows[i].Price}" /></td>
А так я вывел колонку "старая цена
Код:
<td align="center" style="border-left: solid 1px #F5F0BB;border-right: solid 1px #F5F0BB;"><input type="text" class="multiply_price" name="price_{$GridRows[i].productID}" size="10" value="{$GridRows[i].list_price}" /></td>
 
Последнее редактирование:
Назад
Сверху