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

Ch0oJoy

Users
  
  • Posts

    803
  • Joined

  • Last visited

Everything posted by Ch0oJoy

  1. Именно редактор модуля нужно искать? Ну это пока тяжело для меня будет, нужен более простой способ)
  2. Добрый вечер! Имеется модуль с обычной формой для заполнения текста email рассылки. (скрин). Как можно добавить HTML код, чтоб придать вид этому сообщению?
  3. Добрый день! Подскажите как можно изменить название на странице. Новинки в Новинки за последние 30 дней. Так же интересует, возможность добавления описания этих страниц, как это реализовать?
  4. Извиняюсь, ссылку забыл https://www.opencart.com/index.php?route=marketplace/extension/info&member_token=LGjgloiCSUPKeWLcZQW0XpPnsJnfLFYp&extension_id=31755
    Спасибо автору за адаптацию модуля под мой шаблон. Все очень быстро и качественно. Всем советую!
  5. Добрый день! Имеется шаблон Bodysport и модуль После установки модуля, не работает часть функционала. 1. Кешбек за отзыв 2. Кешбек при отмене заказа 3. + мелкие правки для правильной работы модуля. Интересует сразу стоимость данной работы.
  6. Добрый день! Имеется модуль Модуль, работает как нужно, вот только не все отображается на моем шаблоне. 1. Нужно вывести поле для использования кешбека на страницу оформления заказа (Simple) 2. В личном кабинете, скопировать дизайн страницы с бонусными балами и сделать такой же на странице с кешбеком (скрин) 3. В карточке товара вывести тест "Ваш кешбек и сумма" 4. Полностью убрать бонусные баллы (Дичный кабинет, корзина, страница оформления) 5. Вывести ссылку на кешбек в верхнее меню в личном кабинете. (на скрине верхнее меню) + мелкие правки Какая приблизительная стоимость такой работы?
  7. Там я смотрел, но нужно именно изменение названия в поле ввода, а оно связано с купонами. Нужно изменить Введите данные, только для баллов, для купонов оставить.
  8. В корзине имеется поле Купон и Бонусные баллы. В строке ввода идет надпись "Введите данные", как можно для бонусных баллов эту надпить изменить? Нашел где меняется, но тогда и в купонах происходит замена.
  9. Установил на сайт слайдер, при скроле, все названия в товарах которые прокручиваются становятся размытыми. Используется: translate3d(-556.667px, 0px, 0px) - знаю что с этим связано. Как можно исправить?
  10. Заказывал создание дополнительного модуля для отображения товаров, kur1977 выполнил все очень быстро и качественно. В целом за 1.5 часа модуль уже работал на сайте, без каких либо проблем. Автор специалист своего дела, делает все очень круто! Рекомендую!
  11. Нужно настроить блок под мобильные разрешения, а именно, отступы. Так как сайт адаптивный, нужно получить правильное отображение блока на разных экранах. На скрине: Вверху -как есть, нижняя часть как должно быть.
  12. Добрый день! При переходе в категорию выдает ошибку: Fatal error: Uncaught exception 'Exception' with message 'Error: Subquery returns more than 1 row<br />Error No: 1242<br />SELECT DISTINCT *, pd.name AS name, p.image, m.name AS manufacturer, (SELECT price FROM oc2_product_discount pd2 WHERE pd2.product_id = p.product_id AND pd2.customer_group_id = '1' AND pd2.quantity = '1' AND ((pd2.date_start = '0000-00-00' OR pd2.date_start < NOW()) AND (pd2.date_end = '0000-00-00' OR pd2.date_end > NOW())) ORDER BY pd2.priority ASC, pd2.price ASC LIMIT 1) AS discount, (SELECT price FROM oc2_product_special ps WHERE ps.product_id = p.product_id AND ps.customer_group_id = '1' AND ((ps.date_start = '0000-00-00' OR ps.date_start < NOW()) AND (ps.date_end = '0000-00-00' OR ps.date_end > NOW())) ORDER BY ps.priority ASC, ps.price ASC LIMIT 1) AS special, (SELECT points FROM oc2_product_reward pr WHERE pr.product_id = p.product_id AND pr.customer_group_id = '1') AS reward, (SELECT ss.name FROM oc2_stock_status ss WHERE ss.stock_status_id = p.stock_status_id AND ss.language_id = '2') AS stoc in /home/lx339022/alishop.kiev.ua/www/system/library/db/mysqli.php on line 40
  13. В модификаторе нашел еще такой код. его можно удалить? <file path="admin/view/template/localisation/location_form.twig"> <operation> <search><![CDATA[{{ footer }}]]></search> <add position="before"><![CDATA[ <!-- Bodysport Theme [START] --> <script> ymaps.ready(init); function init() { var yandexPlacemark, yandexMap = new ymaps.Map('map', { center: [{% if geocode %}{{ geocode }}{% else %}55.75387766501658, 37.627392349243166{% endif %}], zoom: 14, controls: [] }); var searchControl = new ymaps.control.SearchControl({ options: { provider: 'yandex#search' } }); yandexMap.controls.add(searchControl); var coords = [{% if geocode %}{{geocode}}{% else %}55.7532, 37.6225{% endif %}]; var yandexPlacemark = new ymaps.Placemark([{% if geocode %}{{ geocode }}{% else %}55.7532, 37.6225{% endif %}], { iconCaption: 'поиск...'}, { preset: 'islands#blueDotIconWithCaption', draggable: true }); yandexMap.geoObjects.add(yandexPlacemark); getAddress(coords); yandexPlacemark.events.add('dragend', function() { getAddress(yandexPlacemark.geometry.getCoordinates()); }); yandexMap.events.add('click', function(e) { var coords = e.get('coords'); if (yandexPlacemark) { yandexPlacemark.geometry.setCoordinates(coords); } else { yandexPlacemark = createPlacemark(coords); yandexMap.geoObjects.add(yandexPlacemark); yandexPlacemark.events.add('dragend', function() { getAddress(yandexPlacemark.geometry.getCoordinates()); }); } getAddress(coords); }); function createPlacemark(coords) { return new ymaps.Placemark(coords, { iconCaption: 'поиск...' }, { hasBalloon: false, preset: 'islands#blueDotIconWithCaption', draggable: true }); } searchControl.events.add('resultselect', function(e) { var index = e.get('index'); searchControl.getResult(index).then(function(res) { var coords = res.geometry.getCoordinates(); yandexPlacemark.geometry.setCoordinates(coords); getAddress(coords); }); }); yandexMap.events.add('boundschange', function(event) { // document.getElementById("input-geocode-center").value = yandexMap.getCenter(); // document.getElementById("input-geocode-zoom").value = yandexMap.getZoom(); }); function getAddress(coords) { savecoordinats(coords); ymaps.geocode(coords).then(function(res) { var firstGeoObject = res.geoObjects.get(0); yandexPlacemark.properties.set({ iconCaption: [ firstGeoObject.getLocalities().length ? firstGeoObject.getLocalities() : firstGeoObject.getAdministrativeAreas(), firstGeoObject.getThoroughfare() || firstGeoObject.getPremise() ].filter(Boolean).join(', '), balloonContent: firstGeoObject.getAddressLine() }); }); } function savecoordinats(coords) { var new_coords = [ coords[0].toPrecision(6), coords[1].toPrecision(6) ].join(', '); document.getElementById("input-geocode").value = new_coords; } } </script> <!-- Bodysport Theme [END] --> ]]></add> </operation> Это оно: <file path="catalog/controller/information/contact.php"> <operation> <search><![CDATA[$data['breadcrumbs'] = array();]]></search> <add position="before"><![CDATA[ // Bodysport Theme [START] $this->document->addScript('//api-maps.yandex.ru/2.1/?lang='.$this->session->data['language'].''); // Bodysport Theme [END] ]]></add> </operation>
  14. В админке все выключено в настройках шаблона. Удалил этот код, при проверке нашел tit такой скрипт в коде страницы <script src="//api-maps.yandex.ru/2.1/?lang=ru-ru"></script> Посмотрел в header и других файлах, его нигде нет. Где он может быть чтоб убрать со страницы?
  15. у меня тоже все открывается как и должно быть, вот у посетителей не грузит. Раньше и у меня не грузило и зависал целый браузер.. Даже не знаю с чем связано, но как понял проблема у некоторых осталась.
  16. я их отключил по всей админке, заменил картой гугл. Но как оказывается карта все равно грузится, за счет чего посетители не могут попасть на страницу. Подскажите как правильно ее вырезать со страницы контактов.
  17. Подскажите пожалуйста что здесь удалить {{ header }} <div id="information-contact" class="container"> <ul class="breadcrumb"> {% for breadcrumb in breadcrumbs %} <li><a href="{{ breadcrumb.href }}">{{ breadcrumb.text }}</a></li> {% endfor %} </ul> <h1 class="m-t-0 m-b-3 h3 custom-title">{{ heading_title }}</h1> {{ content_top }} <div id="content"> {% if geocode and map_status %} <div> <div id="map" style=" height: 245px;"></div> </div> {% endif %} <div class="content-default flexbox-xs-out m-b-3-xs-out btn-block-xs"> {{ column_left }} {% if column_left and column_right %} {% set class = 'col-sm-6' %} {% elseif column_left or column_right %} {% set class = 'col-sm-9' %} {% else %} {% set class = 'col-xs-12 col-sm-12' %} {% endif %} <div class="{{ class }}"> <div class="row"> <iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d349.57138396005075!2d30.522173976583332!3d50.45419637160626!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x0%3A0xd26969a28559f84b!2zQWxpU2hvcCAtIFZhcGUgU2hvcCAo0LzQsNCz0LDQt9C40L0g0Y3Qu9C10LrRgtGA0L7QvdC90YvRhSDRgdC40LPQsNGA0LXRgik!5e0!3m2!1sru!2sua!4v1544439555680" width="100%" height="270" frameborder="0" style="border:0" allowfullscreen></iframe> <div class="content-default flexbox-xs-out"> <div class="block-center btn-block f-w-5 text"> <div class="row"> <div class="col-sm-3 p-t-3"> <div class="icon-contact"><i class="icon icon-info-point"></i></div> <div class="m-b-3 p-b-3"> <div class="box-title f-s-5">{{ text_location }}:</div> <div class="m-t f-s-3 m-b"> <span>{{ address }}</span> </div> {% if geocode and map_status %} <i class="fa fa-map-marker marker-map"></i><a class="cursor-p f-s-3" onclick="getPoint('0')">{{ button_map }}</a> {% endif %} </div> </div> <div class="col-sm-3 p-t-3"> <div class="icon-contact"><i class="icon icon-info-telephone"></i></div> <div class="m-b-3 p-b-3"> <div class="box-title f-s-5">{{ text_telephone }}:</div> <div class="m-t f-s-3"> <div><a href="tel:{{ telephone|replace({' ': ''}) }}" title="{{ telephone }}" class="text-base"><strong>{{ telephone }}</strong></a></div> <div> <a class="text-base" title="+38(068)118-17-15" href="tel:+38 (068) 118-17-15"><strong> +38 (068) 118-17-15</strong></a></div> </div> {% if fax %} <div class="box-title f-s-5 m-t-2">{{ text_fax }}:</div> <div class="m-t f-s-3"> <span>{{ fax }}</span> </div> {% endif %} </div> </div> <div class="col-sm-3 p-t-3"> <div class="icon-contact"><i class="icon icon-info-mail"></i></div> <div class="m-b-3 p-b-3"> <div class="box-title f-s-5">{{ text_email }}:</div> <div class="m-t f-s-3"> <a style="text-decoration: underline;" href="mailto:{{ email_store|replace({' ': ''}) }}">{{ email_store }}</a> </div> </div> </div> <div class="col-sm-3 p-t-3"> <div class="icon-contact"><i class="icon icon-info-clock-white"></i></div> <div class="m-b-3 p-b-3"> <div class="box-title f-s-5">{{ text_open }}:</div> <div class="m-t f-s-3"> <span>{{ open }}</span> </div> {% if comment %} <div class="box-title f-s-5 m-t-2">{{ text_comment }}:</div> <div class="m-t f-s-3"> <span>{{ comment }}</span> </div> {% endif %} </div> </div> </div> <hr> <div class="row"> <div class="col-xs-12 col-sm-12 col-md-8 col-lg-6 m-t-2"> <h3 class="m-b-3 h4">{{ text_contact }}</h3> <form id="form-contact" method="post" enctype="multipart/form-data"> <div class="row"> <div class="col-xs-12 col-sm-6 m-b"> <div class="form-group required"> <label class="control-label" for="input-name">{{ entry_name }}</label> <input type="text" name="name" id="input-name" class="form-control" /> <div id="error-name-contact-form" style="display:none"></div> </div> </div> <div class="col-xs-12 col-sm-6 m-b"> <div class="form-group required"> <label class=" control-label" for="input-email">{{ entry_email }}</label> <input type="text" name="email" id="input-email" class="form-control" /> <div id="error-email-contact-form" style="display:none"> </div> </div> </div> <div class="col-xs-12 col-sm-12 m-b"> <div class="form-group required"> <label class=" control-label" for="input-subject">{{ entry_subject }}</label> <input type="text" name="subject" value="" id="input-subject" class="form-control" /> <div id="error-subject-contact-form" style="display:none"></div> </div> </div> </div> <div class="form-group m-b-2 required"> <label class="control-label" for="input-enquiry">{{ entry_enquiry }}</label> <textarea name="enquiry" rows="5" id="input-enquiry" class="form-control"></textarea> <div id="error-enquiry-contact-form" style="display:none"></div> </div> <div class="clearfix"> <div class="pull-left"> {{ captcha }} </div> </div> <div class="buttons"> <div class="pull-left btn-block-xs"> <button class="btn btn-primary btn-lg btn-block-xs" id="button-send">{{ button_submit }}</button> </div> </div> </form> </div> {% if locations %} <div class="col-sm-6 m-t-2"> <h3 class="m-b h4">{{ text_store }}</h3> <div class="panel-group" id="accordion"> {% for location in locations %} <div class="panel p-t p-b"> <div> <h4><a href="#collapse-location{{ location.location_id }}" class="accordion-toggle text-base" data-toggle="collapse" data-parent="#accordion">{{ location.name }} <i class="fa fa-caret-down"></i></a></h4> </div> <div class="panel-collapse collapse" id="collapse-location{{ location.location_id }}"> <div class="p-t p-b"> <div class="row"> {% if location.image %} <div class="col-sm-2"><img src="{{ location.image }}" alt="{{ location.name }}" title="{{ location.name }}" class="img-thumbnail" /></div> {% endif %} <div class="col-sm-4"> <strong>{{ location.name }}</strong><br /> <address> {{ location.address }} </address> {% if location.geocode and map_status %} <i class="fa fa-map-marker marker-map"></i><a class="cursor-p" onclick="getPoint('{{ location.location_id }}')">{{ button_map }}</a> {% endif %} </div> <div class="col-sm-3"> <strong>{{ text_telephone }}</strong><br> {{ location.telephone }}<br /> <br /> {% if location.fax %} <strong>{{ text_fax }}</strong><br> {{ location.fax }} {% endif %} </div> <div class="col-sm-3"> {% if location.open %} <strong>{{ text_open }}</strong><br /> {{ location.open }}<br /> <br /> {% endif %} {% if location.comment %} <strong>{{ text_comment }}</strong><br /> {{ location.comment }} {% endif %} </div> </div> </div> </div> </div> {% endfor %} </div> </div> {% endif %} </div> </div> </div> </div> </div> {{ column_right }} </div> {{ content_bottom }} </div> </div> <script> function getPoint(mobject) { locationsMap.setCenter(objectManager.objects.getById(mobject).geometry.coordinates, 15, { }); fullscreenControl.enterFullscreen(); objectManager.objects.balloon.open(mobject); return false; }; </script> {% if geocode and map_status %} <script type="text/javascript"><!-- $('#button-send').on('click', function() { $.ajax({ url: 'index.php?route=information/contact/send', type: 'post', dataType: 'json', data: $("#form-contact").serialize(), beforeSend: function() { $('#button-send').button('loading'); }, complete: function() { $('#button-send').button('reset'); }, success: function(json) { ClearError(); if (json['error']) { if (json['warning_notification']) { ErrorAlertFixed(json['warning_notification']); } $.each(json['error'], function(i, item) { var input = $('#form-contact #error-' + i + '-contact-form'); ErrorAlert(input, item) }); if (json['error']['captcha']) { ErrorCaptcha($('#form-contact .error-captcha'), json['error']['captcha']) } } if (json['success']) { $('#form-contact').html('<div class="alert alert-success m-b-0"><div><i class="fa fa-check-circle f-s-5 m-r"></i><span class="success f-s-3 f-w-5">' + json['success']['message'] + '</span></div></div>'); $('input[name=\'name\']').val(''); $('input[name=\'email\']').val(''); $('input[name=\'subject\']').val(''); $('textarea[name=\'enquiry\']').val(''); } } }); return false; }); var locationsMap = false; function mapinit() { locationsMap = new ymaps.Map('map', { center: [{{ geocode }}], zoom: 13, controls: ['geolocationControl'] }, { searchControlProvider: 'yandex#search' }), // Создание макета балуна на основе Twitter Bootstrap. MyBalloonLayout = ymaps.templateLayoutFactory.createClass( '<div class="popover top">' + '<a class="close" href="#">&times;</a>' + '<div class="arrow"></div>' + '<div class="popover-inner">' + '$[[options.contentLayout observeSize minWidth=200 maxWidth=650 maxHeight=350]]' + '</div>' + '</div>', { /** * Строит экземпляр макета на основе шаблона и добавляет его в родительский HTML-элемент. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#build * @function * @name build */ build: function () { this.constructor.superclass.build.call(this); this._$element = $('.popover', this.getParentElement()); this.applyElementOffset(); this._$element.find('.close') .on('click', $.proxy(this.onCloseClick, this)); }, /** * Удаляет содержимое макета из DOM. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/layout.templateBased.Base.xml#clear * @function * @name clear */ clear: function () { this._$element.find('.close') .off('click'); this.constructor.superclass.clear.call(this); }, /** * Метод будет вызван системой шаблонов АПИ при изменении размеров вложенного макета. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onSublayoutSizeChange */ onSublayoutSizeChange: function () { MyBalloonLayout.superclass.onSublayoutSizeChange.apply(this, arguments); if(!this._isElement(this._$element)) { return; } this.applyElementOffset(); this.events.fire('shapechange'); }, /** * Сдвигаем балун, чтобы "хвостик" указывал на точку привязки. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name applyElementOffset */ applyElementOffset: function () { this._$element.css({ left: -(this._$element[0].offsetWidth / 2), top: -(this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight) }); }, /** * Закрывает балун при клике на крестик, кидая событие "userclose" на макете. * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/IBalloonLayout.xml#event-userclose * @function * @name onCloseClick */ onCloseClick: function (e) { e.preventDefault(); this.events.fire('userclose'); }, /** * Используется для автопозиционирования (balloonAutoPan). * @see https://api.yandex.ru/maps/doc/jsapi/2.1/ref/reference/ILayout.xml#getClientBounds * @function * @name getClientBounds * @returns {Number[][]} Координаты левого верхнего и правого нижнего углов шаблона относительно точки привязки. */ getShape: function () { if(!this._isElement(this._$element)) { return MyBalloonLayout.superclass.getShape.call(this); } var position = this._$element.position(); return new ymaps.shape.Rectangle(new ymaps.geometry.pixel.Rectangle([ [position.left, position.top], [ position.left + this._$element[0].offsetWidth, position.top + this._$element[0].offsetHeight + this._$element.find('.arrow')[0].offsetHeight ] ])); }, /** * Проверяем наличие элемента (в ИЕ и Опере его еще может не быть). * @function * @private * @name _isElement * @param {jQuery} [element] Элемент. * @returns {Boolean} Флаг наличия. */ _isElement: function (element) { return element && element[0] && element.find('.arrow')[0]; } }), // Создание вложенного макета содержимого балуна. MyBalloonContentLayout = ymaps.templateLayoutFactory.createClass( '<h3 class="popover-title">$[properties.balloonContentHeader]</h3>' + '<div class="popover-content border-0">$[properties.balloonContent]</div>' ), objectManager = new ymaps.ObjectManager({ clusterize: true, gridSize: 68 }); fullscreenControl = new ymaps.control.FullscreenControl(); locationsMap.controls.add(fullscreenControl); objectManager.clusters.options.set({ preset: 'islands#ClusterIcons', clusterIconColor: '#fd3c44' }); locationsMap.geoObjects.add(objectManager); $.ajax({ url: "index.php?route=information/contact/getMapsData", type: "post", dataType: "json", }).done(function(data) { objectManager.add(data); objectManager.objects.options.set({ balloonShadow: false, balloonLayout: MyBalloonLayout, balloonContentLayout: MyBalloonContentLayout, }); {% if locations %} locationsMap.setBounds(objectManager.getBounds(), { checkZoomRange: true, zoomMargin: 50 }); {% endif %} }); } ymaps.ready(mapinit); $(window).resize(function() { if (locationsMap) { locationsMap.container.fitToViewport(); } }); //--> </script> {% endif %} {{ footer }}
  18. яндекс полностью отключил в админке, его можно как-то убрать с этой страницы?
  19. Добрый день! Подскажите пожалуйста почему долго грузится страница с контактами, многие посетители жалуются. https://alishop.kiev.ua/contact Подскажите в чем может быть проблема.
  20. Добрый день! Ищу 2 модуля. 1. Начисление бонусных баллов при смене статуса (установлен модуль Новая Почта API, который меняет статус) 2. Заказы этого пользователя. Нужно чтоб при просмотре карточки заказа, отображались другие заказы этого покупателя, можно просто количество (видел где-то такой модуль)
×
×
  • 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.