cancel
Showing results for 
Search instead for 
Did you mean: 

Заполнять поля по умолчанию

Заполнять поля по умолчанию

Привет форум!

Скажите как при создании нового товара сделать так чтоб некоторые обязательные поля заполнялись автоматически к примеру статус "Включено".

4 REPLIES 4

Re: Заполнять поля по умолчанию

Самый простой вариант - вставить в шаблоне соответствующий код.

Re: Заполнять поля по умолчанию

А если делать не как проще, а как правильнее, то надо бы написать небольшой модуль, который будет обрабатывать событие catalog_product_save_before, заполняя поля, что вам нужны.

 

Edit: хотя... обязательные поля типа текстовых полей, в которые надо что-то ввести, а не выбрать, не допустят сохранения товара. И тут уже или отменять обязательность или менять шаблоны.


ET Web Solutions
extensions, custom work, support

Re: Заполнять поля по умолчанию

Спасибо!

Проблема в том что для меня пока это сложновато я только перехожу к вам с опенкарта и пока только вникаю в логику, может есть какой мануал или пример как это сделать?

Re: Заполнять поля по умолчанию

Не уверен что еще актуально, но оставлю мое решение, на примере заполнения SKU, тут:

 

Значение по умолчанию для атрибута можно задать в таблице. Это вполне нормально для мадженто, но стоит быть осторожным, т.к. при получении пустого объекта продукта в коде, у него будет предустановленный SKU.

Сделать это можно в любом setup файле вашего модуля следующим образом (подходит для любого атрибута):

https://gyazo.com/553d021b19049eb0169fafcf26ab3fea

 

В конфиге (config.xml) модуля для установки должен использоваться класс Mage_Catalog_Model_Resource_Setup:

<global>
        <resources>
            <module_setup>
                <setup>
                    <module>Module_Name</module>
                    <class>Mage_Catalog_Model_Resource_Setup</class>
                </setup>
                <connection>
                    <use>core_setup</use>
                </connection>
            </module_setup>
            .....

Если вы используете другой класс, можете просто создать новый объект этого класса и выполнять эти действия через него во время установки.

 

Вариант с JS:

Если такой вариант не подходит, можете использовать JS код для заполнения этого поля по загрузке.Обновляете лэйаут, добавля свой js файлик (в моем случае это js/custom.js):

https://gyazo.com/cefc1ddd1c1a50c7de82dba2908c687f

 

В файле пишете простой код, который если не находит по загрузке страницы значение у поля sku, заполняет его предустановленным значением:

https://gyazo.com/27ae4d61c04ea7f1b7a009f127dc32d3

Получаете аналогичный результат, но без риска получения ошибки в коде:

https://gyazo.com/9ccb9589f236ef0a53a21305a307d126