Перейти к содержанию

Блоги

ДОПОЛНЕНИЯ И МОДУЛИ (Джентельменский набор)

Под рукой - (потом сгруппирую) - типа джентльменский набор Сборка ocStore на opencart  - актуальная v2.3.0.2.3  >  тут . Сборка OpencartPRO - платная  >  тут . Сборка под оптовые продажи на основе ocStore v2.3.0.2.3 - подробности в ЛС. Одно страничное оформление заказа и корзина Simple  > тут . Куча различных модификаторов для опций  >  тут . Парсер \ Импорт \ Экспорт - Автоматическая обработка прайс-листов  >  тут .
        ----- Журнал работы модуля "Автоматическая обработка прайс-листов"   >  тут .
        ----- Запуск по крону модуля "Автоматическая обработка прайс-листов" -  CronSuppler   >  тут  .
        ----- Загрузка прайсов по ссылке или с почты для модуля "Автоматическая обработка прайс-листов" - SupplerMailLink  >   тут . Расширенный редактор заказов - OrderPro  >  тут . Менеджер заказов >  тут . Выгрузка заказов в EXCEL, PDF, CSV, распечатать список заказов  >  тут . Пакетное редактирование товаров - Batch Editor  > тут . Определение города по IP  - (Geo IP)   >  тут . Шаблоны писем при оформлении заказа и изменении статусов заказа и т.д. >  тут . Управление доставкой и оплатой  >  тут . Блог | Новости | Отзывы | Галерея | Формы SEO CMS TOP 2  > тут . Почтовая рассылка PRO   >  тут . Всплывающие окона (формы) + Торги с покупателем - Конструктор  >  тут . Цепляем уходящих клиентов  >  тут . SEO для страницы Акций  > тут . SEO мультиязык >  тут . Убираем грубую SEO ошибку проверки входящих данных - SEO DATAFIX  >  тут . Метки | Поиск продуктов - уникальные мета-теги, ЧПУ - SEO CMS PAGES  > тут . Уведомление о поступлении товара >  тут . Корректный перенос Opencart на HTTPS протокол - SEO HTTPS FIX PRO   >  тут . Логирование действий пользователей админки    >  тут . Закупочная цена товаров - CostPrice   >  тут . Защита админки от вирусов и хакеров >  тут . Вывод атрибутов на витрине  > тут . Автоматический подбор рекомендуемых  >  тут . Файлы для скачивания -  Crear : (File Downloads)  > тут . Купить в 1 клик / Быстрый заказ - PRO  >  тут . Обратный звонок PRO  >  тут . Комплекты серий товаров - наборы товара  >  тут . Оценка доставки на страницах магазина и в карточках товара  >  тут . Комплектом дешевле PRO версия  >  тут . .. Лояльность: Скидки - Пользовательские, Накопительные, Количественные, Комплектные, Оптовые\Групповые цены, Акции и т.д.  >  тут .   Дизайн: Персонализированные шаблоны   >  тут . HYPER Positions +70 позиций модулей  >  тут  .  ...     позже ещё добавлю..   P.S.
Реализация интернет магазина под оптовые продажи, отдельный каталог товаров прайс листами с взаимосвязанной корзиной, доработка корзины и необходимых модулей под оптовые продажи.
Подробности в ЛС.

AWARO

AWARO

Передача переменных с php/tpl в js

Простой вариант реализация гетера   Для начала упаковываем все нужные данные в переменную   $data['data'] = .... Дальше берем div и делаем следующее  <div id="var" class="hidden" data-var="<?= base64_encode(json_encode($data)); ?>"></div> Потом пишем "проксю" на jquery let data = JSON.parse(window.atob($("#var").data('var'))); let proxy = new Proxy({}, { get(target, name) { return typeof data[name] !== undefined ? data[name] : false; } }); Используем, к примеру у нас в наборе есть токен proxy.token  

ArtemPitov

ArtemPitov

Lazy Load на ванильном JavaScript

