Перейти к публикации
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...

slesar23

Новичок
  
  • Публикаций

    4
  • Зарегистрирован

  • Посещение

Посетители профиля

568 просмотров профиля

Достижения slesar23

Rookie

Rookie (2/14)

  • First Post
  • Conversation Starter
  • Week One Done
  • One Month Later
  • One Year In

Последние медали

0

Репутация

  1. Ну ладно, никто не отвечает.... Нашел частичное решение на просторах интернета, реализован запрет на добавление, если количество больше чем на складе. Учтено текущее количество в корзине. Вопрос: как вывести в шаблон сообщение об ошибочном количестве, при срабатывании этого запрета. С json я еще не сталкивался, поэтому и возник такой вопрос. файл /system/library/cart.php, добавляем public function checkStock($product_id, $qty){ $canAdd = true; $cartProducts = $this->getProducts(); if(!empty($cartProducts)){ $products_ids = array(); foreach ($cartProducts as $pData) { if(isset($products_ids[$pData['product_id']])){ $products_ids[$pData['product_id']]++; } else { $products_ids[$pData['product_id']] = 1; } } foreach ($products_ids as $p_id => $count) { if($product_id == $p_id){ $stock = $this->db->query("SELECT quantity FROM " . DB_PREFIX . "product p WHERE p.product_id = '" . (int)$product_id . "' AND p.date_available <= NOW() AND p.status = '1'")->row(); if($stock - $count - $qty <= 0){ $canAdd = false; } break; } } } return $canAdd; } Файл /catalog/controller/checkout/cart.php добавляем перед if (!$json) { $this->cart->add($this->request->post['product_id'], $quantity, $option); вот это: $canAdd = $this->cart->checkStock($this->request->post['product_id'], $quantity); if(!$canAdd){ $json['error']['stock'] = 'Error message'; }
  2. Всем привет, продолжаю разбираться с ocshop 1.5..... Освоил шаблоны, css стили, несложные скрипты. Не могу найти подробной инфы как реализовать проверку числового поля ввода на лету, т.е.: 1. человек на странице товара вводит желаемое количество в поле: <input type="text" name="quantity" class="quant" value="<?php echo $minimum; ?>" id="input-quantity" size="5"/> Как только он убирает из поля курсор, т.е. кликает где то в другом месте, хотелось бы проверять введенное количество на: а) формат ввода: целые положительные числа б) должно быть больше или равно минимального количества заказа <?php echo $minimum; ?> в) должно быть меньше или равно количества на складе <?php echo $stock; ?> г) должно быть кратно минимальному количеству <?php echo $minimum; ?> После проверки корректировать введенные данные, округляя до ближайшего кратного или до минимума и максимума. 2. Если человек после ввода неугодного мне числа сразу кликнул на корзину, то выполнять ту же функцию на этом "клике" и заносить в корзину корректное значение. Алгоритм проверки я напишу, мне бы понять саму структуру как выполнить эту проверку, какие атрибуты нужно добавить в поле ввода, как задать выполнение скрипта проверки поля и общую структуру скрипта. И главное, как отследить событие "клик" при выходе из поля ввода, по которому все это будет выполняться. Не знаю, можно ли тут делиться ссылками на сайт где это реализовано, поэтому не буду.
  3. AWARO, nexus, спасибо, видимо ранее не работало из-за opera>история>очистить кэш и куки. Через ctrl+F5 все пошло.
  4. Приветствую всех! Я новичок, сижу разбираюсь, никак не вкурю как связать новый объект в шаблоне с новым стилем в stylesheet.css. Например вот, из стандратного модуля viewed.tpl. Изменил кнопку купить на ссылку и добавил новый объект (неважно что там сейчас нет ссылки): <div class="cart"> <input type="button" value="<?php echo $text_info; ?>" onclick="top.location.href=('<?php echo $product['href']; ?>');" class="button" /> <a class="new_object">новый объект</a> </div> Теперь я хочу в stylesheet.css прописать для new_object новый стиль, но что бы я не делал, стиль надписи не меняется. Т.е. не могу понять как связать блок описания стиля с классом new_object. Возможно что то неправильно пишу или нужно добавить дополнительные свойства кроме class в шаблоне. P.S. шаблон ocshop, версия 1.5.6. Подскажите пожалуйста.
×
×
  • Создать...

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

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