вверх
09/05 2017
назад

Доработка списка задач в коробочной версии Битрикс24 - когда хочется чуть больше

Приобретая коробочную версию Битрикс24 Вы ожидаете, что теперь весь функционал портала в ваших руках. Но это и так и не совсем так. Дело в том, что портал это очень сложный организм, в котором функционалы разных модулей тесно переплетены, и внесение изменений даже в шаблоны может привести к нарушению работы портала.

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

Вариант копирования шаблонов компонентов отпал сразу по выше названным причинам. В итоге появилось решение, не затронувшее код ни единой страницы на портале.

Используя события Битрикс24, небольшой код, размещенный в init.php (это стандартный файл, который исполняется при любом обращении к Битрикс) определял, что сейчас открыта страница списка задач. Затем он проверял не изменена ли сейчас пользователем сортировка и, если это так, сохранял параметры сортировки. Если же параметры сортировки отсутствовали, брались сохраненные ранее параметры. Так решили первую задачу.

Для решения второй задачи без внесения изменений в шаблоны требовался запуск javascript кода, который бы выполнял на странице динамическое формирование нужных записей. Во-первых, был написан скрипт, который по запросу возвращал требуемую информацию по задачам, а именно название и процент выполнения для всех запрошенных задач. Во-вторых написан сам javascript, добавление которого на страницу производилось через стандартный API Битрикс в том коде, который решал первую задачу, поскольку в нем уже определялось, находится ли сейчас посетитель портала в списке задач.

tasks_js_modification.png

tasks_js_modification_2.png

В итоге оба пожелания клиента были выполнены. При этом не было внесено никаких изменений в страницы и шаблоны портала. И хотелось бы сказать, что все теперь будет у него хорошо, но все-таки это не так. Даже такие осторожные правки стандартного функционала, к сожалению, могут перестать функционировать в случае, если изменится наименование переменных, используемых в УРЛ при смене сортировки, если поменяются в DOM-структуре списка задач признаки, по которым сейчас можно его модифицировать через javascript. Тем не менее, поскольку не копировались шаблоны компонентов, стандартный функционал не пострадает, а восстановить доработки не составит труда.

PS Вот такие задачи иногда приходится решать нашим разработчикам.

Доставка полезной информации от экспертов по Битрикс24!

Подпишитесь, и раз в неделю у вас на почте будет подборка полезных советов и обзоров про Битрикс24

Выберите рассылку

Created by potrace 1.13, written by Peter Selinger 2001-2015

Войти как пользователь
Вы можете войти на сайт, если вы зарегистрированы на одном из этих сервисов: