Opencart (OcStore) Админка категории добавить свои поля из базы

Иногда хочется добавить свои поля для категории.

Для этого делаем несколько шагов:

  1. Добавляем поле в таблицу oc_category, например nacenka
  2. Добавляем это поле в модель /admin/model/catalog/category.php в функцию
    editCategory($category_id, $data)
    ....
    `nacenka` = '" . $nacenka . "',
    ....

  3. Добавляем это поле в контроллере /admin/controller/catalog/category.php в функции getForm()

    примерно в строке 518

            if (isset($this->request->post['nacenka'])) {
                if($this->request->post['nacenka'] == 0){
                    $data['nacenka'] = 1;
                } else {
                    $data['nacenka'] = $this->request->post['nacenka'];
                }
            } elseif (!empty($category_info)) {
                if($category_info['nacenka'] ==0){
                    $data['nacenka'] = 1;
                } else {
                    $data['nacenka'] = $category_info['nacenka'];
                }
            } else {
                $data['nacenka'] = 1;
            }

  4. В шаблоне /admin/view/template/catalog/category_form.tpl выводим это поле

                      <div class="form-group">
                        <label class="col-sm-2 control-label" for="input-nacenka"><span>Наценка</span></label>
                        <div class="col-sm-10">
                          <input type="text" name="nacenka" value="<?php echo $nacenka; ?>" placeholder="1" id="input-nacenka" class="form-control" />
                        </div>
                      </div>

На этом все должно работать.

Для вывода данных из этого поля на морде сайта редактируем файлы контроллера и шаблона нужных страниц.