JS class APLazy { constructor (lazyClass) { if (typeof lazyClass === 'undefined') { this.lazyClass = 'APLazy'; } else { this.lazyClass = lazyClass; } this.lazyArray = []; } setLazy() { this.lazyArray = document.getElementsByClassName(this.lazyClass); } cleanLazy() { this.lazyArray = Array.prototype.filter.call(this.lazyArray, (l) => l.getAttribute('data-src')); } lazyLoad() { for (let element of this.lazyArray) { if (this.isInViewport(element)) { if (element.getAttribute('data-src')) { element.src = element.getAttribute('data-src'); element.removeAttribute('data-src'); } } } this.cleanLazy(); } isInViewport(element) { var rect = element.getBoundingClientRect(); return ( rect.bottom >= 0 && rect.right >= 0 && rect.top <= (window.innerHeight || document.documentElement.clientHeight) && rect.left <= (window.innerWidth || document.documentElement.clientWidth) ); } registerListener(event, func) { if (window.addEventListener) { window.addEventListener(event, func); } else { window.attachEvent('on' + event, func); } } }   Используем JS if (typeof window.APLazy == 'undefined') { window.APLazy = new APLlazy('my-lazy-class'); window.APLazy.setLazy(); window.APLazy.lazyLoad(); window.APLazy.registerListener('scroll', function () { window.APLazy.lazyLoad(); }); window.APLazy.registerListener('resize', function () { window.APLazy.lazyLoad(); }); } else if (typeof window.APLazy == 'object' ) { window.APLazy.setLazy(); window.APLazy.lazyLoad(); }   Используем HTML  <img src="loader.gif" data-src="image.jpg" class="APLazy" />  

ArtemPitov

ArtemPitov

Подсказка внутри Input на jQuery

