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

Тема в разделе "WebAsyst", создана пользователем White_S, 5 июл 2014.

Модераторы: mdss
  1. White_S

    White_S

    Регистр.:
    27 май 2009
    Сообщения:
    477
    Симпатии:
    95
    На сайте есть два вида цен, акционная и старая, как бы. Хочу сделать так чтобы в списке товаров (в админке) было видно обе цены.
    Саму колонку добавить просто
    Код:
    <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}
    Как быть? Сломал всю голову, никак не могу понять откуда в результате берутся эти заголовки и где добавить соответственно. Прошу прощения что дублирую сообщение из темы "Проблем и решения" - но там ответа не получил, а вопрос весьма актуален. Заранее благодарен за советы.
     
  2. kadurinho

    kadurinho Shop Script

    Moderator
    Регистр.:
    21 июн 2011
    Сообщения:
    627
    Симпатии:
    257
    В файле 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. у себя не проверял, но должно работать
     
    White_S нравится это.
  3. White_S

    White_S

    Регистр.:
    27 май 2009
    Сообщения:
    477
    Симпатии:
    95
    Отлично, все работает, спасибо, правда в названии столбца "prdset_list_price", пытался решить запросом к бд
    но что-то не помогло.
     
  4. kadurinho

    kadurinho Shop Script

    Moderator
    Регистр.:
    21 июн 2011
    Сообщения:
    627
    Симпатии:
    257
    prdset_list_price - это название поля, либо в локализации добавить перевод либо же русскими символами прописать

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

    ну и конечно сохранить файл в utf-8 без boom
     
    White_S нравится это.
  5. White_S

    White_S

    Регистр.:
    27 май 2009
    Сообщения:
    477
    Симпатии:
    95
    Обнаружилось что при корректировании из списка товаров цен (без захода в карточку) содержание колонки "старая цена" записывается в поле основной цены. подскажите как это поправить.
    Так выводится обычная цена
    Код:
    <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>
     
    Последнее редактирование: 17 июл 2014