====== Проект 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% бытовых задач она описывает), то, пожалуйста, читайте ее!!! Не о других, так о себе подумайте - может через год заказчик придет к вам повторно, а вы тут налопатили, что сам черт ногу сломит.