Перейти к содержанию
Shket

Проверка chickbox на нажатие (Расширение модуля доставки)

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

Уважаемые знатоки !

Вчера курил день и ночь валидацию чекбокса .. и пытался засунуть это все в движок (ocstore 0.1.7)

В общем задача:

Есть несколько типов доставки (там радиокнопки стоят):

Хочу добавить под кажый пункт с рабиокнопкой поле с чекбоксом (Типа улуга - курьер приедет сам за деньгами к клиенту)

Так вот ..

В шаблоне втыкаю чекбоксы после радиокнопок

<?php if (!$shipping_method['error']) { ?>
          <?php foreach ($shipping_method['quote'] as $quote) { ?>
          <tr>
            <td width="1"><label for="<?php echo $quote['id']; ?>">
                <?php if ($quote['id'] == $shipping) { ?>
                <input type="radio" name="shipping_method" value="<?php echo $quote['id']; ?>" id="<?php echo $quote['id']; ?>" checked="checked" style="margin: 0px;" />
                <?php } else { ?>
                <input type="radio" name="shipping_method" value="<?php echo $quote['id']; ?>" id="<?php echo $quote['id']; ?>" style="margin: 0px;" />
                <?php } ?>
              </label></td>
            <td width="534"><label for="<?php echo $quote['id']; ?>" style="cursor: pointer;"><?php echo $quote['title']; ?></label></td>
            <td width="1" align="right"><label for="<?php echo $quote['id']; ?>" style="cursor: pointer;"><?php echo $quote['text']; ?></label></td>
          </tr>

          <tr>
            <td width="1">
                <input type="checkbox" name="checkme" /> 
</td>
            <td width="534"><?php echo $quote['title_nal']; ?></td>
            <td width="1" align="right"><?php echo $quote['text_n']; ?></td>
          </tr>

Получается чтото вроде этого:

http://floomby.ru/content/o3EVLXGZUe/

Затем правлю скрипт доставки:

В общем небуду сильно углубляться .. но все встало на моменте проверки чекбокса (нажат \ ненажат)

Если нажат: прибавить сумму к тоталу

Если нет: оставить прежней

Валидация:

function checkbox_verify($_name)
{
$result=0;
if (isset($_REQUEST[$_name]))
{ if ($_REQUEST[$_name]=='on') { $result=1; } else { $result=0; }
}
return $result;
}

Эту фонкцию прописал в тотже файлик, где и расчет доставки идет - и тамже она и вызывается

Вся трабла в том, что всегда значение возвращается 0 (как бы я ни крутил эту функцию, и откуда бы ни вызывал ее)

даже если изначально поставили checkbox="checked"

Нижайше прошу хэлпа )

Поделиться сообщением


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

Вопрос по сей день открыт ..

Некоторое время не занимался этой штукой .. передышку сделал )

Сейчас опять со свежими силами взялся лопатить . Но пока не понимаю куда надо копать =( Задайте мне какой нить вектор, пожалуйста )

Поделиться сообщением


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

данные со станицы выбора доставки не попадают напрямую в модуль доставки, сначала они отсылаются на контроллер checkout/guest_step_1 (для гостевого заказа) или checkout/shipping (для зарегистрированных) а вот там уже можно вашу переменную прочитать, только непонятно зачем делать для проверки отдельную функцию, тут одним if'ом обойтись можно)

чтобы получить данные в модуле доставки используйте сессии

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.