Опубликовано Оставить комментарий

KIT SERIES как вывести дочерние в поиске и фильтре, а в категории скрыть

<file path=»catalog/model/catalog/product.php»> <operation> <search><![CDATA[product_to_store p2s ON (p.product_id = p2s.product_id) WHERE]]></search> <add position=»replace»><![CDATA[product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN » . DB_PREFIX . «kjseries_product_hidden kph ON (p.product_id = kph.pid) WHERE «. ( (!isset($_GET[‘search’]) && !isset($_GET[‘filter’])) ? » kph.pid IS NULL AND «:»») . «]]></add> </operation> </file> зайти в список модификаций и редактировать мою модификацию KIT SERIES найти часть модификации, которая находится НИЖЕ этого текста заменить на часть модификации, которая находится ВЫШЕ этого текста. редачить модифы Вам поможет модуль OCMOD Editor for OpenCart 2.2 and 2.3 <file path=»catalog/model/catalog/product.php»> <operation> <search><![CDATA[product_to_store p2s ON (p.product_id = p2s.product_id) WHERE]]></search> <add position=»replace»><![CDATA[product_to_store p2s ON (p.product_id = p2s.product_id) LEFT JOIN » . DB_PREFIX . «kjseries_product_hidden kph ON (p.product_id = kph.pid) WHERE kph.pid IS NULL AND ]]></add> </operation> </file>

читать

Опубликовано Оставить комментарий

KIT SERIES документация

установка после установки обновить модифы в редактировании товара должна появиться влкадка KIT-SERIES вводим ключ, который я выдам в личке форума и создаем серию простейшая настройка серии может выглядеть так настройка вывода в категорию может выглядеть так не забываем читать хелперы в странице модуля внизу есть крон ссылки, а так же кнопки, которые можно нажимать прямо с модуля по итогу имеем такой вывод в карточке товара и такой вывод в категории товара

читать

Опубликовано Оставить комментарий

лето 2019

сегодня был на пруду. погода уже походит на осеннюю, но водичка еще около 20 градусов. в этом летнем сезоне много катаюсь на велике. наснимал кучу материала на ксяоми экшн-камеру, купленную на розетке за 50 долларов. как похолодеет будет чем заняться, а именно монтажем того самого материала. через две недели улетаю в барселону. надеюсь мой отдых удастся и я не разобьюсь на самолете, хотя наверно это быстрая и безболезненная смерть. так давно не писал в свой блог о жизни, что даже неловко делиться этим всем с интерфейсом моей админки. как обычно поддержка модулей забирает много сил, а еще на меня AWARO обижается, что я не помогаю ему развивать модуль. классика, но я найду время и буду доводить начатое до ума. в этом году оборудовал старый дом, который ранее использовался как кладовка. поставил туда комп с эмулятором сеги, занес туда кальянчик и диванчик. утащил туда свою древнюю аудои-систему и чилюсь там по вечерам с друзьями. всем хорошего лета, цем ну и по классике. парочку фоток)

читать

Опубликовано Оставить комментарий

chart.js взаимодействие с php и ajax

php класс генерирующий массивы под chart.js class chartjs { public $barChardData; public function __construct() { $this->createData(); } public function getCount() { return count($this->barChardData[‘labels’]); } public function createData() { $this->barChardData = array(); $this->barChardData[‘labels’] = array(); $this->barChardData[‘datasets’] = array(); } public function addBarChardLabels($labels) { $this->barChardData[‘labels’] = $labels; } public function getData() { return $this->barChardData; } public function addBarChardData($label, $backgroundColor, $borderColor, $borderWidth, $data, $fill) { if (count($data) !== count($this->barChardData[‘labels’])) { exit(«ERROR»); } $this->barChardData[‘datasets’][] = array( ‘label’ => $label, ‘backgroundColor’ => $backgroundColor, ‘borderColor’ => $borderColor, ‘borderWidth’ => $borderWidth, ‘data’ => $data, ‘fill’ => $fill, ); } } использование $chart=new chartjs(); foreach ($month as $year => $val) { $chart->addBarChardLabels($month[$year]); $c = $this->random_color(); $chart->addBarChardData($year, $c, $c, 3, $total[$year], false); } $json[‘barChardData’] = $chart->barChardData; обрабатывается это примерно таким аякс запросом function myChart(json, type) { if (window.myBar !== undefined) window.myBar.destroy(); window.myBar = new Chart(ctx, { type: type, data: json[‘barChardData’], options: { responsive: true } }); } и на выходе получаем долгожданную диаграмму

