Присоединяюсь к Игорь Обрезков, отрабатываю это задание на такой же связке: Фирмы - Товары . Свои запросы я обрамляю if($this->StartResultCache($arParams["CACHE_TIME"], [($arParams["CACHE_GROUPS"]==="N"? false: $USER->GetUserGroupString()), $arFilterElems, $arFilterFirm, $arNavigation]))
И $this->StartResultCache уже подразумевает, что при изменении элемента кеш сбрасывается. И как быть с такой неловкой ситуацией?
Иван Малышин написал: Это задание было продолжением задания, которого уже нет в подготовке.Смысл задания в том чтобы при обновлении элементов иблока 1, сбрасывать кеш компонента, который выводит список элементов иблока 2. Компонент выводящий элементы иблока 2 - ваш собственный, можно дорабатывать для решения задачи. Элементы иблока 1 и 2 связаны через свойство, но это не влияет на суть решения, а скорее на реалистичность задачи
К сожалению, я тоже не понял по заданию ex2-107 :
Мой компонент выводит данные из ИБ Фирма- производитель и ИБ Продукция. И при изменении элементов этих иблоков кэш в компоненте и так сбрасывается. Кеширование в компоненте включено.
Вопрос: или я что то не так сделал или может нужно сбрасывать кеш при изменении элементов ИБ, который не участвует в выводе моего компонента. Например, ИБ услуги ? Тогда нужно использовать события?
В форуме уже где-то был подобный вопрос, а ответ на него - тегированный кеш. Надо привязать в компоненте тегированный кеш к инфоблоку Услуг и по изменению элемента в нем можно через событие скидывать кеш для данного тега.
Анна Елсукова написал: В форуме уже где-то был подобный вопрос, а ответ на него - тегированный кеш. Надо привязать в компоненте тегированный кеш к инфоблоку Услуг и по изменению элемента в нем можно через событие скидывать кеш для данного тега
Ok. спасибо)) Задачу решил путем замены стандартного кеширования на сложное и тегирования в компоненте. Далее сброс кеша по тегу через событие при имзменении элемента ИБ Услуги
dumaspotted написал: 1) Подскажите, задания на разработку простых компонентов, типа: [ex2-70] Разработать простой компонент «Каталог товаров» Я правильно понял, что реализовывать кнопки изменения/удаления элементов (эрмитаж) не требуется?
По управлению элементами «Эрмитаж» есть отдельное задание - ex2-58. Как я понимаю при разработке простого компонента этот функционал внедрять не нужно.
В задании ex2-97 для ускорения решения предоставляются материалы. Вопрос: на экзамене в других заданиях по разработке простых компонентов будут ли предоставляться материалы для ускорения?
Игорь Обрезков написал: К сожалению, я тоже не понял по заданию ex2-107 :Мой компонент выводит данные из ИБ Фирма- производитель и ИБ Продукция. И при изменении элементов этих иблоков кэш в компоненте и так сбрасывается. Кеширование в компоненте включено.Вопрос: или я что то не так сделал или может нужно сбрасывать кеш при изменении элементов ИБ, который не участвует в выводе моего компонента. Например, ИБ услуги ? Тогда нужно использовать события?
Цитата
Дарья Малова написал: Присоединяюсь к Игорь Обрезков , отрабатываю это задание на такой же связке: Фирмы - Товары . Свои запросы я обрамляю if($this->StartResultCache($arParams["CACHE_TIME"], [($arParams["CACHE_GROUPS"]==="N"? false: $USER->GetUserGroupString()), $arFilterElems, $arFilterFirm, $arNavigation]))И $this->StartResultCache уже подразумевает, что при изменении элемента кеш сбрасывается. И как быть с такой неловкой ситуацией?
Цитата
Анна Елсукова написал: В форуме уже где-то был подобный вопрос, а ответ на него - тегированный кеш. Надо привязать в компоненте тегированный кеш к инфоблоку Услуг и по изменению элемента в нем можно через событие скидывать кеш для данного тега.
Цитата
Игорь Обрезков написал: Ok. спасибо)) Задачу решил путем замены стандартного кеширования на сложное и тегирования в компоненте. Далее сброс кеша по тегу через событие при имзменении элемента ИБ Услуги
Да, это задание на тегированный кеш. Нет, не нужно специально заморачиваться и в своем компоненте менять StartResultCache на что-то другое из-за этого задания. Текущие задания уже не раскрывают его суть, ранее условия были такие что для решения действительно нужен был свой тег и сброс его по событию. В боевых билетов сейчас такого задания совсем нет. Пометил себе в заданиях для подготовки доработать этот момент. UP: нынче в боевых билетах задание на тегированный кеш присутствуют.
dumaspotted написал: 1) Подскажите, задания на разработку простых компонентов, типа: [ex2-70] Разработать простой компонент «Каталог товаров» Я правильно понял, что реализовывать кнопки изменения/удаления элементов (эрмитаж) не требуется?
Да, правильно поняли. Реализовывать не требуется, если это явно не прописано в условии задания
Цитата
dumaspotted написал: 2) В задании [ex2-81] Внести доработки в созданныи? простои? компонент «Каталог товаров» для тестирования задать шаблон ссылки “catalog_exam/#SECTION_ID#/#ELEMENT_CODE#” . Вопрос - нужно ли реализовывать поддержку SECTION_CODE ?
Не оч понял вопрос, какая разница для API какой именно плейсхолдер будет. Если вы подразумеваете что вы в ручную собралиcь "стрреплейсить" шаблон, то это не верный подход
Игорь Обрезков написал: В задании ex2-97 для ускорения решения предоставляются материалы. Вопрос: на экзамене в других заданиях по разработке простых компонентов будут ли предоставляться материалы для ускорения?