Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

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


Shket

Recommended Posts

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

Вчера курил день и ночь валидацию чекбокса .. и пытался засунуть это все в движок (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"

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

Надіслати
Поділитися на інших сайтах


  • 4 weeks later...

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

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

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

Надіслати
Поділитися на інших сайтах


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

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

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.