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

munhgauzen

Users
  
  • Posts

    269
  • Joined

  • Last visited

Everything posted by munhgauzen

  1. Ребята может кто подскажет, как убрать проверку на int значение при вводе веса (в б/д я на varchar сменил) но при попытке ввести текстовые данные все равно вводит только 1 int значениие. Но когда напрямую записываю в бд отображается введенное текстовое.
  2. Может кто подскажет похожее готовое решение как на этом сайте: https://www.bodo.ua/
  3. Может кто знает такой модуль сбросьте ссылку пожалуйста пример фильтра ниже. https://www.bodo.ua/
  4. все решил сам <div id="search" class="search-box"> <input type="text1" class="search-txt1" name="search" value="<?php echo $search; ?>" placeholder="<?php echo $text_search; ?>" /> <button type="button" class="search-btn1"><i class="fa fa-search"></i></button>
  5. <div class="search-box"> <input class="search-txt1" type="text1" value="<?php echo $search; ?>" placeholder="<?php echo $text_search; ?>" /> <button type="button" class="search-btn1"><i class="fa fa-search"></i></button> </div> Переделал в рвздвижной вид кнопку поиск все красиво но сам поиск не рабатывает . Кто подскажет то где я промахнулся?
  6. если не получится самому, то смогу помочь сегодня после 20.00 по teamview-ру
  7. в схемам(макетах) страниц добавил лишнюю схему "Аккаунт"
  8. модуль купил но заявленного контента не нашел ("Разрешить редактировать только свои товары") Автору модуля просьба решить проблему как можно быстрее
  9. модуль купил но заявленного контента не нашел ("Разрешить редактировать только свои товары") Автору модуля просьба решить проблему как можно быстрее.
  10. товарищь помог. Может кому пригодится. protected function getTotalBought($product_id, $order_status_id = 0){ $bought = 0; $filter_status = " AND o.order_status_id > 0"; if($order_status_id ) { $filter_status = " AND o.order_status_id IN (".implode(",",$order_status_id).")"; } $query = $this->db->query("SELECT sum(quantity) as `total` FROM `" . DB_PREFIX . "order_product` op LEFT JOIN `".DB_PREFIX."order` AS o ON op.order_id = o.order_id WHERE op.product_id = ".$product_id.$filter_status); if($query->num_rows){ if (!is_null($query->row['total'])) return $query->row['total']; else return 0; } return 0;
  11. согласен но когда реализовывать приходится много "хотелок" за небольшие деньги "и так сойдет"
  12. Ребята помогитее пожалуйста может кто делал. За основу брал модуль https://www.opencart.com/index.php?route=marketplace/extension/info&amp;extension_id=15185&amp;filter_license=0&amp;filter_download_id=31&amp;page=12 Вот эта фунцию перене featured.php (соответсвенно все tpl ипеременные языка заменил) protected function getTotalBought($product_id, $order_status_id = 0){ $bought = 0; $filter_status = " AND o.order_status_id > 0"; if($order_status_id ) { $filter_status = " AND o.order_status_id IN (".implode(",",$order_status_id).")"; } $query = $this->db->query("SELECT sum(quantity) as `total` FROM `" . DB_PREFIX . "order_product` op LEFT JOIN `".DB_PREFIX."order` AS o ON op.order_id = o.order_id WHERE op.product_id = ".$product_id.$filter_status); if($query->num_rows){ return $query->row['total']; } return 0; } Но модуль ничего не выводит Вот все тело featured.php <?php class ControllerModuleFeatured extends Controller { protected function getTotalBought($product_id, $order_status_id = 0){ $bought = 0; $filter_status = " AND o.order_status_id > 0"; if($order_status_id ) { $filter_status = " AND o.order_status_id IN (".implode(",",$order_status_id).")"; } $query = $this->db->query("SELECT sum(quantity) as `total` FROM `" . DB_PREFIX . "order_product` op LEFT JOIN `".DB_PREFIX."order` AS o ON op.order_id = o.order_id WHERE op.product_id = ".$product_id.$filter_status); if($query->num_rows){ return $query->row['total']; } return 0; } public function index($setting) { $this->load->language('module/featured'); $data['heading_title'] = $this->language->get('heading_title'); $data['text_tax'] = $this->language->get('text_tax'); $data['button_cart'] = $this->language->get('button_cart'); $data['button_wishlist'] = $this->language->get('button_wishlist'); $data['button_compare'] = $this->language->get('button_compare'); $this->load->model('catalog/product'); $this->load->model('tool/image'); $data['products'] = array(); if (!$setting['limit']) { $setting['limit'] = 4; } if (!empty($setting['product'])) { $products = array_slice($setting['product'], 0, (int)$setting['limit']); foreach ($products as $product_id) { $product_info = $this->model_catalog_product->getProduct($product_id); if ($product_info) { $data['language'] = $this->language; $data['sold_items'] = $this->getTotalBought($product_info['product_id']); if ($product_info['image']) { $image = $this->model_tool_image->resize($product_info['image'], $setting['width'], $setting['height']); } else { $image = $this->model_tool_image->resize('placeholder.png', $setting['width'], $setting['height']); } if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) { $price = $this->currency->format($this->tax->calculate($product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax'))); } else { $price = false; } if ((float)$product_info['special']) { $special = $this->currency->format($this->tax->calculate($product_info['special'], $product_info['tax_class_id'], $this->config->get('config_tax'))); } else { $special = false; } if ($this->config->get('config_tax')) { $tax = $this->currency->format((float)$product_info['special'] ? $product_info['special'] : $product_info['price']); } else { $tax = false; } if ($this->config->get('config_review_status')) { $rating = $product_info['rating']; } else { $rating = false; } $data['products'][] = array( 'product_id' => $product_info['product_id'], 'thumb' => $image, 'name' => $product_info['name'], 'description' => utf8_substr(strip_tags(html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..', 'price' => $price, 'special' => $special, 'tax' => $tax, 'rating' => $rating, 'reviews' => $product_info['reviews'], 'href' => $this->url->link('product/product', 'product_id=' . $product_info['product_id']) ); } } } if ($data['products']) { if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/module/featured.tpl')) { return $this->load->view($this->config->get('config_template') . '/template/module/featured.tpl', $data); } else { return $this->load->view('default/template/module/featured.tpl', $data); } } } }
  13. Нужно чтобы контент менеджеры не могли редактировать чужие товары (тоесть те товары которые они не вводили)
  14. Сори. Вот тут есть больше информации. https://ru.iiko.help/articles/#!api-documentations/kak-podkluchit-api ps Я не изучал документацию...
  15. Может у кого есть готовое решение? Нужно чтобы модуль по крону(желательно) загружал и обновлял все данные по товарам и категориями. Прошу назвать цену. https://examples.iiko.ru/front/
  16. OccStore 2.3 не могу перенести переменную из product.php в manufacturer.php Для правильного отображения цен на опции товара необходимо значение переменной $price из product.php перенксти лтбо получить в контроллере manufacturer.php Вот массив из product.php $data['options'] = array(); foreach ($this->model_catalog_product->getProductOptions($this->request->get['product_id']) as $option) { $product_option_value_data = array(); foreach ($option['product_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') ? 'P' : false), $this->session->data['currency']); //only + prefics $price_calc = $this->currency->format($this->tax->calculate($option_value['price']+$product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']); } else { $price = false; $price_calc = $data['price']; } //only + prefics $product_option_value_data[] = array( 'quantity' => $option_value['quantity'], 'product_option_value_id' => $option_value['product_option_value_id'], 'option_value_id' => $option_value['option_value_id'], 'name' => $option_value['name'], 'image' => $option_value['image'] ? $this->model_tool_image->resize($option_value['image'], 50, 50) : '', 'price' => $price, 'price_calc' => $price_calc, 'price_prefix' => $option_value['price_prefix'] ); } } А вот массив из manufacturer.php $options = array(); foreach ($this->model_catalog_product->getProductOptions($result['product_id']) as $option) { $product_option_value_data = array(); foreach ($option['product_option_value'] as $option_value) { if ($show_no_stock || !$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']) { if ($option_value['price_prefix'] == '+') { $price = $this->currency->format($this->tax->calculate($option_value['price'], $result['tax_class_id'], $this->config->get('config_tax')), $this->session->data['currency']); $price_calc = $this->currency->format($this->tax->calculate($option_value['price']+$product_info['price'], $product_info['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']); } else { $price_option = $this->currency->format($this->tax->calculate($option_value['price'], $result['tax_class_id'], $this->config->get('config_tax') ? 'P' : false), $this->session->data['currency']); } } else { $price = false; $price_calc = $option_value['price']; } $product_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' => (int)$show_image ? $this->model_tool_image->resize($option_value['image'], 50, 50) : false, 'price' => $price, 'price_calc' => $price_calc, 'price_prefix' => $option_value['price_prefix'], 'quantity' => (int)$show_quantity ? $option_value['quantity'] . $this->language->get('text_oc_quantity') : false ); } } В конечном итоге значение переменной $price разное кто подскажет как получить значение переменной $price из product.php в manufacturer.php Cпасибо заранее
  17. решил самостоятельно. Скрипт верно написан. Была неверно написана форма input Вот готовы ocmod скрипт: <?xml version="1.0" encoding="UTF-8"?> <modification> <name>Spinner Product</name> <code>spinner_product_qty</code> <version>2.0</version> <link></link> <author>opencart.com</author> <file path="catalog/view/theme/*/template/product/product.tpl"> <operation> <search><![CDATA[<?php echo $entry_qty; ?></label>]]></search> <add position="after"><![CDATA[<div class="input-group2 number-spinner"> <span class="input-group-btn"> <button class="btn btn-default" data-dir="dwn"><i class="fa fa-minus"></i></button> </span> <input type="text" min="1" max="1000" name="quantity" value="<?php echo $minimum; ?>" id="d-only" class="form-control text-center" /> <span class="input-group-btn"> <button class="btn btn-default" data-dir="up"><i class="fa fa-plus"></i></button> </span> </div>]]></add> </operation> <operation> <search><![CDATA[<input type="text" name="quantity" value="<?php echo $minimum; ?>" size="2" id="input-quantity" class="form-control" />]]></search> <add position="replace"><![CDATA[]]></add> </operation> <operation> <search><![CDATA[<?php echo $footer; ?>]]></search> <add position="before"><![CDATA[ <script type="text/javascript"><!-- $(document).on('click', '.number-spinner button', function () { var btn = $(this), oldValue = btn.closest('.number-spinner').find('input').val().trim(), newVal = 1; if (btn.attr('data-dir') == 'up') { newVal = parseInt(oldValue) + 1; } else { if (oldValue > 1) { newVal = parseInt(oldValue) - 1; } else { newVal = 1; } } btn.closest('.number-spinner').find('input').val(newVal); }); //--></script><script> document.getElementById("d-only").onkeypress= function(event){ event= event || window.event; if (event.charCode && (event.charCode < 48 || event.charCode > 57))// проверка на event.charCode - чтобы пользователь мог нажать backspace, enter, стрелочку назад... return false; }; </script>]]></add> </operation> </file> </modification>
  18. Коллеги и друзья - прошу помощи. Добавил корректировку в ocmod "плюс минус количества" чтобы можно было ввести только цифры.Теперь скрипт не хочет передавать данные в переменную newVal - теперь она всегда равна 1(еденице) Подскажите пожалуйста как решить проблемку. Заранее благодарен <search><![CDATA[<?php echo $footer; ?>]]></search> <add position="before"><![CDATA[<script type="text/javascript"><!-- $(document).on('click', '.number-spinner button', function () { var btn = $(this), oldValue = btn.closest('.number-spinner').find('input').val().trim(), newVal = 1; if (btn.attr('data-dir') == 'up') { newVal = parseInt(oldValue) + 1; } else { if (oldValue > 1) { newVal = parseInt(oldValue) - 1; } else { newVal = 1; } } btn.closest('.number-spinner').find('input').val(newVal); }); //--></script><script> document.getElementById("d-only").onkeypress= function(event){ event= event || window.event; if (event.charCode && (event.charCode < 48 || event.charCode > 57))// проверка на event.charCode - чтобы пользователь мог нажать backspace, enter, стрелочку назад... return false; }; </script>]]></add>
  19. только что купил модуль но при это не ввел домен. При этом оплата прошла успешно деньги снялись, но модуль в покупки не добавился. Просьба помочь
  20. Ребята может у кого есть, кто делал. Поделитесь пожалуйста. Смысл простой: одному товару добавляем префикс "руб./пог. метр" другому допустим просто "руб." третьему "цена указана приблизительно" ну и тп.
  21. Ребята приветствую. Может кто подскажет(я пока в javascript) не силен. Нужно добавить условие, чтобы при при вводе значения вручную (не только кнопкой "плюс" либо " минус") можно было менять значения Заранее спасибо. <script type="text/javascript"><!-- $(document).on('click', '.number-spinner button', function () { var btn = $(this), oldValue = btn.closest('.number-spinner').find('input').val().trim(), newVal = 1; if (btn.attr('data-dir') == 'up') { newVal = parseInt(oldValue) + 1; } else { if (oldValue > 1) { newVal = parseInt(oldValue) - 1; } else { newVal = 1; } } btn.closest('.number-spinner').find('input').val(newVal); }); //--></script>
  22. Доброго дня.! Ребята может кто подскажет где снять ограничение на количество символов в описании опции По дефолту оно 128. А нужно в двое больше. В таблице oc_option_value_description я уже изменил варчар с128 на text Но все равно ругается не дает записать описание .
×
×
  • 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.