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

Sheedy

Користувачі
  
  • Публікації

    98
  • З нами

  • Відвідування

Усі публікації користувача Sheedy

  1. Категории есть их 127 шт везде работает выбор главной категории кроме карточки товара..
  2. На сайте всего один язык, модули новые не ставили и модификаторы тоже.. Работало до определённого момента и отпал, а причину узнать не могу (
  3. Здравствуйте, при создании карточки в разделе “Связи” внезапно пропала возможность выбора главной категории, когда создавался следующий на очереди товар. В созданных товарах этот список также приобрел данный вид. Подскажите, сталкивался ли кто-то с этим и причина возникновения?
  4. Здравствуйте, появилась такая ошибка Undefined index: meta_h1, на главной, в категориях и товарах и в админке в карточке товара убрал meta_h1?, что наверное не правильно, а просто оставил heading_title, на фронте ошибки пропали, а в админке нет //if ( !empty($product_info['meta_h1']) ) { $data['heading_title'] = $product_info['meta_h1']; //} else { $data['heading_title'] = $product_info['name']; //} вот ошибки с админки подскажите как правильно исправить ошибку и причину возникновения ошибки
  5. Здравствуйте, подскажите почему не работает? В контролер success.php добавил эту часть кода для гугл аналитикс $data['order_id'] = $this->session->data['order_id']; $data['total'] = $this->currency->reformat($this->cart->getTotal(), $this->config->get('config_currency')); $products = $this->cart->getProducts(); $my_feeds = array(); if ($products) { foreach ($products as $product) { $my_feeds[] = array( 'name' => html_entity_decode($product['name'], ENT_QUOTES, 'UTF-8'), 'sku' => (empty($result['sku'])) ? '' : $this->language->get('text_sku') .' '. $result['sku'], 'text' => $category_info['name'], 'price' => $this->currency->reformat($product['price'], $this->config->get('config_currency')), 'quantity' => $product['quantity'] ); } } $data['feeded'] = $my_feeds; и это уже в самом шаблоне <script> dataLayer = [{ 'transactionId': "{{ order_id }}", 'transactionTotal': "{{ total }}", 'transactionProducts': [ {% for key, item in feeded %} { 'name': '{{ item.name }}', 'sku': '{{ sku }}', 'categores': '{{categores}}', 'price': '{{ item.price }}', 'quantity': '{{ item.quantity }}', }{% if key < (feeded|length - 1) %},{% endif %} {% endfor %} ] }]; </script> вроде всё правильно сделал, но поля ску и категория пустые
  6. Здравствуйте! Создал ещё одно описание в статьях, текст с админки в базу прилетает, а с базы уже на сам сайт вытянуть не могу, подскажите плиз( вот код с catalog/model что нужно дописать чтобы вывести ? в контролере дописал по примеру основного поля "описание" ток с этим файлом не ладится( <?php class ModelCatalogInformation extends Model { public function getInformation($information_id) { $query = $this->db->query("SELECT DISTINCT * FROM " . DB_PREFIX . "information i LEFT JOIN " . DB_PREFIX . "information_description id ON (i.information_id = id.information_id) LEFT JOIN " . DB_PREFIX . "information_to_store i2s ON (i.information_id = i2s.information_id) WHERE i.information_id = '" . (int)$information_id . "' AND id.language_id = '" . (int)$this->config->get('config_language_id') . "' AND i2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND i.status = '1'"); return $query->row; } public function getInformations() { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "information i LEFT JOIN " . DB_PREFIX . "information_description id ON (i.information_id = id.information_id) LEFT JOIN " . DB_PREFIX . "information_to_store i2s ON (i.information_id = i2s.information_id) WHERE id.language_id = '" . (int)$this->config->get('config_language_id') . "' AND i2s.store_id = '" . (int)$this->config->get('config_store_id') . "' AND i.status = '1' ORDER BY i.sort_order, LCASE(id.title) ASC"); return $query->rows; } public function getInformationLayoutId($information_id) { $query = $this->db->query("SELECT * FROM " . DB_PREFIX . "information_to_layout WHERE information_id = '" . (int)$information_id . "' AND store_id = '" . (int)$this->config->get('config_store_id') . "'"); if ($query->num_rows) { return (int)$query->row['layout_id']; } else { return 0; } } }
  7. Здравствуйте, нужно в sitemap сделать разбивку категорий по столбцам, смотрел пример как сделано в меню, но не получилось... Подскажите плиз) {% for category_1 in categories %} <h3><a href="{{ category_1.href }}">{{ category_1.name }}</a></h3> <div class="grid-sitemap"> {% if category_1.children %} <ul> {% for category_2 in category_1.children %} <li><a href="{{ category_2.href }}">{{ category_2.name }}</a> {% if category_2.children %} <ul> {% for category_3 in category_2.children %} <li><a href="{{ category_3.href }}">{{ category_3.name }}</a></li> {% endfor %} </ul> {% endif %} </li> {% endfor %} </ul> {% endif %} </li> </div> {% endfor %}
  8. Как убрать спаны, они идут как тайтлы и с ними же и проблема))
  9. Как убрать спаны, они идут как тайтлы и с ними же и проблема))
  10. почистил, результат ноль) https://sheedy.fun/index.php?route=blog/article&blog_category_id=69&article_id=125 ссылка на страницу
  11. делаю, но по факту ничего не происходит может в контролере нужно прописать ещё что-то?
  12. Добрый день, подскажите как сделать проверку на пустой блок? Вот блок где с админки ввожу данные и вывожу на фронте, мне нужно чтобы спаны были скрыты если в тегах p не будет текста
  13. Здравствуйте, подскажите как полностью убрать строку доставки и её цену?
  14. Здравствуйте, искал по форуму модуль, но что-то не нашел, может так искал... , не знаю. Нужна помощь! Мне нужен модуль для опенкарт 2.1.0.1 с таким функционалом: массовое создание акция для товаров или определенной категории (чтобы я мог выбрать категорию и нужные мне товары с этой категории) и поставить процент скидки с датой начала и окончание акции
  15. Добрый вечер, задам глупый вопрос, но не подскажите, как сделать меню активным когда я нахожусь на этой странице. Например, перешел в категорию "О нас" и нужно чтобы она подсвечивалась пока я не перейду в другую категорию. ссылка на сайт https://zahid-instrument.com/
  16. Здравствуйте, подскажите как образом можно это реализовать, нужно что бы товар был как комплект т.е. допустим есть комплект ценой 900 грн в нем 3 товара по 300 грн при добавлении 2 товаров формировало сумму в 600 а при добавлении 4 товаров (1+1+2 одинаковых) = 1200
  17. Здравствуйте, подскажите, такая проблема при переходе на другие страницы в менеджере изображений, стили не подгружаются.
  18. Здравствуйте! Подскажите, как сделать мега меню в опенкарт. Мне нужно добавить тайтл для подкатегорий. Я сейчас сделал таким способом: Главная категория -> По применению -> Батуты для детей Получается "По применению" является тоже категорией. Как сделать его тайтлом, не знаю... Если уже есть ранее созданная тема, прощу прощение, не смог найти. Буду рад за помощь!
  19. ну это я и сам обнаружил, я не пойму где в js за это отвечает, что нужно в скрипте править?
  20. Здравствуйте! У меня такая проблема, при добавление товара в корзину, корзина не открывается, пока не обновишь страницу, тоже самое когда удаляешь товар с корзины. Ocstore 2.3 http://www.mbgrill.com.ua/ Буду очень благодарен, если подскажите, в чем проблема <div id="cart"> <button > <p class="count"><span id="cart-total"><?php echo $text_items; ?></span></p> <i class="icon-cart"></i> <div class="box-cart"> <?php if($products){?> <?php foreach ($products as $product){?> <div class="product-line"> <?php if($product['thumb']) {?> <div class="thumb"><img src="<?php echo $product['thumb']?>"alt="<?php echo $product['name']; ?>" title="<?php echo $product['name']; ?>" /> </div> <?php }?> <div class="product-name"> <a href="<?php echo $product['href']; ?>" style=" font-size: 18px; text-align: center; font-weight: 600;"><?php echo $product['name']; ?></a> <p><b>x</b> <?php echo $product['quantity']; ?> - <span style="font-size: 17px; font-weight: bolder; color: #fd1a15; text-decoration: underline;"><?php echo $product['total']; ?></span></p> </div> <a type="button" onclick="cart.remove('<?php echo $product['cart_id']; ?>');" title="<?php echo $button_remove; ?>" class="delete_products"><i style="font-size: 20px; color: #343434;" class="fa fa-times"></i></a> </div> <?php }?> <div id="price-cart "> <?php $total = array_pop($totals); ?> <span class="left" style="color: #333; width: 100%; font-size: 16px; font-weight: 600; font-family: 'Montserrat', sans-serif; text-transform: uppercase; padding: 6px 10px; "><?php echo $total['title']; ?>:</span> <span class="right" style="font-weight: 800; color: #090909;"><?php echo $total['text']; ?></span> </div> <br> <div class="box-link-cart"> <a href="<?php echo $checkout; ?>"><?php echo $text_checkout; ?></a> <!--<a href="<?php echo $cart; ?>"><?php echo $text_cart; ?></a>--> </div> <?php } else{?> <p class="text-center"><?php echo $text_empty; ?></p> <?php }?> </div><!--box-cart--></button> </div> function getURLVar(key) { var value = []; var query = String(document.location).split('?'); if (query[1]) { var part = query[1].split('&'); for (i = 0; i < part.length; i++) { var data = part[i].split('='); if (data[0] && data[1]) { value[data[0]] = data[1]; } } if (value[key]) { return value[key]; } else { return ''; } } else { // Изменения для seo_url от Русской сборки OpenCart 2x var query = String(document.location.pathname).split('/'); if (query[query.length - 1] == 'cart') value['route'] = 'checkout/cart'; if (query[query.length - 1] == 'checkout') value['route'] = 'checkout/checkout'; if (value[key]) { return value[key]; } else { return ''; } } } $(document).ready(function() { // Highlight any found errors $('.text-danger').each(function() { var element = $(this).parent().parent(); if (element.hasClass('form-group')) { element.addClass('has-error'); } }); // Currency $('#form-currency .currency-select').on('click', function(e) { e.preventDefault(); $('#form-currency input[name=\'code\']').val($(this).attr('name')); $('#form-currency').submit(); }); // Language $('#form-language .language-select').on('click', function(e) { e.preventDefault(); $('#form-language input[name=\'code\']').val($(this).attr('name')); $('#form-language').submit(); }); /* Search */ $('#search input[name=\'search\']').parent().find('button').on('click', function() { var url = $('base').attr('href') + 'index.php?route=product/search'; var value = $('header #search input[name=\'search\']').val(); if (value) { url += '&search=' + encodeURIComponent(value); } location = url; }); $('#search input[name=\'search\']').on('keydown', function(e) { if (e.keyCode == 13) { $('header #search input[name=\'search\']').parent().find('button').trigger('click'); } }); // Menu $('#menu .dropdown-menu').each(function() { var menu = $('#menu').offset(); var dropdown = $(this).parent().offset(); var i = (dropdown.left + $(this).outerWidth()) - (menu.left + $('#menu').outerWidth()); if (i > 0) { $(this).css('margin-left', '-' + (i + 10) + 'px'); } }); // Product List $('#list-view').click(function() { $('#content .product-grid > .clearfix').remove(); $('#content .row > .product-grid').attr('class', 'product-layout product-list col-xs-12'); $('#grid-view').removeClass('active'); $('#list-view').addClass('active'); localStorage.setItem('display', 'list'); }); // Product Grid $('#grid-view').click(function() { // What a shame bootstrap does not take into account dynamically loaded columns var cols = $('#column-right, #column-left').length; if (cols == 2) { $('#content .product-list').attr('class', 'product-layout product-grid col-lg-6 col-md-6 col-sm-12 col-xs-12'); } else if (cols == 1) { $('#content .product-list').attr('class', 'product-layout product-grid col-lg-4 col-md-4 col-sm-6 col-xs-12'); } else { $('#content .product-list').attr('class', 'product-layout product-grid col-lg-3 col-md-3 col-sm-6 col-xs-12'); } $('#list-view').removeClass('active'); $('#grid-view').addClass('active'); localStorage.setItem('display', 'grid'); }); if (localStorage.getItem('display') == 'list') { $('#list-view').trigger('click'); $('#list-view').addClass('active'); } else { $('#grid-view').trigger('click'); $('#grid-view').addClass('active'); } // Checkout $(document).on('keydown', '#collapse-checkout-option input[name=\'email\'], #collapse-checkout-option input[name=\'password\']', function(e) { if (e.keyCode == 13) { $('#collapse-checkout-option #button-login').trigger('click'); } }); // tooltips on hover $('[data-toggle=\'tooltip\']').tooltip({container: 'body',trigger: 'hover'}); // Makes tooltips work on ajax generated content $(document).ajaxStop(function() { $('[data-toggle=\'tooltip\']').tooltip({container: 'body'}); }); }); // Cart add remove functions var cart = { 'add': function(product_id, quantity) { $.ajax({ url: 'index.php?route=checkout/cart/add', type: 'post', data: 'product_id=' + product_id + '&quantity=' + (typeof(quantity) != 'undefined' ? quantity : 1), dataType: 'json', beforeSend: function() { $('#cart > button').button('loading'); }, complete: function() { $('#cart > button').button('reset'); }, success: function(json) { $('.alert, .text-danger').remove(); if (json['redirect']) { location = json['redirect']; } if (json['success']) { $('header').parent().before('<div class="alert alert-success"><i class="fa fa-check-circle"></i> ' + json['success'] + ' <button type="button" class="close" data-dismiss="alert">&times;</button></div>'); // Need to set timeout otherwise it wont update the total setTimeout(function () { $('#cart > button').html('<p class="count"><span id="cart-total"> ' + json['total'] + '</span></p><i class="icon-cart"></i>'); }, 100); $('html, body').animate({ scrollTop: 0 }, 'slow'); $('#cart > div').load('index.php?route=common/cart/info ul li'); } }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } }); }, 'update': function(key, quantity) { $.ajax({ url: 'index.php?route=checkout/cart/edit', type: 'post', data: 'key=' + key + '&quantity=' + (typeof(quantity) != 'undefined' ? quantity : 1), dataType: 'json', beforeSend: function() { $('#cart > button').button('loading'); }, complete: function() { $('#cart > button').button('reset'); }, success: function(json) { // Need to set timeout otherwise it wont update the total setTimeout(function () { $('#cart > button').html('<p class="count"><span id="cart-total"> ' + json['total'] + '</span></p><i class="icon-cart"></i>'); }, 100); if (getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') { location = 'index.php?route=checkout/cart'; } else { $('#cart > div').load('index.php?route=common/cart/info ul li'); } }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } }); }, 'remove': function(key) { $.ajax({ url: 'index.php?route=checkout/cart/remove', type: 'post', data: 'key=' + key, dataType: 'json', beforeSend: function() { $('#cart > button').button('loading'); }, complete: function() { $('#cart > button').button('reset'); }, success: function(json) { // Need to set timeout otherwise it wont update the total setTimeout(function () { $('#cart > button').html('<p class="count"><span id="cart-total"> ' + json['total'] + '</span></p><i class="icon-cart"></i>'); }, 100); var now_location = String(document.location.pathname); if ((now_location == '/cart/') || (now_location == '/checkout/') || (getURLVar('route') == 'checkout/cart') || (getURLVar('route') == 'checkout/checkout')) { location = 'index.php?route=checkout/cart'; } else { $('#cart > div').load('index.php?route=common/cart/info ul li'); } }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } }); } } var voucher = { 'add': function() { }, 'remove': function(key) { $.ajax({ url: 'index.php?route=checkout/cart/remove', type: 'post', data: 'key=' + key, dataType: 'json', beforeSend: function() { $('#cart > button').button('loading'); }, complete: function() { $('#cart > button').button('reset'); }, success: function(json) { // Need to set timeout otherwise it wont update the total setTimeout(function () { $('#cart > button').html('<span id="cart-total"><i class="fa fa-shopping-cart"></i> ' + json['total'] + '</span>'); }, 100); if (getURLVar('route') == 'checkout/cart' || getURLVar('route') == 'checkout/checkout') { location = 'index.php?route=checkout/cart'; } else { $('#cart > ul').load('index.php?route=common/cart/info ul li'); } }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } }); } } var wishlist = { 'add': function(product_id) { $.ajax({ url: 'index.php?route=account/wishlist/add', type: 'post', data: 'product_id=' + product_id, dataType: 'json', success: function(json) { $('.alert').remove(); if (json['redirect']) { location = json['redirect']; } if (json['success']) { $('#content').parent().before('<div class="alert alert-success"><i class="fa fa-check-circle"></i> ' + json['success'] + ' <button type="button" class="close" data-dismiss="alert">&times;</button></div>'); } $('#wishlist-total span').html(json['total']); $('#wishlist-total').attr('title', json['total']); $('html, body').animate({ scrollTop: 0 }, 'slow'); }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } }); }, 'remove': function() { } } var compare = { 'add': function(product_id) { $.ajax({ url: 'index.php?route=product/compare/add', type: 'post', data: 'product_id=' + product_id, dataType: 'json', success: function(json) { $('.alert').remove(); if (json['success']) { $('#content').parent().before('<div class="alert alert-success"><i class="fa fa-check-circle"></i> ' + json['success'] + ' <button type="button" class="close" data-dismiss="alert">&times;</button></div>'); $('#compare-total').html(json['total']); $('html, body').animate({ scrollTop: 0 }, 'slow'); } }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } }); }, 'remove': function() { } } /* Agree to Terms */ $(document).delegate('.agree', 'click', function(e) { e.preventDefault(); $('#modal-agree').remove(); var element = this; $.ajax({ url: $(element).attr('href'), type: 'get', dataType: 'html', success: function(data) { html = '<div id="modal-agree" class="modal">'; html += ' <div class="modal-dialog">'; html += ' <div class="modal-content">'; html += ' <div class="modal-header">'; html += ' <button type="button" class="close" data-dismiss="modal" aria-hidden="true">&times;</button>'; html += ' <h4 class="modal-title">' + $(element).text() + '</h4>'; html += ' </div>'; html += ' <div class="modal-body">' + data + '</div>'; html += ' </div'; html += ' </div>'; html += '</div>'; $('body').append(html); $('#modal-agree').modal('show'); } }); }); // Autocomplete */ (function($) { $.fn.autocomplete = function(option) { return this.each(function() { this.timer = null; this.items = new Array(); $.extend(this, option); $(this).attr('autocomplete', 'off'); // Focus $(this).on('focus', function() { this.request(); }); // Blur $(this).on('blur', function() { setTimeout(function(object) { object.hide(); }, 200, this); }); // Keydown $(this).on('keydown', function(event) { switch(event.keyCode) { case 27: // escape this.hide(); break; default: this.request(); break; } }); // Click this.click = function(event) { event.preventDefault(); value = $(event.target).parent().attr('data-value'); if (value && this.items[value]) { this.select(this.items[value]); } } // Show this.show = function() { var pos = $(this).position(); $(this).siblings('ul.dropdown-menu').css({ top: pos.top + $(this).outerHeight(), left: pos.left }); $(this).siblings('ul.dropdown-menu').show(); } // Hide this.hide = function() { $(this).siblings('ul.dropdown-menu').hide(); } // Request this.request = function() { clearTimeout(this.timer); this.timer = setTimeout(function(object) { object.source($(object).val(), $.proxy(object.response, object)); }, 200, this); } // Response this.response = function(json) { html = ''; if (json.length) { for (i = 0; i < json.length; i++) { this.items[json[i]['value']] = json[i]; } for (i = 0; i < json.length; i++) { if (!json[i]['category']) { html += '<li data-value="' + json[i]['value'] + '"><a href="#">' + json[i]['label'] + '</a></li>'; } } // Get all the ones with a categories var category = new Array(); for (i = 0; i < json.length; i++) { if (json[i]['category']) { if (!category[json[i]['category']]) { category[json[i]['category']] = new Array(); category[json[i]['category']]['name'] = json[i]['category']; category[json[i]['category']]['item'] = new Array(); } category[json[i]['category']]['item'].push(json[i]); } } for (i in category) { html += '<li class="dropdown-header">' + category[i]['name'] + '</li>'; for (j = 0; j < category[i]['item'].length; j++) { html += '<li data-value="' + category[i]['item'][j]['value'] + '"><a href="#">&nbsp;&nbsp;&nbsp;' + category[i]['item'][j]['label'] + '</a></li>'; } } } if (html) { this.show(); } else { this.hide(); } $(this).siblings('.box-cart').html(html); } $(this).after('<div class="box-cart"></div'); $(this).siblings('.box-cart').delegate('a', 'click', $.proxy(this.click, this)); }); } })(window.jQuery);

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

Important Information

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