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

Yoda

Users
  • Posts

    3,181
  • Joined

  • Last visited

Everything posted by Yoda

  1. Да вы правильно поняли, я надергал образцов кода из разных мест для примера вам. Решение описано выше. И это наиболее качественный способ "человеческой" сортировки. Средствами mysql подобное реализовать невозможно, так как strcmp - вот просто шикарно работает. Также если не будете ленится и сходите по приведенным ссылкам в конце - там есть очень подробное описание на php.net с кучей примеров и подробным разбором работы методов.
  2. Да сможете, но вам предварительно необходимо поместить ващ объект $db2 в $registry, для того чтобы к нему был доступ из дочерних классов движка.
  3. При всем уважении - это не очень хорошее решение. Более корректным будет забрать код из 1.5.6 и в конфиге поменять тип подключения на mysqli. https://github.com/opencart/opencart/blob/1.5.6.4/upload/system/library/db.php https://github.com/opencart/opencart/blob/1.5.6.4/upload/system/database/mysqli.php Конкретно в вашем случае появится еще проблема с библиотеками mcrypt - но это так же решается путем апгрейда отдельных классов движка. Тот же encryption класс можно взять отсюда и спокойно пользоваться. https://github.com/opencart/opencart/blob/3.0.1.0/upload/system/library/encryption.php С обновлением версии php с 5.x на 7.x даже с 1.5 движком проблем нет - если возникнут - пишите в личку подскажу что сделать. А вот с работой сторонних модулей могут быть самого разного рода проблемы.
  4. <?php $dirs = array( array('name' => 'First Folder', 'path' => 'sompath'), array('name' => 'second folder', 'path' => 'sompath2'), array('name' => 'Third Folder', 'path' => 'sompath3') ); function so($a, $b) { return (strcmp (strtolower($a['name']), strtolower($b['name']))); } uasort($arr, 'so'); var_dump ($arr); ?> https://www.php.net/manual/ru/function.uasort.php https://www.php.net/manual/ru/function.strcmp.php
  5. Тут ты не совсем прав. Очень часто, в моей практике, недоступной к сожалению большинству, встречается аномальный паттерн посещаемости. Когда у тебя на десять страниц магазина идет 90% трафика из контекстной рекламы. И поток этого трафика может быть ну оч большой. В таких ситуациях глобально кешировать весь контент страницы - мастхев (но понимая, что и без этого кеша быстро). Но в случае когда "спицилист аптемезатор" показывает вот вам главная html готовый за 50 мс прителета. А еще 10 000 страниц как были так и есть по 2-3 секунды, тут без слов!
  6. Класс... Я пишу - вот вам ребята... бесплатные решения. Пользуйтесь. Вот тут вас немножко вводят в заблуждение... Привожу факты и это манипуляция общественным мнением? Оруэл курит! Великолепно... То есть по вашему, теперь нельзя взять и посоветовать людям тыц и тыц.. Берите вот это и вот это. Тыц и тыц... есть альтернативное мнение... Еще раз повторю суть моих постов. Вы можете сколько угодно любить авторов которых вы советуете. Я их не люблю. И я считаю, что использовать альтернативные бесплатные решения С ОТКРЫТЫМ КОДОМ !!!! для реализации тех же самых задач, разумнее, чем пользоваться дополнениями, которые лично у меня вызывают определенные сомнения. Это мое мнение - и я не претендую в отличии от вас на истину в последней инстанции. И не показываю рисованные циферки.
  7. Вы узко и ограничено мыслите и пытаетесь натянуть сову на глобус. Не надо никуда бегать - надо пользоваться доступными и открытыми инструментами по возможности. Вы же занимаетесь дешевым пиаром. Как и ваши друзья, не предлагая альтернативы. Сжатие картинок - это просто как дважды два. В 99% случаев поддержка не нужна и реализуется бесплатными методами с открытым кодом. Что касается того что вы показали категорию на 1300 товаров. Вот дополнение которое реализует ту же задачу что и ночной код вашего товарища, только без исполняемых кеш файлов. https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=19079 Но эти дополнения никак не решают вопросы ни нагружнных проектов, ни магазинов с большим количеством товаров. Показывать скорость отдачи сервером кешированного html - это такое же введение в заблуждение людей как и голый html или наглухо переверстанный шаблон. А так да... Рекламка такая была зачетная... И если говорить про поддержку. То за 3000 рублей сэкономленных на этих модулях, любой пользователь десять раз купит 3-4 часа работы грамотного специалиста, который минут за 20-30 решит потенциально возможные косяки. И еще 2500 останется на решение других задач.
  8. Возможно, показывать совсем голую верстку, без 100500 ништяков которые могут быть талантливо установлены - как то не очень... И возможно не стоит верить волшебным модулям, а немного посмотреть, как же так картинка на 1мб валится? Как и лишний раз вводить людей в заблуждение про волшебные модули.
  9. Тут вот какое дело... Просто перенести в подвал - не выйдет по нескольким причинам. Во первых гуглу это не подойдет, так как он будет все равно ждать первую загрузку контента (это нововведения такие). Во вторых можно порушить работоспособность модулей. И в третьих так или иначе надо перерабатывать всякого рода скрипты, которые добавляются не через $this->document->addScritp('somescript.js'). Та же самая история и со стилями. По нынешним рекомендациям гугла соответствующие стили надо загружать только под соответсвующий vieport и дробить базоый стиль на кучу составляющих. А все вспомогательные стили грузить уже после всей загрузки контента - на выходе тоже можно получить дергания. Так же гуглу не нравится, что мы грузим по очереди несколько десятков ресурсов, а то что уже давно существует HTTP2 и как он работает гугл не в курсе. И вряд ли в ближайшем времени будет в курсе. Также возможно просто обьединение всех стилей и заголовков в один большой файл. Но в таком случае можно забыть про то что бразуеры кешируют статику. Правда для разного типа контента все же будет кеширование, но не на уровне элементов вашей структуры, а на уровне свой стиль/скрипт на каждый роут товар, категорию и тд. Если сильно охота можете попробовать поиграть вот в такие теги: <link rel="alternate stylesheet" href="mystyles.css" onload="this.rel='stylesheet'"> и как то так: <script>function init() { $('a').addClass('ajax'); }</script> <script src="/jquery.js" async onload="init()"></script>
  10. 50-500 мс экономии на генерации страницы.
  11. Мы говорим про ошибку. С которой никак не связаны заголовки кеширования сжатия. Также если говорить в целом о настройках. То сжатие кеширование заголовков - малая часть проблем, которые возникают у магазина, связанных с сервеными настройками.
  12. Извините, но вы написали глупость. В данном случае в ответе сервера присутсвует warning, который выдает ошибку, которая является десткой болезьню движка, связанную с удалением файлов кешей. В каком месте здесь проблемы с вебсервером? Лечится - просто отключением вывода логов ошибок в настройках магазина.
  13. Спасибо зе рефренс, но тут скорее всего не мой случай, автор ищет волшебную таблетку, верит в чудесную силу лайтнинга и подорожника. Мне зачастую с такими людьми очень сложно найти общий язык, и еще сложнее объяснить что оценка pagespeed никак не связана со скоростью работы проекта и то что нет cуществует волшебных настроек сервера, которые могут дать волшебную оценку pagespeed, для таких людей тут есть целая плеяда блестящих специалистов брать по полсотне тысяч рублей за волшебный воздух.
  14. if (ltrim($this->request->server['REQUEST_URI'], '/') == 'sitemap.xml') { $this->request->get['route'] = 'extension/feed/google_sitemap'; return; } Это по моему лишнее. При наличии реврайта в htaccess.
  15. А вот строчку в htaccess не нужно было комментировать. И в seo_pro неплохо было бы добавить вот такое: if (isset($this->request->get['route']) && $this->request->get['route'] == 'extension/feed/google_sitemap') { return; }
  16. Это у вас какой-то адблок - это не страшно, а вот изображений и правда очень много. И судя по всему стоит ограничение на сервере. Поменяйте хостинг и будет все ок.
  17. Это вот ща обидно было. Настолько ****го бота, даже я бы не смог написать. И это вы еще не видели его в реальной жизни.. А я видел пару фото. Это нечто!
  18. Где пруфы, вы так много глупостей говорите. У меня есть много пруфов, когда после включения сео-про магазин взлетает в выдаче. А у вас сплошное бла бла бла и байки про каноникал. А ничего страшного, что в движке без сео про может быть пару десятков разных ссылок на один и тот же контент? А ничего страшного, что если у вас 20 000 страниц вы получите 400 000 неуникальных урлов? А ничего страшного, что если бот начнет активно ходить по всем этим ссылкам, пытаясь обнаружить каноникал не хватит никакого краулингового бюджета. Не несите ересь пожалуйста с вашим другом, который пишет ночной код. Или предоставьте не единичные факты с графиками изменения позиций и индексации проектов, где вы внедряете вашу ересь!
  19. 1 - включите отображение всех ошибок и посмотрите нет ли их где-то по ходу в html 2 - проверьте включен ли у вас json-php модуль 3 - в контроллере карточки товара сделайте var_dump($product_info['name']); или seo_h1 - посмотрите что у вас приходит из базы. По результатам - отпишите Upd - посмотрите что у вас в поле h1 в базе для этого товара. Если кракозябр нет - где-то в коде движка скорее всего он увас на лету трансфомируется, и скорее всего у вас нэ очэнь руске пыхапэ, и скорее всего где-то есть strtoupper(), который необходимо заменить на mb_strtoupper()
  20. Не работает асинхронная загрузка в случае с opencart - надо использовать rel = preload
  21. Не совсем понял. Но я немного не о том хотел сказать. Так или иначе кроме вагона скриптов тот же мега фильтр генерирует очень много лишних оберток для контента, а объединение его скриптов в один общий - не дают желаемого эффекта. В данном случае если говорить про то как все должно быть в идеале. На фронт должна приходить JSON коллекция, из которой выдергиваться 2-3-5 первых значений параметров, а все остальные подгружаться по кнопке показать еще... 27.ua - пример. И в таком формате необходимо подходить практически ко всему контенту. Все что вторичной надобности отдаем только по пользовательскому событию. Тогда это выходит и в концепции, которую продвигает гугл и действительно быстро. Но в 4500 строк JS кода фильтра, я лезть не готов. Проще написать 300 своих, пусть с ограниченным фукнционалом. Но так как надо.
  22. Расскажите, как вы переверстаете вывод megaFilterPro на скажем так 400-500 значений атрибутов. И при это сохраните метрику аналитикс и facebook внешние скрипты. Именно в том виде, в котором это рекомендовано руководствами по внедрению этих скриптов, а не вот этим всем... "мы сейчас все сохраним локально и поставим время жизни кеша в MAX".
×
×
  • 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.