Простая реализация подсказки внутри input-a   Demo Название   HTML <div class="inputer"> <label>Название</label> <input type="text" name=""> </div> CSS .inputer { border: 1px solid #ddd; position: relative; display: block; width: 100%; max-width: 350px; border-radius: 4px; overflow: hidden; } .inputer label { position: absolute; top: 40%; left: 5px; opacity: 0; transition: all .1s linear; visibility: hidden; font-size: 12px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none; } .inputer label, .inputer input::placeholder { color: #777; font-weight: bold; opacity: .8; } .inputer.active label { opacity: 1; top: 2px; visibility: visible; font-size: 11px; opacity: .8; } .inputer.active input { padding: 16px 5px 2px !important; } .inputer input, .inputer input:hover, .inputer input:focus, .inputer input:active { box-shadow: none; outline: none; border:none; border-radius: 0; display: block; width: 100%; padding: 9px 5px; font-size: 12px; } JS let inputerFn = (el) => { let $el = $(el); $el.parent().toggleClass('active', $el.val().length > 0); }; $('.inputer input').each(function (idx, el) { let $el = $(el); $el.attr('placeholder', $el.siblings('label').text()); inputerFn(el); }).on('input', function () { inputerFn(this); });   .inputer { border: 1px solid #ddd; position: relative; display: block; width: 100%; max-width: 350px; border-radius: 4px; overflow: hidden; } .inputer label { position: absolute; top: 40%; left: 5px; opacity: 0; transition: all .1s linear; visibility: hidden; font-size: 12px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; -o-user-select: none; user-select: none; } .inputer label, .inputer input::placeholder { color: #777; font-weight: bold; opacity: .8; } .inputer.active label { opacity: 1; top: 2px; visibility: visible; font-size: 11px; opacity: .8; } .inputer.active input { padding: 16px 5px 2px !important; } .inputer input, .inputer input:hover, .inputer input:focus, .inputer input:active { box-shadow: none; outline: none; border:none; border-radius: 0; display: block; width: 100%; padding: 9px 5px; font-size: 12px; }

ArtemPitov

ArtemPitov

Обрезка текста на JQuery

Написал маленький плагин для скрытия текста, может кому пригодится.   Настройки  data-length="100" - длина, включая пробелы и html теги | default: 100 data-text_show="Показать еще" - текст кнопки data-text_hide="Скрыть" - текст кнопки   Использование  <div class="Htext" data-length="250" data-text_show="Показать еще" data-text_hide="Скрыть"> Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. </div> Сам плагин     

ArtemPitov

ArtemPitov

 

Откуда можно качать модули?

Порой пользователи OpenCart (особенно начинающие) сталкиваются со всякими «мутными» ресурсами, где им предлагают скачать различные модули и шаблоны, либо купить их по привлекательной цене. К сожалению, владельцы таких ресурсов все больше наглеют и пытаются зарабатывать на своих посетителях, пользуясь их неосведомленностью. Для этого они делают свои веб-сайты похожими на легальные площадки, поэтому неопытному человеку очень легко запутаться среди всех этих ресурсов.   Предлагаю решить проблему неосведомленности пользователей о том, можно ли доверять какому-то ресурсу, с помощью создания некой базы опасных ресурсов, распространяющих вредоносное ПО. Родилась идея сделать простой проверочный сервис Copyright Check.   Данный веб-сайт предназначен для того, чтобы помочь пользователям OpenCart отличать легальные ресурсы, где выкладываются подлинные модули и шаблоны для OpenCart, от варезников, где распространяется взломанное и вредоносное программное обеспечение под видом легального.   Понять, что вы столкнулись с варезником, не так уж сложно, если знать их характерные черты: В разделах с дополнениями вы видите слова «nulled», «cracked», «без ioncube», «складчина» На веб-сайте есть т.н. «подписки», «vip-аккаунты» и прочие платные механизмы, которые открывают доступ ко всем дополнениям На странице дополнения от вас требуют совершить какое-то действие, чтобы его скачать (поставить лайк, подписаться) Загрузка дополнений ограничена для тех, кто недавно зарегистрировался, но эти ограничения снимаются за отдельную плату Все дополнения загружены одними и теми же пользователями и имеют одного автора с логином «admin» или с названием ресурса Ссылка на загрузку дополнения лежит под спойлером (хайдом), для раскрытия нужно заплатить администрации На дополнения организовываются «складчины», т.е. групповая покупка одного дополнения После скачивания дополнения вы обнаруживаете, что архив запаролен, а чтобы узнать пароль, нужно заплатить администрации У ресурса отсутствует какая-либо юридическая информация, а из контактов указан только скайп или электронка Ссылки на загрузку дополнений ведут на бесплатные файлообменники, но не на сервер самого ресурса   Конечно, это не все признаки того, что ресурс однозначно представляет опасность, поэтому если вы не уверены, с каким именно ресурсом имеете дело, воспользуйтесь этим сайтом и просто введите адрес подозрительного ресурса в поле ввода. Если нам что-либо известно об указанном ресурсе, вы сразу получите информацию.   Никаких рекламных целей я не преследую и на сайте никаких ссылок куда-либо, кроме документации PHP и специальной почты opencart.check@gmail.com, нет, но если кто-то сомневается в прозрачности моих намерений или думает, что я таким образом решил себя пиарить - сделайте и распространяйте свои аналоги, это совсем не сложно и на это потребуется 1 вечер, а польза от существования таких сайтов будет для абсолютно каждого пользователя или разработчика.

RGB

RGB

 

Как сдвинуть интернет-магазина с места?

Пришла весна, всё пробуждается от морозника, каждый нормальный человек уже сделал какие-то планы на этот год, и уже третий месяц их воплощает в жизнь, не покладая рук, но не я. Хаос продолжает царить в моём расписании, планах и жизни. К чему я это? Как-то пару лет назад запартнёрился я с предпринимателем, хороший мужик, занимается перепродажей бытовой техники. Взял его магазин на обслуживание. Всё было хорошо, до сих пор партнёрствуем, но вот одна засада магазин встал и не растёт и даже начал терять позиции. Можно сравнить с машиной, которая села на пузо и вроде колёса крутится и движок ревёт, но прогресса нет - не едет. Вокруг все растут, даже появляются всё новые и новые конкуренты, в прошлом году в регион зашла Мвидио, и получается что все утирают нос, не побоюсь присвоить, моему магазину. Ну и вот про весну, решил я толкнуть магазин к лету в общем. Есть время поправить косяки и поднять магазин с колен. Решил делать всё это публично, чтоб была дополнительная мотивация не ударить в грязь лицом, да и показать всем, что это не так страшно, если знаешь что делаешь.   UPD 26.03.18 ==============================================================================   Цели к лету: 1) Увеличение посещаемости магазина с поисковых систем. 2) Увеличение продаж через магазин.   Средняя посещаемость в день на данный момент составляет 60 - 100 человек     Ссылающихся на страницы домена сайтов в среднем 250     Задачи на ближайшее время: 1) переделать структуру категорий (посадочных страниц), 2) добавить дополнительные посадочные страницы, удовлетворяющие запросы пользователей, 3) пересобрать СЯ, 4) переписать текста, 5) переписать мета данные посадочных страниц.   UPD 03.04.18 ==============================================================================   В магазине обнаружена ошибка в работе движка, было принято решение перекатать полностью весь магазин, сразу обновив версию до стабильной ocStore 2.3.0.2.3, раз делать как говориться, так делать. Нельзя делать что-то снаружи, зная что есть проблема внутри. Если это заказ, проблему нужно минимум озвучить, чтоб клиент знал о ней, если не потянет финансово разобраться с ней. Так а тут речь идёт о своём партнёрском магазине. Это как красить автомобиль, зная что под шпаклёвкой гниль. Всегда нужно делать всё качественно. Чем больше погружаюсь, тем более вырисовываются всё новые и новые проблемы, который нужно решать перед оптимизацией.   Также было решено переделать каталог радикально, раскидав главные категории на поддомены (мультимагазин с одной базой), для тестирования предположения, что более узконаправленные тематики, в выдаче показываются выше, по сравнению со "свалками". Поэтому работы увеличилось в несколько раз.   Задачи на следующие 2 недели: 1) Поднять свежую версию магазина; 2) Перекинуть дизайн со старой версии; 3) Создать 20 (под)магазинов, раскидать товар по ним.     UPD 10.06.18 ==============================================================================     Время идёт, проект стоит на месте. Всё этого из-за проектов, которые навалились на меня в последнее время. Но я почти всё разгрёб и сейчас в плотную занимаюсь обновлением дизайна и ассортимента товаров на подопытном. Это очень важная составляющая.   Дизайн - многие люди относятся к нему с пренебрежением, пытаются сэкономить, воруя у самого себя. Есть такое понятие как конверсия сайта/магазина. Конверсия - это отношение числа всех зашедших за день посетителей к кол-ву заказов. Например: у вас магазин с среднесуточным показателем в 100 посетителей. При этом у вас в среднем по 2 заказа в день. 2 заказа / 100 посетителей и * 100% = итого конверсия вашего магазина 2%.   Так вот знали ли вы, что на этот показатель, можно напрямую влиять внешним видом, удобностью и простотой вашего магазина и при одном и том же кол-ве зашедших, увеличить кол-во лидов?   Некоторые "предприниматели", пренебрегают таким важным пунктом как юзабилити=дизайн/простота - делают на коленке магазин, размещают товар, нагоняют/покупают трафик и ...... и ничего, при лучшем варианте несколько заказов. Да - без этого никуда, это один из этапов тестирования, но сведущие "предприниматели" мало, что предпринимают по этому поводу, в основном из-за своего невежества, продолжают сливать бюджеты на рекламу, в надежде что всё изменится.   Поэтому если описанный случай похож с вашим - у вас рекламный бюджет сливается как в "трубу" или у вас заходы с поисковых систем и мало заказов - что-то не так с вашим дизайном и/или у вас отсутствует уникальное предложение.   Поэтому сейчас я занимаюсь дизайном, анализируя конкурентов, чтобы не сливать будущие рекламные бюджеты и органику напрасно.    Ориентировочно 2 недели до выкатывания рабочей версии магазина. Далее оптимизация - не пропусти. Подписывайся на мой канал, ставь лайки 

magneto2010

magneto2010

 

Взгляд на Opencart после Magento и других продвинутых систем

Добрый день. Немного истории вот где то года три назад я начал свой путь в работе с Opencart. Скажем так полюбил я Opencart всем сердцем. Но в один солнечный день мне пришел лист о том что я прошел собеседование в относительно большую IT кампанию. И с того дня мой взгляд на хороший код изменился...  Вот не так давно меня попросили немного доработать функционал на OC. Мне не сложно в принципе вот я и приступил к работе. Я сидел и говорил себе Боже как я раньше с этим работал.   Ну теперь давайте я вам попробую описать то что меня возмутило.   1. Удобство разработки и интеграция в IDE Да когда я работал с Sublime Text все было вроде гуд. Но уже полгода работаю через PhpStorm (PS. Лицензия есть даже на домашнем ПК а не только на работе). При запуске сразу получаем кучу предупреждений. Давайте взглянем на простой класс http://joxi.ru/52alLM0UGzO1Om Причин тут две:
1) Отсутствие PhpDoc 2) Упрощенная структура самой CMS Ну если добавить PHPDoc то большую часть проблем это реши. 
Зачем нужен PHPDoc ??
Я напишу коротко если будет интересно загуглите. 1) Это читабельность кода
2) Автокомплит и информация о методах на лету  http://joxi.ru/brRZkROHQveeLr как не крути сразу видно что и как надо передавать тому или другому методу или то что он возвращает. Или же увидеть ошибку на моменте написания кода а не запуска.   2) Это наверное бесит меня на данный момент больше всего. Это дублирования кода. Хотя Опенкарт и как бы MVC но он нарушает один из принципов MVC потому что с дублирование кода тут просто беда. Давайте посмотрим на один из контроллеров админ панели. http://joxi.ru/nAyKdw3tXz1oVm 
И это один из множества примеров. который есть в каждом файле я молчу о генерации $url вот пример из файла файла покупателя. Этот кусок кода встереатся в одном файле 9 раз. ????? 
Давайте посчитаем: 9 * ~40 строк = ~360 строчек кода которые можно отрефакторить к 20 максимум и будет один метод для всех файлах а в контролере это будет одна строка вместо 40   $url = ''; if (isset($this->request->get['filter_name'])) { $url .= '&filter_name=' . urlencode(html_entity_decode($this->request->get['filter_name'], ENT_QUOTES, 'UTF-8')); } if (isset($this->request->get['filter_email'])) { $url .= '&filter_email=' . urlencode(html_entity_decode($this->request->get['filter_email'], ENT_QUOTES, 'UTF-8')); } if (isset($this->request->get['filter_customer_group_id'])) { $url .= '&filter_customer_group_id=' . $this->request->get['filter_customer_group_id']; } if (isset($this->request->get['filter_status'])) { $url .= '&filter_status=' . $this->request->get['filter_status']; } if (isset($this->request->get['filter_approved'])) { $url .= '&filter_approved=' . $this->request->get['filter_approved']; } if (isset($this->request->get['filter_ip'])) { $url .= '&filter_ip=' . $this->request->get['filter_ip']; } if (isset($this->request->get['filter_date_added'])) { $url .= '&filter_date_added=' . $this->request->get['filter_date_added']; } if (isset($this->request->get['sort'])) { $url .= '&sort=' . $this->request->get['sort']; } if (isset($this->request->get['order'])) { $url .= '&order=' . $this->request->get['order']; } if (isset($this->request->get['page'])) { $url .= '&page=' . $this->request->get['page']; } А теперь представте волшебство Если бы можна было бы так $url = $this->url->saveUrlParametrs('filter_name', 'filter_email', 'filter_customer_group_id'); И подобных ситуаций уйма. Про дублирование верстки я молчу вообще. Чтоб добавить чтото к товару нада єто продлублировать в 100500 файлах.
В мадженте к примеру страница редактирования или список в админке создается с помощью двох XML файлов где просто описиваются конфигурации и єтими конфигами можна решить около 75% задач что ставлятса к кодингу доходит редко и економит просто уйму времени. С версткой аналогично создаеш блок и подтягиваеш в нужное место и живеш и радуешся жизни.   Ну думал написать по больше но с временем не сложилось. Может потом добавлю что то.
 

