Производство фотообоев в Новосибирске. Интернет магазин фотообоев. Изготовление - один день! Каталог 10 000 изображений!
16 Декабрь 2014

FireBug сеть — анализ скорости загрузки страницы

Продолжаю мучать интернет магазин корейских обоев.
Сейчас решил посмотреть сайт с точки зрения Запрос-Ответ, скорости отдачи контента и в целом как страничка принимается браузером.

Для этой цели я использовал расширение для браузера FireBug — закладка «Сеть» (см.рис).

site-speed

Сразу же обнаружил косячёк — какого то хрена морда дёргает детальные изображения товара, что конечно же сильно притормаживает отдачу страницы в целом!
Рекомендую!

Тяжесть страницы давали все компоненты размещённые на морде.
В данном шаблоне интернет магазина используется MORE_PHOTOS как дополнительные фотки, и у меня там лежат детальные — для возможности просмотра в увеличенном виде.
Эти же детальные используются для вывода дополнительных (вторых) фоток для превьюшки (имхо по идее нужно новое поле делать и пихать туда умешьшенные).
Вырубить эту возможность в настройках компонент не получилось — пришлось «рубить» на живую.
Копирнул все шаблоны и там заменил дополнительные картинки на превью.
(по специфике моего товара мне дополнительные картинки не требуются).

Сраничка стала открываться В РАЗЫ быстрее!!!

Ту же процедуру придётся применить ко всем шаблонам выводящим списком 🙁

рубрики: Полезности, Программирование, Сайтостроение | Комментарии (0)

16 Декабрь 2014

Разработка интернет магазина на Битрикс — добавление умного фильтра на главную страницу

Итак, продолжаю доработки интернет-магазина Планета обоев на движке Битрикс, фактически знакомство с этим модулем.
Кратко о том, что уже сделал:
* Импорт каталога из выгрузки 1С сделал полностью с нуля свой — так я полностью контролирую процесс 🙂
* Прикрутил «обратный звонок»
* Прикрутил «прокрутку к началу страницы»
* Прикрутил «почтовик» — отправка писем через сторонний SMTP сервер (в моём случае это yandex т.к. почту домена в виде @dekorplanet.ru прикрутил именно туда) — так адресат увидит свои письма с гораздо большей вероятностью 😉
* Воткнул сторонний слайдер (тут ещё видимо буду переделывать)
остальные модули стандартные Битриксовые
* В целях сбора поискового трафика подготовлены отдельные страницы с уже отфильтрованными товарами * 3D Обои, Детские обои и т.д. (есть сомнения в правильности реализации — тут тоже не закрыто)

Решил «прикрутить» на главную фильтр! а именно в область под вертикальным меню слева
Под эту задачу отлично подошла статья Дмитрия Акифьева Перенос умного фильтра в Битриксе

Результат:
smartfilter-1

Всё описанное в видео получилось сразу НО мне захотелось большего — прикрутить умный фильтр на главную страницу сайта (имхо там ему и место).
Добавил смарт фильтр на морду в тоже место — не пашет. Не работает как подсчёт количества, так и переход по кнопке.
Ответ Дмитрия на мои вопросы оптимизма не придал:
* «Умный фильтр работает в жесткой сцепке с компонентом списка товаров. Если на странице нет списка товаров, то и отбирать нечего и фильтр бесполезен.»
* «Делайте свой компонент, реализуйте в нем нужную логику (из каких инфоблоков что берет, как фильтрует, сортирует и т.д. ), делаете для этого компонента шаблоны и выводите все это безобразие на любой странице.»

Что придало уверенности так это то, что фильтр правильно увидел все характеристики и «подтянул» их для выбора, так же я знаю что по сути работа фильтра — это генерация GET запроса в массив фильтра arrFilter, который уже может подхватываться любым компонентом отображающим товары, а запрос этот фильтр генерирует верно.
Значит по сути должно работать — осталось просто разобраться почему не пашет и починить 🙂

smartfilter-2

Первое — это корректировка темлейта фильтра на предмет form action на страницу с каталогом, проверка — работает!

Далее разбирался с AJAX подсчётом товара — роем компонент:
В фильтр передаётся значение SECTION_ID через GET параметр, соответственно для морды у меня SECTION_ID = 0 и он же передаётся в $arrFiler GetList
Добавляем в компонент проверку
if ($arFilter[‘SECTION_ID’]==0) unset($arFilter[‘SECTION_ID’]);
и подсчёт тоже начинает работать корректно!

smartfilter-3

Одно НО — ссылка в появляющемся окошке должна так же вести на каталог.
Т.к. окошко появляется — это явно Javascript + Ajax — роем script.js в темлейте и обнаруживаем необходимый нам код

hrefFILTER[0].href = BX.Utils……….
который меняем на
hrefFILTER[0].href = ‘/catalog/oboi’+BX.Utils……….

Вуаля! Всё пашет!

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

рубрики: Bitrix, Полезности, Программирование | 4 комментария