208 похожих чатов

Ребят подскажите есть компонент news.detail. у элемента есть свойство привязка

эеменнтов - другой инфоблок. как при изменение элементов другого инфоблока сбрасывать кеш news.detail ? есть ли чтото штатное?

17 ответов

40 просмотров

clearComponentCache

Алексей- Автор вопроса
Yevhen Horbyshyn
clearComponentCache

не подходит: чтобы CBitrixComponent::clearComponentCache('vendor:component-name') работал для своих компонентов нужно при формировании кеша в компоненте принудительно указать cachePath = '/s1/vendor/component-name' в методе StartResultCache . то есть нужно кастематизировать компонент

Алексей
не подходит: чтобы CBitrixComponent::clearComponen...

вы сказали про стандартные ньюс лист и ньюс детейл

Алексей- Автор вопроса
Yevhen Horbyshyn
вы сказали про стандартные ньюс лист и ньюс детейл

Да, к стандартным тож относится. Если этого не сделать, то cachePath формируется автоматически и он становится /s1/vendor/component-name/xxx, где xxx - какие-то символы 06f, d80 и др.

Алексей- Автор вопроса
Yevhen Horbyshyn
отлично юзаю с каталог секшн

ок попробую, ты вешаешь CBitrixComponent::clearComponentCache на событие изменение элемента инфоблока?

Алексей
ок попробую, ты вешаешь CBitrixComponent::clearCom...

не совсем. на аяксе повешено добавление в избранное, я после добавления скидываю каталог секшн

Алексей
ок попробую, ты вешаешь CBitrixComponent::clearCom...

В register_modifier повесьте сброс тегированного кеша на нужном инфоблоке.

Алексей- Автор вопроса
Eugene Zhukov
В register_modifier повесьте сброс тегированного к...

нет связь с элементам например страна Россия и у ней свойство привязка к элементам города: москва, казань. и вывод news.detail элемента Россия. И когда элемент Москва изменился нужно сбросить кеш news.detail.

Алексей
нет связь с элементам например страна Россия и у н...

Я вам ответил, что нужно для вашей задачи. Зарегистрируйте сброс тегированного кеша для инфоблока, где у вас Москва содержится. Идентификатор - iblock_ИДинфоблока, если не ошибаюсь

Алексей- Автор вопроса
Eugene Zhukov
Я вам ответил, что нужно для вашей задачи. Зарегис...

я понимаю что нужно вешать на событие изменение элементов инфоблока города сброс кеша iblock_страна. Причем здесь result_modifier?.

Eugene Zhukov
Я вам ответил, что нужно для вашей задачи. Зарегис...

и тогда при изменении любого города весь кеш во всех городах снесет? или нет?

Eugene Zhukov
Да, так работает тэгированный кеш

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

Andrew Zahalski
Так что советик слегка вредный, хотя задача требуе...

А как вы собрались определять - какой именно файл кеша компонента сбрасывать? И как вам поможет добавление каких-либо параметров в компонент, с учетом того, что снаружи не узнать, какие именно города попадут в выборку ВНУТРИ компонента?

Eugene Zhukov
А как вы собрались определять - какой именно файл ...

компонент известен вроде как. Если бы там была выборка данных, то тег проставился автоматически и сбросился в GetList (может в новых версиях чего и поменяли, но не должно) Порчему и предположение, что это бубен с условиями вывода по выбранному городу

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта