====== Проект gostinka.com ======
===== Март, 2016 =====
**Март, 2016 г.**
Завершен.
==== Цели проекта ====
* Восстановление 404 страницы
* Восстановление раздела событий.
* Восстановление раздела магазинов.
==== Особенности ====
CMS Bitrix, HTML, PHP.
==== Описание ====
{{ :projects:lp:project-lp_gostinka.com.png?300|Проект gostinka.com}}
Обновленный сайт Гостиного Двора (все жители Уфы поймут). Сегодня уже вторая доработка проекта на битрикс от ЛидерПоиска. И вторая кривость. Тут видимо разработчики (хотя вроде как известная студия) даже не удосужились почитать документацию по системе, а просто начали писать на русский авось.
Если ребята из ЛидерПоиска возьмутся за постоянное обслуживание сайта, я бы порекомендовал им отдельным этапом переписать сайт. На моей практике, это уже вторая известная студия, которая выдает отвратный (с точки зрения кода) продукт.
Допустим у вас есть у каждого элемента инфоблока свойство производитель (или бренд, или еще какое, не важно). И вам нужно создать раздел, который будет выводить элементы только этого производителя. Стандартным решением для битрикса будет:
* создать справочник производителей
* у элементов сделать свойство "ссылка на элемент" (на справочник)
* в 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% бытовых задач она описывает), то, пожалуйста, читайте ее!!!
Не о других, так о себе подумайте - может через год заказчик придет к вам повторно, а вы тут налопатили, что сам черт ногу сломит.