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

efremovxp

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

    459
  • З нами

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

Повідомлення, опубліковані користувачем efremovxp

  1. 2 часа назад, prochet сказал:

    Есть такая статья в УК, называется "шантаж"

     

    Цитата

    Вымогательство, то есть требование передачи чужого имущества или права на имущество или совершения других действий имущественного характера

    Не шантаж, а вымогательство. Сможете доказать, что Йода требует передачи чужого имущества или право на имущество или другие действия имущественного характера? На нет и суда нет)

    • +1 1
  2. @SooR

    Ошибка в кешировании названий статусов наличия при нескольких языках. При переключении языка статусы наличия остаются на том же языке.

    public function getStockStatuses() {
    
        $stock_statuses_data = $this->cache->get('ocfilter.stock_status');
    
    
    
    		if (false !== $stock_statuses_data) {
    
    			return $stock_statuses_data;
    
    		}
    
    
    
    		$query = $this->db->query("SELECT stock_status_id AS value_id, name, 's' AS option_id FROM " . DB_PREFIX . "stock_status WHERE language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY name");
    
    
    
        $stock_statuses_data = $query->rows;
    
    
    
        $this->cache->set('ocfilter.stock_status', $stock_statuses_data);
    
    
    
    		return $stock_statuses_data;
    
    	}

    Решение - добавить id текущего языка в название кеша.

    public function getStockStatuses() {
    
        $stock_statuses_data = $this->cache->get('ocfilter.stock_status_'.(int)$this->config->get('config_language_id'));
    
    
    
    		if (false !== $stock_statuses_data) {
    
    			return $stock_statuses_data;
    
    		}
    
    
    
    		$query = $this->db->query("SELECT stock_status_id AS value_id, name, 's' AS option_id FROM " . DB_PREFIX . "stock_status WHERE language_id = '" . (int)$this->config->get('config_language_id') . "' ORDER BY name");
    
    
    
        $stock_statuses_data = $query->rows;
    
    
    
        $this->cache->set('ocfilter.stock_status_'.(int)$this->config->get('config_language_id'), $stock_statuses_data);
    
    
    
    		return $stock_statuses_data;
    
    	}

     

     

  3. В 29.06.2019 в 21:05, octemplates сказал:

     

    Шаблон адаптирован под этот модуль, в том числе и дизайн, стилизация после установки модуля будет сразу как на демо-сайте.

    Исправлена ли ошибка в работе с последней версией OCFilter на Opencart3? Если да, то в какой версии UltreStore? У меня ultrastore 2.

    Разработчик OCFilter говорит, что там что то с bs.popover

  4. 40 минут назад, matroskin92 сказал:

    Дело не в количестве вариаций, а сложности к привязки разнообразным модулям и отображении в карточке товара (попробуйте опции пощелкать)

    У меня почти готова реализация к стандартным опциям, в течении недели выложу для пробы тестовую версию.

    ajax обновление кол-ва при выборе опций это обычно у каждого шаблона своя реализация. Кому надо, адаптируют под себя))

  5. Не дождался опций и привязки по мультимагазинам.

    Привязку к мультимагазинам сделал, делаю опции. Но да, 10 складов * 10 значений опции = 100 вариантов количества для одного товара, это жесть. И хорошо, если нет еще одной опции на 10 значений опций, получится 1000 вариантов наличия ))

  6. 35 минут назад, Rassol2 сказал:

    Дайте пример.
    недавно вносил новые правила в форматирование ссылок, возможно что то не учел.

    Попробуйте спарсить отсюда все ссылки на товары (html, у сайта нет sitemap.xml)

    https://www.repashy.co.uk/index.php?main_page=index&cPath=2

    Спарсятся только те, у которых &, а & нет.

     

     

    Я только знакомлюсь с модулем и не знаю как раскидывать товары по категориям, которые я сам создал. У меня категории называются по другому, а не как на сайте доноре. Можно после парсинга товаров в Редакторе товаров задать категории товарам и мой выбор будет учтен в дальнейшем, что этот товар будет всегда в выбранной категории?

    • +1 1
  7. 2 часа назад, matroskin92 сказал:

    Активация отсутствует, модуль с открытым исходным кодом

     

    Склады и магазины создаются в настройках модуля

    Т.е. на стандартном мультимазине (на поддоменах) работать не будет?

    Ладно, куплю, протестирую)

  8. @matroskin92

    Приглянулся ваш модуль. Есть несколько вопросов.

    Активация распространяется на все поддомены? У меня мультимагазин создан с стандартным функционалом Opencart (одна установка/директория/база на все магазины, много региональных поддоменов).

    И работает ли ваш модуль для стандартного мультимагазина с поддоменами?

    Т.е. могу ли я менять кол-во на складе для основного магазина в Москве site.ru, для складов в Москве, для spb.site.ru и складов в Питере, для Новосибирска nsk.site.ru где только один магазин, и т.д.

     

    Готов купить, как только получу положительный ответ)

  9. @Octsupport Примите баги и пожелания:

    1. Кривое отображение меню категорий с 768px по 812px. Править css.

    Спойлер

    2020-08-29_212501.png.8a9fcd799344e8890bf54af88c2333fe.png

     

    2. Отображаются все статьи по кнопке (i), хотя указано в настройках каждой статьи, что не надо выводить в футере. Лезть в код шаблона и править. В футере всё ок.

    Спойлер

    2020-08-29_213143.thumb.png.054c8654baed37032d3a729d8177704b.png

     

    2020-08-29_213220.thumb.png.8e54bbb3add1056e7aeaf733108bb54b.png

     

    3. На мобильном остается только меню категорий, мегаменю исчезает. Было бы хорошо в мегаменю сделать галочку для каждого пункта меню  "Выводить в меню на мобильных", так как в мегаменю добавляют пункты меню не от балды, а по реальной необходимости и плохо, когда на мобильном нет этих пунктов меню.

    Сейчас выхода только два - Либо захардкодить html пункты меню в menu.twig, что как бы терпимое решение. Но хардкодить доп пункты меню на 3х языках добавив условие по языку пользователя, ну такое себе...

    Второе решение - дописывать модуль мегаменю и вывод в меню категорий на мобильных, но дело не благодарное. Это должен был делать разработчик шаблона.

    Надеюсь, по третьему пункту я что то не понял и такая возможность есть.

    Иначе, уже очень много правок получается по шаблону, мелочи я не включил в этот список.

  10. 15 часов назад, Yoda сказал:

    Возможно не стоит звезду включать и на варезах продаваться с дисконтом и сделать нормальный модуль а не комбайн, который не надо адаптировать. И который будет работать на 1000 магазинов без проблем.

    Реально задолбала ваша кривая поделка, она бессмысленная по сути, но на хайпе везде стоит!
    Пошаговое оформление дает большую конверсию

    Но раз вы берете по 500 рублей, будьте добры делать поддержку.

    А не ныть, что я тут наавертел и теперь ваши проблемы!
    не надо велосипед придумывать, тогда он не будет ломаться!

     

    Посетители жалуются, что не могут совершить заказ с айфона. Или с каких то других устройств. То какой то js зацикливается. Постоянно корзина пропадает.

    Сложно воспроизвести, в чем дело - громоздкий модуль и код сложный для понимания - упрешься в зашифрованный файл. На новом магазине решил делать с стандартной корзиной, зато меньше головой боли с совместимостью с другими модулями и не надо следить работает Simple или нет, было такое что simple отваливался и приходилось пересохранять настройки. И заодно посмотрю на конверсию. Автору модуля желаю переосмыслить весь модуль и выпустить 5 версию.

  11. Были конфликты с работой модуля Abandoned Carts - Proved Recover Abandoned Cart

    Брошенные заказы гостей не сохранялись в модуль AbandonedCarts

     

    Как исправить:

    В /catalog/view/javascript/simplecheckout.js находим

    $mainContainer.find("input:not([data-onchange=reloadAll],[data-onclick=reloadAll]), select:not([data-onchange=reloadAll],[data-onclick=reloadAll]), textarea:not([data-onchange=reloadAll],[data-onclick=reloadAll])").on('change', function() {

    Ниже вставляем

    var send_data = {};
    				send_data[this.name] = this.value;
    				$.ajax({
    					url: 'index.php?route=extension/module/abandonedcarts/getData',
    					type: 'post',
    					data:  send_data,
    					dataType: 'html',
    					success: function(html) {
    						console.log("Success");
    					},
    					error: function() {
    						console.log("Error");
    					}
    				});


    В catalog/controller/extension/module/abandonedcarts.php находим

    private function getLanguages($data = array())

    выше вставляем

    public function getData() {
    					//var_dump($_POST);
    					$abandonedCartsSettings = $this->config->get('abandonedcarts');
    					if ($abandonedCartsSettings['Enabled']=='yes') {
    						$cart = $this->cart->getProducts();
    						$cart = (!empty($cart)) ? $cart : '';
    						if (!empty($cart)) {
    							if ($this->customer->isLogged()) {
    								$id = (!empty($this->session->data['abandonedCart_ID'])) ? $this->session->data['abandonedCart_ID'] : $this->customer->getEmail();
    							} else {
    								$id = (!empty($this->session->data['abandonedCart_ID'])) ? $this->session->data['abandonedCart_ID'] : session_id();
    							}
    							$exists = $this->db->query("SELECT * FROM `" . DB_PREFIX . "abandonedcarts` WHERE `restore_id` = '$id'");
    							
    							if (empty($exists->row['customer_info'])) { 
    								$customer = array(); 
    							
    								if (isset($this->request->post['customer']['telephone'])) {
    									$customer['telephone'] = $this->request->post['customer']['telephone'];
    								} else {
    									$customer['telephone'] = "";
    								}
    								if (isset($this->request->post['customer']['email'])) {
    									$customer['email'] = $this->request->post['customer']['email'];
    								} else {
    									$customer['email'] = "";
    								}
    								if (isset($this->request->post['customer']['firstname'])) {
    									$customer['firstname'] = $this->request->post['customer']['firstname'];
    								} else {
    									$customer['firstname'] = "";
    								}
    								if (isset($this->request->post['customer']['lastname'])) {
    									$customer['lastname'] = $this->request->post['customer']['lastname'];
    								} else {
    									$customer['lastname'] = "";
    								}
    								if (!empty($this->session->data['language'])) {
    									$customer['language'] = $this->session->data['language'];
    								}
    								$customer = json_encode($customer);
    								$this->db->query("UPDATE `" . DB_PREFIX . "abandonedcarts` SET `customer_info` = '".$this->db->escape($customer)."' WHERE `restore_id`='$id'");
    							} else {
    								$customer = json_decode($exists->row['customer_info'], true);
    							
    								if (isset($this->request->post['customer']['telephone'])) {
    									$customer['telephone'] = $this->request->post['customer']['telephone'];
    								}
    								if (isset($this->request->post['customer']['email'])) {
    									$customer['email'] = $this->request->post['customer']['email'];
    								}
    								if (isset($this->request->post['customer']['firstname'])) {
    									$customer['firstname'] = $this->request->post['customer']['firstname'];
    								}
    								if (isset($this->request->post['customer']['lastname'])) {
    									$customer['lastname'] = $this->request->post['customer']['lastname'];
    								}
    								$customer = json_encode($customer);
    								$this->db->query("UPDATE `" . DB_PREFIX . "abandonedcarts` SET `customer_info` = '".$this->db->escape($customer)."' WHERE `restore_id`='$id'");
    							}
    							
    						}
    					}
    				}

     

  12. 1 час назад, deeman сказал:

    И efremovxp, уж вам так не нравится мой модуль, сколько раз уже об этом писали, так сядьте и напишите свой модуль лучше, проще, быстрее, бесплатнее, в чем проблема то?..

    У меня нет проблем. Проблемы бывают у моих клиентов.

    По возможности, пожалуйста, оптимизируйте работу вашего модуля.

  13. Тоже бывало, что Simple вдруг переставала работать - ссылки на оформление заказа становились дефолтными. Решалось вроде пересохранением настроек модуля.

    Если лицензия проверяется при каждом оформлении заказа, это не очень то хорошо. Это объясняет то, что страница оформления заказа симплы работает медленно.

    Еще всё это заправлено соусом ioncube + обфускация, быстро такое вряд ли могло бы работать. Я глубоко не копался, но уже назревает необходимость в этом.

    Автора модуля всё устраивает - продажи идут, никто ничего не может сделать.

     

     

  14. 12 минут назад, Octsupport сказал:

     

    Мы ведем поддержку через тикет-систему: https://octemplates.net/open.php
    Создайте пожалуйста заявку, благодарим Вас за понимание.
    Служба поддержки работает в будние дни с 10:00 до 18:00.

    Мне удобнее через форум.

     

    Для тех, кто будет добавлять новый язык:

    system/oct_ultrastore_theme.ocmod.xml

    После

    <file path="catalog/language/uk-ua/uk-ua.php">
        	<operation error="skip">
    			<search regex="true"><![CDATA[~(;|;\n{1,})$~]]></search>
    			<add position="replace"><![CDATA[$1
    			include(DIR_LANGUAGE."uk-ua/octemplates/oct_ultrastore.php");
    			]]></add>
        	</operation>
    	</file>

    Добавьте подключение своего языка.

     

     

    Можно же было брать информацию об установленных языках, зачем такой хардкод?

    • +1 1
  15. 3 часа назад, Octsupport сказал:

     

    Gzip должен быть на хостинге включен и в настройках магазина, это не функционал шаблона.

    Пробовал и в настройках opencart выставить 9 и в htaccess и в cpanel. Ладно, это ерунда.

     

    Перевожу сайт на эстонский язык. Изменения не отображаются.

    Загрузил в /catalog/language/et-ee/octemplates всё из /catalog/language/en-gb/octemplates, даже так ничего не выводится.

    Чистил кеш шаблона, кеш модификаций. Даже вручную почистил папку system/cache/

    Должно же хоть что то выводиться? Хотя бы "oct_text_checkout"

    "Оформить заказ", "Наш адрес", "Время работы"

     

     

     

     

    p.s. Надеюсь, больше не будет вопросов )

     

    UPD: oct_subscribe.php нормально переводится, а oct_ultrastore.php нет

  16. @Octsupport

    Используете минификатор для сжатия, хорошо.

    Но Google pagespeed гооворит:

    Цитата

     

    Чтобы уменьшить расход сетевого трафика, рекомендуем сжимать текстовые ресурсы (gzip, deflate или brotli).

    …cache/06b9547….css?v=2.0

    …cache/1ad356e….js?v=2.0

     

    Подскажите, как убрать ?v=2.0 чтобы использовать gzip или сжать вашим минификатором до приемлемого для Google уровня. Спасибо.

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

Important Information

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