Автор Тема: Чекбоксы кастомные в панели администратора  (Прочитано 165 раз)

03 Ноябрь 2022, 12:29:12
  • Новичок
  • *
  • Сообщений: 2
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
здравствуйте
пробую создать лист чекбоксов в админ панели на странице настроек продавца

через овверайд добавляю в соответствующий контроллер AdminCustomersController.php такой код
$this->fields_form = array(
 'input' => array(
array(
'type' => 'checkbox',
'label' => $this->l('Вид магазина'),
'desc' => $this->l('Выберите при необходимости несколько видов'),
'name' => 'store_type',
        /* 'required' => true, */
'values' => array(
'query' => $store_type,
'id' => 'store_type',
'name' => 'name',
),
)
)
);

$store_type = array(
        array('id' => '1', 'name' => $this->l('В торговом центре'), 'val' => '1'),     
array('id' => '2', 'name' => $this->l('Отдельностоящий'), 'val' => '2'),
array('id' => '3', 'name' => $this->l('Рынок'), 'val' => '3'),     
array('id' => '4', 'name' => $this->l('Интернет продажи'), 'val' => '4'),
);


в классе Customer.php в $definition добавляю так же эти поля
в базе добавляю в таблицу customers так же эти все колонки
затем удаляю файл class_index.php из кеша

иду в настройки продавца, вижу созданные поля, вижу что имена элементов чекбоков соответствуют колонкам в базе и строкам в $definition

настройки сохраняются в базе, берутся из value элементов чекбоксов...не могу понять как выводить отмеченными выбранные ранее чекбоксы после сохранения когда страница перезагружается?
04 Ноябрь 2022, 13:14:59
Ответ #1
  • Ветеран
  • *****
  • Сообщений: 33325
  • Репутация: +26771/-0
    • Просмотр профиля
В шаблон
{if !empty($название переменной чб)}checked="checked"{/if}
04 Ноябрь 2022, 14:22:06
Ответ #2
  • Новичок
  • *
  • Сообщений: 2
  • Репутация: +0/-0
  • Сообщество PrestaShop
    • Просмотр профиля
В шаблон
{if !empty($название переменной чб)}checked="checked"{/if}

благодарю за ответ, а как быть если поля рендерятся через хелпер?

return AdminController::renderForm();