Как добавить новое поле к товару в WebAsyst

17.03.2012 18:37:26

Для чего это нужно думаю всем понятно, перейду сразу к делу:
Начнем с добавления нужного нам поля в таблицу (SC_products) продуктов базы данных.
Предположим, что поле текстовое и будет называться FieldName
Для этого выполняем следующий SQL-запрос (можно воспользоваться myphpadmin или аналогом)

ALTER TABLE `SC_products` ADD `FieldName` TEXT NOT NULL

Теперь необходимо вывести поле в интерфейс администратора.
Открываем файл:
/published/SC/html/scripts/templates/backend/product_settings.html

Допустим, что мы хотим, что бы наше поле выводилось сразу после поля "Цена"
Ищем код:

    <tr>
        <td nowrap>{lbl_str_price}: </td>
        <td>
            <input name="Price" value="{$product.Price|escape:'html'}" size="6" type="text" style="text-align:right;" />  {$default_currency.currency_iso_3}
        </td>
    </tr>

И добавляю после него наш код:

    <tr>
        <td nowrap>Производитель: </td>
        <td>
            <input name="brand" value="{$product.brand|escape:'html'}" size="12" type="text" style="text-align:left;" />
        </td>
    </tr>

Следующий шаг, это добавление нашего поля в класс продукта (без этого поле не будет сохраняться):
/published/SC/html/scripts/classes/class.product.php
В конец списка полей добавляем:

var $FieldName;

Осталось сделать поле видимым для пользователей.

  1. Для изменения карточки товара (в списке товаров ), редактируем файл:

    /published/SC/html/scripts/templates/frontend/product_brief.html

  2. Изменить полное описание товара можно или через файл:

    /published/SC/html/scripts/templates/frontend/product_price.html

    или через панель администрации:

    Меню "магазин" - "дизайн" - "редактор дизайна" - редактировать ВАШУ тему - закладка "продукт" - редактировать хтмл

Сам вывод поля, с проверкой на то, что поле не пустое выглядит так:

{if $product_info.FieldName ne ''} 
Имя_Поля: {$product_info.FieldName|escape:'html'} 
{/if}

Категории: WebAsyst (shop-script)
Яндекс.Метрика