konorws

konorws

 

Разница между redirect 301 и 302 о которой возможно вы не знаете

Добрый день.  Вот не так давно столкнулся с одной фичей 301 редиректа если честно я несколько часов не мог понять в чем прикол а потом все добрый дядя Google дал мне ответ.   С чего все началось. Ко мне написал старый заказчик с просьбой поправить страницу заказа. А именно перекидать пользователя без авторизации на страницу самой авторизации (зачем ? это уже другая история скажу сразу у него движок не Opencart а самопис какой то). 
Тут долго думать не пришлось 3 строчки кода (Буду приводить код Opencart что бы было более понятно)
Ну вставил я этот код: if(!$this->customer->isLogged()){ $this->response->redirect($this->url->link('account/login')); } Ну думаю проверю на всякий случай. И вот скидаю куки и захожу на страницу заказа оп и все работает.)))) Думаю ладно попробую еще авторизацию пройти. 
Логинюсь на сайте - идем на страницу оформления - оп и я на странице авторизации с ошибкой доступа
  Я немножко афигел.  Давай копать проврил код все нормально все верно. Убрал код из файла и оп ляля а Ридерект остался причем в любой ситуации перекидивает. 
Я начал колдовать искал убирал скидивал кеш и нифига.  
И тут я заглянул в файл редиректа и вот какую строчку я там обнаружил header("HTTP/1.1 301 Moved Permanently"); Уточнил у заказчика откуда он там взялся (пришлось обяснить сначала что он значит и делает). Как оказалось им какая то СЕО прога сказала что на сайте есть 302 редиректы и это не правильно и они решили все перевести в 301.
Думаю окей ваши тараканы.     Закомментил эту строчку проблема осталась.    Начал гуглить, гуглить, гуглить, ........... И на дном из тикетов поддержки Google Chrome я нашел ОТВЕТ:
Как оказалось браузеры кешируют 301 редирект и при повторном вызове УРЛ сразуже перенаправлять на кешированный УРЛ.  Причем не только Google Chrome а и другие браузеры также.   Итоги:
Для внутришних редеректов сайта всегда используйте 302 редирект который используется в PHP по умолчанию.

