h88p, я знаю, но этот же пример можно переписать на чистом js, и вопрос останется тем же - лучше делать проверку внутри или, если можно так выразиться, снаружи?
Ещё вопрос вдогонку. Пытаюсь переписать данный код на JQuery. Я так понимаю, аналог метода .some в JQuery это .map(), но он возвращает вот это: w.fn.init(2) [false, true, prevObject: w.fn.init(2)]. Как получить булево значение?
Я правильно понял, что мне при работе с макетом не обязательно описывать все элементы сайта исключительно средствами фреймворка
Если вы верстаете компоненты, которые имеются во фреймворке, было бы глупо не использовать все его возможности. С другой стороны, если таких компонентов нет или элементы имеют настолько уникальный дизайн, что его невозможно или очень сложно воплотить с помощью фреймворка, то тогда надо писать всё самому, и в этом нет ничего зазорного. Невозможно описать всё исключительно средствами фреймворка.
Практикуется ли использование нескольких фреймворков при работе с одним макетом?
Зачастую фреймворки имеют схожие названия классов, поэтому подключать css-файлы разных фреймворков на одну страницу категорически не рекомендуется во избежание конфликта стилей. Если же говорить об использовании одного фреймворка вместе с заимствованием идей построения компонентов из других фреймворков, то почему нет? Ну, а если речь идёт о js-плагинах, считается вполне нормальным внедрять те, которые лучше всего подходят для реализации задачи, будь-то плагины из других фреймворков или же плагины отдельных авторов. Например, у Bootstrap'а достаточно скудная по функционалу карусель, поэтому многие разработчики вместо неё используют Slick Slider или Owl Carousel.
Мы делали магазин на движке ModX. Использовалась связка pdoResources (pdoTools) + MIGX. Благодаря этим расширениям стало возможным добавлять магазины через поля админки:
Можно всю информацию хранить в JSON-файле, а потом импортировать его.
Кстати, на главной странице сайта я тоже делал фильтр. Там чуть сложнее - сортировка по новым магазинам и по ближайшим к пользователю (двумя способами).