Перейти к содержанию
Официальный форум поддержки Simpla

Некорректно работает доп. checkbox для варианта


Рекомендуемые сообщения

Нужно добавить checkbox для варианта,
1. Добавил checkbox в шаблон

<input name="variants[export][]" value="1" type="checkbox"{if $variant->export} checked{/if}/>

2. Добавил колонку export TINYINT(1) DEFAULT 0 в БД таблица s_variants
3. Добавил вывод колонки в Variants.php

Проблема, если checkbox выбран значение записывается в БД, а если снять метку, то новое значение не сохраняется.(с 0 на 1 меняется, а обратно нет)
В чем проблема?

Ссылка на сообщение
Поделиться на другие сайты

Причина в особенностях работы чекбокса, точнее в особеностях отправки формой его значения на сервер. При значении 0 не передается НИЧЕГО. Простейший способ решения вопроса - заменить чекбокс на select.

Ссылка на сообщение
Поделиться на другие сайты

Насколько будет правильно если я сделаю вот так

Причина в особенностях работы чекбокса, точнее в особеностях отправки формой его значения на сервер. При значении 0 не передается НИЧЕГО. Простейший способ решения вопроса - заменить чекбокс на select.
 

if ($this->request->post('variants'))
{
    $v = $this->request->post('variants');
    if (!in_array('export', $v))
    {
        $v['export'][] = 0;
    }

    foreach($v as $n => $va)
    {
        foreach($va as $i => $v)
        {
            if (empty($variants[$i]))
            {
                $variants[$i] = new stdClass;
            }

            $variants[$i]->$n = $v;
        }
    }
}
Изменено пользователем AFI
Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...