konorws

konorws

 

Оптимизация подсчета товаров Hello Toporchillo

Помнится мне в версиях 1.5.x появилась фича от Toporchillo  с модификацией запросов подсчета товаров при помощи SQL_CALC_FOUND_ROWS.
А я тогда говорил, что это бред! И правильно использовать второй полноценный запрос для getTotalProducts.
В 1.5 совсем плохо было с индексами и на небольших базах это возможно имело смысл. Но когда сейчас каждый второй магазин от 10 000 товаров, FULLSCAN всех таблиц участвующих в выборке товаров  в категории и механизм FOUND_ROWS скорее вреден чем полезен и вот вам подтверждение с официального блога Percona   https://www.percona.com/blog/2007/08/28/to-sql_calc_found_rows-or-not-to-sql_calc_found_rows/   Учиться, учиться и еще раз учиться! (c)

Yoda

Yoda

 

Убираем дублированные слеши в адресах страниц

Все мы хорошо знакомы с боленями опенкарта и дублями.
Но немногие заморачиваются с их устраненением.

Очень часто криворукие писатели дополнений не утруждают себя проверять код  и в вашем магазине появляются ссылки вида http://vash_magazin//////какой_то_адрес/?id=какой то айди   Убрать повторяющиеся слеши очень просто.
Достаточно добавить в .htaccess после rewrite base   вот такой код: RewriteCond %{THE_REQUEST} ^[A-Z]{3,}\s/{2,} [NC] RewriteRule ^(.*) $1 [R=301,L]  

Yoda

Yoda

 

Мульти добавление изображений к товару

Добрый день. Вот делал небольшую задачу основной целью которой было ускорить и упростить наполнения товаров.  Одно из самых раздражающих есть добавление изображений поэтому я добавил небольшой скрипт основан на скрипте uploadify  Суть в том что загрузка и добавление происходит в 2 клика. Причем картинки сортируются в свои каталоги примером вот так 
/image/data/lproducts/55
где 55 это ID товара если же вы создаете новый товар и у него еще нет Айдишки тогда будет создан каталог по времени time(); Вот видео как работает:   Если кому нужно пишите в коментах дам исходники. Тут канешно для Opencart 1.5 то если руки ровные тогда без проблем можно поставить и на 2.Х Гдето видел даже готовый плагин для этой цели правда он у меня не хотел работать!

konorws

konorws

 

iforum.ua

Кто будет iforum.ua ?  Перекличка. Есть вероятность 50/50, что я там буду, и если кто хочет получить от меня в рыло, или полезные советы - велкам!

Yoda

Yoda

 

Засвет пароля от mysql

А знаете вы, что в классе Mysqli, при включенных ошибках и отсутствии коннкета к базе светится пароль базы?
А знаете вы что Даниэль сказал, что это не баг а фича ? https://github.com/opencart/opencart/issues/5027

Yoda

Yoda

 

Сколько стоит СЕО, а сколько нужно денег для открытия магазина.

