Содержание
Проект gostinka.com
Март, 2016
Март, 2016 г. Завершен.
Цели проекта
- Восстановление 404 страницы
- Восстановление раздела событий.
- Восстановление раздела магазинов.
Особенности
CMS Bitrix, HTML, PHP.
Описание
Обновленный сайт Гостиного Двора (все жители Уфы поймут). Сегодня уже вторая доработка проекта на битрикс от ЛидерПоиска. И вторая кривость. Тут видимо разработчики (хотя вроде как известная студия) даже не удосужились почитать документацию по системе, а просто начали писать на русский авось.
Если ребята из ЛидерПоиска возьмутся за постоянное обслуживание сайта, я бы порекомендовал им отдельным этапом переписать сайт. На моей практике, это уже вторая известная студия, которая выдает отвратный (с точки зрения кода) продукт.
Допустим у вас есть у каждого элемента инфоблока свойство производитель (или бренд, или еще какое, не важно). И вам нужно создать раздел, который будет выводить элементы только этого производителя. Стандартным решением для битрикса будет:
- создать справочник производителей
- у элементов сделать свойство «ссылка на элемент» (на справочник)
- в urlrewrite.php прописать правило переадресации, указав параметр в котором будет передаваться производитель
- в index.php нужного раздела (brand/index.php, к примеру) добавить создание массива фильтра, в котором указать переданный параметр
- добавить сюда же стандартный компонент catalog.section и передать ему имя массива фильтра (FILTER_NAME)
- наслаждаться результатом
А как вам такое решение:
- у элементов сделать свойство «список» (резонно, если заведомо известно, что значений будет мало)
- в urlrewrite.php прописать правило переадресации, указав параметр в котором будет передаваться производитель
- в index.php нужного раздела добавить catalog.section и дописать ему дополнительное (как результат не документированное) поле, в которое передавать производителя
- в компоненте получать все элементы инфоблока
- в шаблоне компонента выводить только те элементы, у которых свойство соответсвует переданному производителю
А если элементов будет 10000, а с нужным параметром всего 20? Я уже молчу, что они забыли (или скорее всего не знали) про такой параметр как PAGE_ELEMENT_COUNT - число элементов на страницы, который стоит равным 30. Т. е. если в инфоблоке более 30 элементов, то 31 и далее, уже никогда не покажутся.
Суть всего негодования сводится к одному:
Если взялись за проект на CMS, у которой есть документация (а у Bitrix она есть и даже на русском, да ее много и местами не хватает, но 99% бытовых задач она описывает), то, пожалуйста, читайте ее!!!
Не о других, так о себе подумайте - может через год заказчик придет к вам повторно, а вы тут налопатили, что сам черт ногу сломит.