Сделать возможным влиять на Композитный кэш произвольных параметров!

Рейтинг: 18.3250  
Новая
Предложил Пользователь 3308 05.08.2014 07:31:17

Сделать возможным влиять на Композитный кэш произвольных параметров!

Сейчас есть очень серьезные ограничения и проблемы в использовании Композитного режима.

Кейс №1:
список товаров с возможностью пользователей:
сортировать его по цене, наименованию и другим параметрам;
менять вид отображения;
изменять количество отображаемых товаров.

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

НО! На композитный кэш влияет только URL и никак не могут повлиять куки, сессии и другие параметры. И если все изменяющиеся данные хранятся в динамических областях (а не весь шаблон компонента в такой области) в результате мы имеем на сайте серьезные глюки вплоть до отображения у товаров левых цен.

Такая же проблема встанет если сохранять значения фильтрации в сессии (чтобы не накладывать одно и тоже условия заходя в каждый раздел инфоблока). Так даже на стандартном шаблоне "Умного фильтра" бесплатного типового решения от 1С-Битрикс возможность работы композита при фильтре -- вообще не предусмотрена (заглядывали в код.)

Кейс №2:
У нашего типового решения Битроник есть собственная панель настроек, в которой пользователь может выбрать цветовую схему и компоновку различных блоков на странице, например как отображать меню -- горизонтально или вертикально. Соответственно пользователи с разными настройками (если панель разрешена Гостям) видят страницу с одним  и тем же  URL совершенно по разному, но Композит слеп ко всем этим параметров хранящимся в сессиях, куках, таблицах БД и других переменных. Композит видит только URL -- и это ужасно!
Вот кстати по этому конкретно кейсу Битрикс советует все содержимое страницы перестраивать силами CSS чтобы HTML вообще никогда не менялся, но это огномнейшее ограничение, которое нам не то что руки связывает. а руки, ноги и кляп в рот! Считаем это абсолютно недопустимым костылем.

Сейчас, кэш автокэширования может зависеть от ЛЮБЫХ произвольных параметров на усмотрение программиста, очень просим сделайте пожалуйста так же и с композитом -- невозможно ничего боле-менее сложного на нем сейчас заставить работать при таких ограничениях!

PS: Более подробно описал проблему наш программист на форуме..

Рейтинг: 0  
Пользователь 8420 05.08.2014 13:52:55
можете в урл подмешивать что хотите на каждом onbeforeprolog , но это кастыль, да...
Рейтинг: 1.2519  
Пользователь 3308 09.08.2014 09:13:50
Александр, да верно -- с точки зрения SEO будет очень неправильно если все переменные, которые сейчас не без основания хранятся в куках, сессиях и таблицах БД мы выльем в URL только из-за одного только существующего пока еще архитектурного ограничения в композите.
Рейтинг: 0.2457  
Пользователь 10337 13.08.2014 19:44:15
Прикол в том, что композит по сути фронт :)
Куки еще можно попробовать на фронте половить
ну а когда мы работаем с сессиями... это уже бек-вокал :) споется ли он с композитом? хотя часть данных сессии то тоже в куках есть.
Рейтинг: -0.2242  
Пользователь 3308 26.09.2014 09:05:08
Прикол в том, что композит по сути фронт :)
Куки еще можно попробовать на фронте половить
ну а когда мы работаем с сессиями... это уже бек-вокал :) споется ли он с композитом? хотя часть данных сессии то тоже в куках есть.
Алексей, из вашего комментария насыщенного фантазиями, аналогиями и высокопарными рассуждениями я понял что для вас данная задача -- сложная. Значит вы пока еще не доросли и не компетентны в ее решении. Слава Богу это не к вам просьба, а к 1С-Битрикс. Или мы просили вашего экспертного мнения о технической возможности реализации данной хотелки, напомните пожалуйста?
Рейтинг: 0.2456  
Пользователь 142174 13.01.2015 11:23:40
можете в урл подмешивать что хотите на каждом onbeforeprolog , но это кастыль, да...
Не получится, т.к. файл композитного кеша определяется и отдается еще до вызова прологов
Рейтинг: 0  
Пользователь 112309 07.04.2015 15:47:52
Аналогичная проблема с количеством страниц в списке товаров (и сортировкой товаров).
Чтобы не засорять URL и применить выбранные юзером настройки отображения каталога - используем хранение значений в куках.
Когда юзер тыкает на отличное от текущего, значение кол-ва элементов или сортировки товаров — переписываем нужную куку и делаем location.reload().
В результате страница перезагружается, но ничего более не происходит до тех пор, пока юзер не перезагрузит страницу самостоятельно. Крайне неудобная штука получается.
Рейтинг: 0  
Пользователь 3308 15.04.2015 06:24:37
Продолжаем обсуждение проблемы на форуме
http://dev.1c-bitrix.ru/community/forums/messages/forum7/topic65069/message373871/#message373871/
Рейтинг: 0  
Пользователь 3308 26.05.2016 10:51:13
Ну вот почти уже было все ок. Так последнее обновление 1С-Битрикс вышло с ошибкой -- и все опять отвалилось! :(

"Автокомпозит поломал пользовательские ключи"
Категория: Ошибки.
Номер обращения в разработку: 74125

Очень ждем исправления в обновлении..