Привет читатель, если конечно кто-то вообще меня читает  Очень часто встречаю эти вопросы, решил вставить сои 5 копеек. Эти два вопроса вызывают бомбежку пуканов на протяжении многих лет, но все сеошники "для отмазки" говорят некую усредненную цифру. Давайте разберемся, почему нельзя дать точный ответ на эти вопросы: 1. Нужно понимать, а что вообще нужно от магазина, Вы собрались завоевать мир - одна цена "примерная", заработать на чебуреки с кокой - совершенно другая стоимость. 2. СЕО и создание магазинов - это одна из областей маркетинга, не существует одного упоротого направления, которое однозначно даст результат. Весь интернет-маркетинг - постоянный поиск и эксперимент, и начинается он далеко не в интернете, приведу пример: Вы продаете чебуреки, Вам хочется быть на 1 месте, как думаете что нужно? (я уже знаю мысли в ваших головах: ССЫЛКИ, НУЖНО БОЛЬШЕ ССЫЛОК) - хрен вам , ох я Ванга. Чтобы продавать чебуреки и быть на 1 месте нужно: качественное мясо, чеснок, кинза, соль, тесто. 3. Вам магазин нужен или позиция (Ща навангую, сек "он втирает дичь, будут продажи, будет гелик, идиот какой-то") и опять овощей Вам, продажи и позиции, совершенно разные вещи. Позиции увеличивают посещаемость, но не гарантируют продажи.  Нельзя просто так взять и сказать сколько стоит сео.   Вот примерный расклад: Создание магазина от 5 000 до 500 000. (да, да есть такие цены) 1 товар = 30 руб. (копирайт) А дальше.....      

kentkent17

kentkent17

 

Модуль Истории изменений (Change History)