читать

Опубликовано Оставить комментарий

добавляем в ocfilter сворачивание. минимизируем фильтр цены

Чтобы добиться такого вида окфильтра. необходимо добавить к сайту следующие жс и цсс .noUi-pips-horizontal { display:none; } .ocfilter-option label { float:left; white-space:nowrap!important; width:50%!important; } .noUi-horizontal .noUi-handle { width: 23px!important; height: 23px!important; left: -17px!important; top: -4px!important; border-radius:50%!important; } .list-group .list-group-item { overflow:hidden!important; } .ocfilter-option .ocf-option-name { margin-bottom:0px!important; } .ocf-option-values { margin-top:10px; } var html_bott = «<i class=’fa fa-chevron-down pull-right’></i>»; var html_top = «<i class=’fa fa-chevron-up pull-right’></i>»; $(document).ready(function() { $(«.ocf-option-name»).each(function(index) { var this_html = $(this).html(); var this_text = $(this).text(); $(this).html(this_text + html_top); }); $(«.ocf-option-name»).click(function() { var this_html = $(this).html(); var this_text = $(this).text(); var last_s = this_html.slice(-1); if (last_s == ‘ ‘) { $(this).html(this_text + html_top); } else $(this).html(this_text + html_bott + ‘ ‘); $(this).next().toggle(); }); // сворачиваем все группы начиная с 4 $(«.ocf-option-name»).each(function(index) { if (index > 3) $(this).click(); }); });

читать

Опубликовано Оставить комментарий

округление цен в опенкарте

цены в опенкарте округляются в библиотеке расположенной по пути system/library/currency.php или system/library/cart/currency.php в методе «format». на oCstore 2.3 эта строка выглядит следующим образом $amount = round($amount, (int)$decimal_place); видим что округление работает по принципу round(3.4);         // 3round(3.5);         // 4 если мы хотим обернуть округление в большую или меньшую сторону, то можно использовать функции ceil / floor так же можно реализовать округление цен в корзине. либа корзины находится по путиsystem/library/cart.php или system/library/cart/cart.php код, который отвечает за цены в корзине. ‘price’ => ($price + $option_price),’total’ => ($price + $option_price) * $cart[‘quantity’], и никогда не пишите поверх этого кода. дерзайте OCMOD всем хорошего времени суток

читать

Опубликовано Оставить комментарий

как recaptcha и youtube убивают скорость загрузки сайта

если у вас опенкарт и ответ сервера быстрый, но гугл пейджспид показывает низкий показатель. нужно задуматься вот над чем удалить не используемые скрипты и медиане использовать cdn и не использовать скрипты, которые тянут стили и еще скрипты с других источников (например рекаптча, ютюб и тд). найдите им замену. ютюб замените хтмл5 тэгом видео. а рекаптчу замените комплексом условий для опеределния бота. например скрытая галочка, которая не должна придти на сервер от человека, а от бота придет. и еще какую-то простенькую капчу. типа суммы чиселне покупать шаблоны на темфорест. натыкался лично милен раз на такие темы, у которых ответ сервера из-за модифов и нагрузки становится 3-5секунд.проверить размер изображений. посмотреть максимальные размеры изображений в браузере при разных разрешениях устройства. и прописать в настройках опенкарта максимальныейода еще писал тыщу лет назад отключить подсчет товаров в категориях для менюстили в хеде. скрипты — перед </body>

читать