Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Frunky

Newbie
  
  • Posts

    15
  • Joined

  • Last visited

Frunky's Achievements

Apprentice

Apprentice (3/14)

  • First Post
  • Collaborator
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

0

Reputation

  1. Блин, как же бесят такие люди, да, может и плохой код, но он - работает, и это гораздо лучше, чем писать бесполезные сообщения..
  2. Кому надо, вот, готовый скрипт: <?php init_pdo(); function init_pdo () { try { $dsn = "mysql:dbname=dbname;host=localhost"; $pdo = new PDO($dsn, 'dbuser', 'password', array( PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8' )); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); for($i=0; $i <= 7000; $i++){ $coupon = ''; if($i < 10) { $coupon = '000'.$i; } else if($i < 100) { $coupon = '00'.$i; } else if($i < 1000) { $coupon = '0'.$i; } else if($i <= 7000) { $coupon = $i; } $sql = "insert into `oc_coupon` (`name`, `code`, `type`,`discount`,`logged`,`shipping`,`total`,`date_start`,`date_end`,`uses_total`,`uses_customer`,`status`,`date_added`) values ('Купоны', '".(string) $coupon."' ,'P','3','0','0','0',STR_TO_DATE('2015-10-28', '%Y-%m-%d'),STR_TO_DATE('2085-11-30', '%Y-%m-%d'),'1','1','1',STR_TO_DATE('2015-10-28', '%Y-%m-%d'))"; $q = $pdo->prepare($sql); $q->execute(); } } catch(PDOException $e) { var_dump($e); die; } return $pdo; } ?>
  3. Всем спасибо большое, разобрался)
  4. Друг, спасибо большое, но , к сожалению, не создает 7000 купонов, а лишь один. нужно как-то зациклить 'code' до 7000 с 0000
  5. Всем доброго времени суток! Срочно нужна помощь с купонами. Нужно создать 7000 купонов с одинаковыми параметрами,единственное различие это - номера купонов, их нумерация должна быть в такой последовательности: 0000,0001,0002...6996,6997,6998,6999,7000.и т.д Параметры: скидка 3%, срок действия бесконечный ну или лет 50. Каким способом это можно реализовать? Было бы здорово,если был бы какой-нибудь модуль,но такового я не нашёл. Экспорт через Excel?тогда как именно заполнить документ? Или же сделать sql запрос? Какой? Прошу помощи, спасибо большое!
  6. Доброго времени суток! Столкнулся с такой проблемой, на сайте нужно сделать 6000 купонов с 3% скидкой, кол-во использования - неограниченно, срок действия - бесконечный, нумерация купонов от 0001-6000(т.е 0002,0003,0004..5292,5293 и.тд) Естественно, создавать каждый купон отдельно, это не очень круто:) У меня в таблице купонов уже есть 3 купона, какой sql запрос нужно сделать, чтобы он автоматически сгенерировал все купоны по подобию. В целом, я имею представление, что нужно зациклить все это создание купонов, но как реализовать не знаю. Может быть вообще есть такой модуль? или как-нибудь экспортировать купоны из таблицы excel'a. Спасибо за внимание, надеюсь на Вашу помощь.
  7. Да,я немного приборзел. Спасибо большое еще раз за помощь)
  8. Круто! Все получилось!Только вот проблема.Допустим у нас 4 опции( 2 кг. 4 кг. 6 кг и 8 кг.) цена соответственно везде разная,но ,если кликнуть на любую опцию , цена выбирается стандартная. Как с этим быть?
  9. Tom, Спасибо большущее!!!Выручили И главное оперативно-то как!А как сделать так, что бы по клику на опцию(чекбокс) происходило добавление товара в корзину? Я примерно представляю что это реализуется через яваскрипт. нужно в опцию добавить функцию onclick в ,допустим, <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?> или <input type="checkbox" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" /> ?Еще раз спасибо
  10. Извиняюсь за долгий ответ. В общем, я взял часть кода из catalog/controller/product.php $this->data['options'] = array(); foreach ($this->model_catalog_product->getProductOptions($this->request->get['product_id']) as $option) { if ($option['type'] == 'select' || $option['type'] == 'radio' || $option['type'] == 'checkbox' || $option['type'] == 'image') { $option_value_data = array(); foreach ($option['option_value'] as $option_value) { if (!$option_value['subtract'] || ($option_value['quantity'] > 0)) { if ((($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) && (float)$option_value['price']) { $price = $this->currency->format($this->tax->calculate($option_value['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } $option_value_data[] = array( 'product_option_value_id' => $option_value['product_option_value_id'], 'option_value_id' => $option_value['option_value_id'], 'name' => $option_value['name'], 'image' => $this->model_tool_image->resize($option_value['image'], 50, 50), 'price' => $price, 'price_prefix' => $option_value['price_prefix'] ); } } $this->data['options'][] = array( 'product_option_id' => $option['product_option_id'], 'option_id' => $option['option_id'], 'name' => $option['name'], 'type' => $option['type'], 'option_value' => $option_value_data, 'required' => $option['required'] ); } elseif ($option['type'] == 'text' || $option['type'] == 'textarea' || $option['type'] == 'file' || $option['type'] == 'date' || $option['type'] == 'datetime' || $option['type'] == 'time') { $this->data['options'][] = array( 'product_option_id' => $option['product_option_id'], 'option_id' => $option['option_id'], 'name' => $option['name'], 'type' => $option['type'], 'option_value' => $option['option_value'], 'required' => $option['required'] ); } } и вставил в catalog/contoller/category.php перед $this->data['products'][] = array( Далее изменил вид шаблона категории. Из Catalog/view/theme/Ancart(так называется тема)/template/product/product.tpl взял часть кода <?php if ($options) { ?> <div class="options"> <h2><?php echo $text_option; ?></h2> <br /> <?php foreach ($options as $option) { ?> <?php if ($option['type'] == 'select') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <select name="option[<?php echo $option['product_option_id']; ?>]"> <option value=""><?php echo $text_select; ?></option> <?php foreach ($option['option_value'] as $option_value) { ?> <option value="<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> </option> <?php } ?> </select> </div> <br /> <?php } ?> <?php if ($option['type'] == 'radio') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <?php foreach ($option['option_value'] as $option_value) { ?> <input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" /> <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> </label> <br /> <?php } ?> </div> <br /> <?php } ?> <?php if ($option['type'] == 'checkbox') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <?php foreach ($option['option_value'] as $option_value) { ?> <input type="checkbox" name="option[<?php echo $option['product_option_id']; ?>][]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" /> <label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> </label> <br /> <?php } ?> </div> <br /> <?php } ?> <?php if ($option['type'] == 'image') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <table class="option-image"> <?php foreach ($option['option_value'] as $option_value) { ?> <tr> <td style="width: 1px;"><input type="radio" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option_value['product_option_value_id']; ?>" id="option-value-<?php echo $option_value['product_option_value_id']; ?>" /></td> <td><label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><img src="<?php echo $option_value['image']; ?>" alt="<?php echo $option_value['name'] . ($option_value['price'] ? ' ' . $option_value['price_prefix'] . $option_value['price'] : ''); ?>" /></label></td> <td><label for="option-value-<?php echo $option_value['product_option_value_id']; ?>"><?php echo $option_value['name']; ?> <?php if ($option_value['price']) { ?> (<?php echo $option_value['price_prefix']; ?><?php echo $option_value['price']; ?>) <?php } ?> </label></td> </tr> <?php } ?> </table> </div> <br /> <?php } ?> <?php if ($option['type'] == 'text') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" /> </div> <br /> <?php } ?> <?php if ($option['type'] == 'textarea') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <textarea name="option[<?php echo $option['product_option_id']; ?>]" cols="40" rows="5"><?php echo $option['option_value']; ?></textarea> </div> <br /> <?php } ?> <?php if ($option['type'] == 'file') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <input type="button" value="<?php echo $button_upload; ?>" id="button-option-<?php echo $option['product_option_id']; ?>" class="button"> <input type="hidden" name="option[<?php echo $option['product_option_id']; ?>]" value="" /> </div> <br /> <?php } ?> <?php if ($option['type'] == 'date') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" class="date" /> </div> <br /> <?php } ?> <?php if ($option['type'] == 'datetime') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" class="datetime" /> </div> <br /> <?php } ?> <?php if ($option['type'] == 'time') { ?> <div id="option-<?php echo $option['product_option_id']; ?>" class="option"> <?php if ($option['required']) { ?> <span class="required">*</span> <?php } ?> <b><?php echo $option['name']; ?>:</b><br /> <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" class="time" /> </div> <br /> <?php } ?> <?php } ?> </div> <?php } ?> И добавил в catalog/view/theme/ancart/template/product/category.tpl после <div class="price"> <?php if (!$product['special']) { ?> <?php echo $product['price']; ?> <?php } else { ?> <span class="price-old"><?php echo $product['price']; ?></span> <span class="price-new"><?php echo $product['special']; ?></span> <?php } ?> <?php if ($product['tax']) { ?> <br /> <span class="price-tax"><?php echo $text_tax; ?> <?php echo $product['tax']; ?></span> <?php } ?> </div> <?php } ?> <div class="cart"> <input type="button" value="<?php echo $button_cart; ?>" onclick="addToCart('<?php echo $product['product_id']; ?>');" class="button" /> </div> <div class="wishlist"><a onclick="addToWishList('<?php echo $product['product_id']; ?>');"><?php echo $button_wishlist; ?></a></div> <div class="compare"><a onclick="addToCompare('<?php echo $product['product_id']; ?>');"><?php echo $button_compare; ?></a></div> </div> <?php } ?> Результат: в хедере.А сами категории ни капельки не изменились. Нужен примерно такой вид: Но его я думаю добьюсь сам,главное,чтобы выводились опции товара под самим товаром.Бонусы были бы не лишними.Заранее Спасибо.
  11. Да,нужно расписать что и куда. Я знаю,что работать надо с category.php и category.tpl, а сам вывод опции брать с product.php и product,tpl, пробовал копировать то,что относится к опциям,но все безуспешно.Единственное,что получил так это ошибки в хедере.
  12. Доброго времени суток! Прошу помощи,уже не знаю что делать. В общем нужно сделать так, чтобы опции товара(вес) выводились в категориях и напротив каждой опции была кнопка "Купить",либо,Чтобы цена или вес были кликабельны. Купил https://opencartforum.com/files/file/634-опции-товара-в-категориях-product-options-in-category/ Однако при закачке xml файла куда положено никаких изменений не происходит(делал все по инструкции). Сам Автор уже давно не заходил и,мне кажется, поддержки данного модуля уже не будет.Тема не стандартная - Ancart(ocshop 1.5.6.4). Также находил похожие темы на форуме,все что там описывается - пробовал, но там выходят php ошибки. Надеюсь на Вашу помощь. Спасибо.
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.