Добрый день хочу представить вам небольшой обзор модуля который почти завершен и находится на этапе тестирования.
"Change History" Представляет из себя модуль который сохраняет большенство изменений которые проходят в админ панели.
В общем мы имеем несколько параметров:  Действие: 
- Добавление
- Удаление
- Изменение
При использовании первых двоих вы получите отчет о том что было удалено + некоторые дополнительные данные такие как ID
При "изменении" вы получаете отчет о том какие параметры были изменены в таком варианте (Поле: было -> стало)  дальше у нас есть Модули (Название (Поддерживаемые действия)
-  Заказ (Удаление, добавление)
-  Статусы заказа (изменение)
- Товары (добавление, изменение, удаление)
- Категории (добавление, изменение, удаление)
- Покупатели (добавление, изменение, удаление)
  В отчете вы получаете такие поля
№ отчета / Имя Юзера / Модуль / Действие / дополнительные прамметры / дата
Также есть фильтр который позволяет отсортировать отчеты
  Настройка Вы можете включить или отключить те модули которые хотите отслежывать (смт. Скрин)   Также в процессе проектирования функция Recovery которая будет в будущем добавлена к функционалу данного модуля
Жду ваших комментариев и пожеланий

konorws

konorws

 

Почему интернет-магазин не продает

Всем доброго дня! Вот я созрел  и решил обсудить важную тему, а почему магазин не продает? Каждый делает магазин для получения коммерческой выгоды, мы ведь для этого тут находимся? Я решил осветить самые важные проблемы и начнем по списку: 1. Отсутствие доверия к ресурсу. Зайдите сами на свой сайт и представьте себя в качестве покупателя, а затем хорошо подумайте, а купил бы я в этом магазине? Наверное у каждого бывало, когда заходишь на ресурс и чувствуешь какое-то наипалово Вот вредные советы, как сделать чтобы не покупали: 1.1 Добавьте скидку на каждый товар. (лучше -79%) 1.2 Обязательный таймер (на каждом товаре) 1.3 Основной номер - мобильны, а лучше еще с отрицательным балансом 1.4 Не пишите цены и ставьте статус "нет на складе" 2. Порнографический дизайн. Не делайте очень яркий дизайн магазина, Вы продаете товар, а не шаблон. Очень многие магазины грешат мелким шрифтом, покупатель просто не может прочитать текст. Мелкие картинки ужасного качества, покупатель хочет увидеть за что он платит деньги! Отсутствие адаптации под мобильные устройства. 3. Правило 5 секунд. Очень важный момент, если вы хотите продавать! Покупатель зайдя на сайт, должен сразу понять: Что вы продаете? Какой ассортимент? 4. Надоедливый онлайн консультант и бесконечные баннеры. Хотите чтобы бежали с Вашего сайта? Сделайте консультанта и чтобы он всплывал через каждые 15 секунд, а еще чтобы было громкое звуковое сопровождение, успех обеспечен! Выплывающие баннеры из той же оперы Описаны далеко не все факторы, в дальнейшем расскажу еще много разных моментов. Заведу канал на ютубе, буду собирать донаты, играть в доту и громко кричать Всем успешных продаж! P.S Да прибудет с Вами конверсия          

kentkent17

kentkent17

 

Заблуждение о "Безлимитно Сайтов"

Добрый день. Хочу вам рассказать том что вы получаете когда выбираете хостинг на котором вам разрешают устанавливать несколько сайтов а в некоторых случаях и неограниченное количество сайтов.
Начну с того что сам повелся на такую акцию. Мы купили хостинг с такими характеристиками:
ЖД SSD – НЕ ОГРАНИЧЕНО,
Количество сайтов – НЕ ОГРАНИЧЕНО,
ОЗУ: 1 GB,
Цена составила 330грн/мес. (730р/мес.)
Ну как для одного не большого интернет магазина с 1к трафика в день и 3к товарами должно было хватить тем более меня уверяли что все будет работать отлично.
Скажу сразу что я очень лояльно ставлюсь к данному хостингу («Unihost»  рефф. Силка) и не хочу показать какое то негативное мнение насчет него я активно пользуюсь его услугами и такие ситуации встречал и на других хостингах.
Ну казалось все хорошо работало и не было никаких проблем.
Но тут мы начали делать еще один проект и когда стал вопрос о том где его разместить мы вспомнили о том что у нас есть хостинге где можно поставить еще файлы так как диск был неограничен проблем не должно было быть но когда мы развернули проект через месяц мы заметили что оба сайта начали подвисать и тогда мы начали искать причину этого и добрались к логам производительности и оказалось что нам просто не хватает ресурсов  после общение с тех. поддержкой о казалось что у всех сайтов одни ресурсы то есть наш 1 ГБ ОЗУ был на два сайта. Также я пообщался с другими хостингами и оказалось у них такая же ситуация, я вполне понимаю что это был сугубо наш косяк и не имею претензий к хостингу просто хочу вам рассказать возможно это вам когда то поможет сделать правильный выбор. И старайтесь не экономить при выборе хостинга или сервера это та часть где лучше заплатить больше если вы хотите создать не сайт визитку. Просто помните в большинстве случаев вы получаете общие ресурсы на все сайты хоть их там 5, 10 или 100.  
 

konorws

konorws

 

Проблемы с неправильной релевантной страницей Yandex привет

Привет уважаемые читатели, если они вообще будут  Есть очень распространенная проблема, которая связана с релевантностью страницы. Думаю многие сталкивались с этой проблемой, или замечали что посетители сайта попадают на главную, или не на ту страницу.  Начну свой рассказ с самого главного, а как вообще определить, какая именно страница релевантна запросу, делается это очень просто. 1. Для этого заходим к Яшке по адресу: yandex.ru  2. Вбиваем в строку поиска: запрос site:ваш сайт.ru И скорее всего, по некоторым запросам релевантная страница в яндексе будет неверной, что же будем делать? Будем повышать релевантность, сделать это можно несколькими способами: 1. Проанализировать текст и убрать лишнее, или добавить вхождения запросов для нужной страницы (только без спама типа: пластиковые окна недорого Москва, скидка отвечаю ) 2. Наверное самый верный вариант, перелинковка! Я думаю для тех кто в теме, я не открою тайну, что весь интернет построен на ссылках и анкорах. Чтобы повысить релевантность нужной страницы, нужно передать ей немножко статического веса с другой страницы, (чтобы купить что-то ненужно, нужно продать что-то ненужное) Но тут есть важный момент, нужно понимать как вы прокачиваете свой сайт, некоторые магазины делают упор на карточки товаров, другие на категории, рассмотрим 2 вариант. Можно с некоторых карточек проставить ссылки на продвигаемые страницы, но также важно разбавлять анкор и заставить клиента кликать на ссылки. Например: запрос "купить iphone 5s" Вы можете с некоторых аксессуаров для телефона, проставить ссылку на сам телефон. Пример: Чехол бла бла бла бла, я вода  Для iphone 5s, или Вы также можете купить со скидкой iphone 5s.   Надеюсь дал что-то полезное        

kentkent17

kentkent17

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×