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

GetWeb

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

    219
  • З нами

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

Усі публікації користувача GetWeb

  1. Редирект с www и http на https. Проверено годами: RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
  2. Если товар один, то там вообще не должно быть выбора как такового, а только число 1, точно так же как и в самом товаре.
  3. Вставка видео с youtube или twitch на сайт довольно обычное дело. Заходим на страницу с видео, нажимаем на кнопку поделиться, копируем iframe, вставляем в нужном месте и готово, видео сразу же появляется на сайте, но в этом и заключается проблема... Когда iframe встроен непосредственно в разметку сайта, то как только начинается загрузка страницы и браузер видит iframe он начинает загружать видео и все ресурсы необходимые для работы плеера. Сайт начинает долго грузится и как не странно жутко лагать вплоть до зависания устройства с которого пользователь посетил сайт. Помимо этого анализ производительности pagespeed insights даже из-за одного видео проседает примерно на 15 пунктов и тут я с ним полностью солидарен, если на сайте стоит preloader, то пользователь вообще может не дождаться загрузки. Поскольку мне часто приходится иметь дело с такими проблемами я написал небольшой скрипт решающие основные задачи с которыми я сталкивался. Решения в интернете есть ведь идея не нова и проблема известна давно, но они достаточно топорные и сложно расширяемые. Возможно есть какие-то плагины, но к сожалению мне не попадались, да я и не искал. Скрипт написан на чистом js, так что его можно подключить к любому проекту. Demo: https://get-web.site/insertmedia.html Репозиторий на gitHub: https://github.com/get-web/insertmedia Чтобы начать использовать необходимо подключить скрипт: <script src="../src/insertmedia.js"></script> И вызвать его: document.addEventListener("DOMContentLoaded", function () { insertmedia(); }); Можно вызвать с опциями: document.addEventListener("DOMContentLoaded", function () { insertmedia({ delay: 300, // Задержка. default: 300ms immediately: true, // тип задержки true/false. Сразу или по очереди каждый "delay" милисекунд. default: true - сразу attr: 'data-insertmedia', // Атрибут с конфигурацией вставки. В блок с этим атрибутом будет вставляться наше видео или изображение. default: data-insertmedia }) }); Блоку в который будет вставляться видео мы добавляем атрибут с параметрами: data-insertmedia='{"type" : "youtube", "src" : "https://www.youtube.com/embed/6Q6cCuSvFpI", "setting" : "autoplay=1&mute=1" }' Например для вставки видео с ютуба мы можем использовать такие настройки: <div data-insertmedia='{"type" : "youtube", "src" : "https://www.youtube.com/embed/6Q6cCuSvFpI", "setting" : "autoplay=1&mute=1" }'> </div> Доступные опции: type*: тип вставляемого ресурса. На данный момент это: youtube , twitch , html5 , img src*: Ссылка на ресурс (видео,картинка..) например: https://example.com/img.jpg width: Ширина доступная для вставляемого типа ресурса height: Высота доступная для вставляемого типа ресурса setting: Настройки доступные для вставляемого типа ресурса (*) - Обязательно В общем идея достаточно проста, мы передаем тип ресурса и ссылку на него без параметров, а уже в setting передаются параметры доступные для данного типа ресурса. Например фрейм ютуба по умолчанию выглядит так: <iframe width="560" height="315" src="https://www.youtube.com/embed/6Q6cCuSvFpI" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> Мы можем вставить его таким образом (не используя setting или передавая пустую строку "setting": "") : <div data-insertmedia='{"type" : "youtube", "src" : "https://www.youtube.com/embed/6Q6cCuSvFpI" }'> </div> Но если мы, к примеру, хотим запустить видео автоматически и без звука, фрейм будет таким: <iframe width="560" height="315" src="https://www.youtube.com/embed/6Q6cCuSvFpI?autoplay=1&mute=1" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> Как вы могли заметить к ссылке были добавлены необязательные параметры ?autoplay=1&mute=1 их мы и передаем в setting при использовании скрипта: <div data-insertmedia='{"type" : "youtube", "src" : "https://www.youtube.com/embed/6Q6cCuSvFpI", "setting" : "autoplay=1&mute=1" }'> </div> То есть любые параметры описанные в документации к youtube вы можете использовать таким образом. Точно так же передаются параметры и другим типам ресурсов в зависимости от их API. Именно поэтому происходит разделение ссылки и параметров, чтобы можно было их интегрировать под любой тип и иметь возможность правильно составлять шаблоны для последующей вставки. Надеюсь я понятно объяснил и мой труд кому-то будет полезен. Если будут вопросы задавайте их тут. Пишите если что-то нужно добавить или исправить, или если хотите покритиковать. Источник: https://get-web.site/blog/javascript/43-insertmedia.html
  4. На одном сайте заголовок h1 был в подвале, перенесли в шапку и позиции просели, вот такое сео. Сеошники по сути делают сайт "качественнее" для поисковиков, а дальше зависит от настроения. Гугл правила выкатил, а сам кладет на них https://habr.com/ru/post/475152/
  5. Я включил эту опцию, но если изменить валюту, то мы остаемся в том же регионе, но валюта становится другая Кстати в opencartpro в английской версии отсутствует описание:
  6. Возможно ли сделать так чтобы, при переходе на другой язык валюта всегда менялась на привязанную к языку валюту? То есть чтобы к языку всегда была привязана одна конкретная валюта и не менялась даже при смене валюты.
  7. Поисковики и так начнут его индексировать при первом же обновлении, но чтобы ускорить этот процесс можно установить на сайт яндекс метрику и гугл аналитику. Прямо так в поиске впишите и действуйте по инструкции.
  8. Они то видят что там у вас во вкладках, если инфа конечно не подтягивается через ajax, но в приоритете у поисковиков то, что не скрыто.
  9. Генерируете виджет и вставляете в карточке товара в нужном месте для этого модули не нужны.
  10. Как вариант прямо в корзине подключить стили, которые нужно применить для неё...
  11. Так они и не поймут, больше половины ид занимают потерянные заказы
  12. в 3-й версии все тот же Bootstrap v3.3.5, в этом плане никаких изменений. О front-end разработчики вообще не задумываются, используют древние техники и не хотят ничего менять. Я говорю не только о разработчиках opencart, но и разработчиков моделей, вы уж извините, но вложенные селекторы типа: #menu .dropdown-menu ul li a это устаревший подход про который нужно забыть как страшный сон. Чего только стоит такая "каскадность", пример взят с дефолтного шаблона opencart: /* fixed colum left + content + right*/ @media (min-width: 768px) { #column-left .product-layout .col-md-3 { width: 100%; } #column-left + #content .product-layout .col-md-3 { width: 50%; } #column-left + #content + #column-right .product-layout .col-md-3 { width: 100%; } #content + #column-right .product-layout .col-md-3 { width: 100%; } } Это же просто ужас. И вместо того чтобы что-то менять, только и слышишь "делай как все делают", но так давно уже не делают, кроме тех кто застрял в прошлом и за столько лет не попытался изучить хотя бы теорию проблемы вложенных селекторов.
  13. Да, стоит, но есть нюансы. bootstrap 3 уже морально устарел, а bootstrap 4 полноценно не подключить, точнее подключить то мы можем, но часть классов изменена поэтому даже дефолтный шаблон развалится и это только css, а основная проблема в том, что там достаточно жестко привязаны js библиотеки от bootstrap 3 и от них так просто не избавится, сломается все, не говоря уже о версии jquery которые требую разные библиотеки. Поэтому менять bootstrap 3 на bootstrap 4 не вариант, шило на мыло. Как делаю я: Я оставляю дефолтные css и js от bootstrap 3, но выпиливаю его по максимуму из шаблона и интегрирую свою разметку. То есть как в вашем случае, у вас современный сайт на флексах, вы можете его адаптировать под cms при этом любой модуль, который использует bootstrap, без проблем заводится, потому что мы ничего не убирали, а лишь дополняли. Тут единственное, что действительно важно не упустить айдишники в структуре на которые обычно вешают скрипты, как сам opencart так и разработчики модулей. Поскольку я верстаю по БЭМ то от bootstrap в некоторых случаях остается проблема вложенных селекторов, которые я переопределяю под свои нужды для большего контроля. Я самостоятельно ставил много модулей и все работали, проблем было не больше чем на любом другом шаблоне который якобы сделан по "правильному"
  14. Последнее время браузеры очень жестко стали кешировать файлы, хотя на самом деле всегда, чтобы гарантированно обновить стили, нужно для подключаемого стиля менять "версию". К примеру у вас файл стилей подключается так: <link href="catalog/view/theme/default/stylesheet/stylesheet.css" rel="stylesheet"> Чтобы принудительно заставить клиент его обновить, нужно добавить после знака вопроса значение, обычно это версия или время изменения: <link href="catalog/view/theme/default/stylesheet/stylesheet.css?ver=0.0.27" rel="stylesheet"> и так при каждом принудительном изменении просто повышаете версию ?ver=0.0.28 > ?ver=0.0.29 > ?ver=0.1.0 и т.д... И конечно же в условиях opencart нужно обновить модификатор, чтобы применить изменения в шаблоне
  15. В демке используются изображения в формате .jpg так что с форматом проблем не должно быть https://magictoolbox.sirv.com/images/magic360/ipod-17.jpg https://magictoolbox.sirv.com/images/magic360/ipod-18.jpg https://magictoolbox.sirv.com/images/magic360/ipod-19.jpg Каждый кадр идет отдельным изображением.
  16. В bootstrap закрытое меню как у вас сейчас: navbar-collapse navbar-ex1-collapse collapse А открытое с классом in: navbar-collapse navbar-ex1-collapse collapse in
  17. Когда аргументы закончились, начинаются колкости? Нет, ты так и не понял.
  18. У какого твоего? Который ты сам делал для себя или который делается для массовой продажи? Даже во втором варианте возможности opencart не ограничивают тебя в редактировании шаблона, ты даже не понимаешь о чем я говорю. А что не так с их уникальностью? Сомневаюсь что они у тебя дизайн сперли или на TemplateMonster купили с поддержкой от "авторов"
  19. Ну скорее всего в таких случаях ocmod и пригодится. Тем кому она нужна...
  20. Не я это начал, я предложил решение и объяснил почему, не более. Это не аргумент. Прятать под hide отличное решение) Так и делаю.
  21. Да же в таком случае можно без проблем сделать такой шаблон как дефолтный и вынести свои правки в свой шаблон, одно дело вносить измения в модель или контроллер другое дело разметка, которую можно и нужно менять до неузнаваемости иначе о какой уникальности может идти речь. Покажите мне человека, который таких не знает, каждый тянет одеяло на себя. Я тоже с таким встречался, но я перед началом работы делаю бекапы. Это обычная практика во всех cms, тем более прогрессивная деградация заложена в самом opencart. Сочувствую вашим

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

Important Information

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