[ex2-70] Не совсем понятно как отбираются элементы каталога продукции при выводе данных простого компонента? Классификатор связвает разделы каталога продукции и новости. Получается выводятся элементы из всех привязанных к новости разделов продукции. Если один раздел привязан к нескольким новостям, элементы раздела будут дублироваться. Однако на скрине в задании элементы не повторяются. Поясните этот момент.
Доброго времени суток. Номер заявки 4944099 Прошу прощения, но у меня появились некоторые вопросы по поводу моих ошибок и мне нужно разъяснение чтобы не ошибаться впредь.
Вы написали по поводу моего решения задания [ex2-77] Разработать простой компонент «Каталог товаров»: 1. Кеширование в компоненте не по умолчанию - зависит от ID пользователя. "По умолчанию" это значит параметры в StartResultCache возможно не прописывать, я правильно понял? Такое решение будет считаться правильным?
2. В компоненте производится выборка всех элеменетов инфоблока, а затем выборка разделов, которые имеют привязку. Рекомендуется сначала установить разделы, которые имеют привязку, а затем выбирать элементы только этих разделов - для сокращения выборки. Можете подсказать какие данные о разделе указывают на то, что к нему есть привязка инфоблока? Я нашел только параметр привязки соц.сети.
3. Происходит явное обращение к свойству привязки (см ) Эта ошибка вызывает разногласие: я должен был пользоваться названием свойства из arParams? А названиям свойств PRICE, ARTNUMBER, MATERIAL я могу пользоваться без проблем и это не будет ошибкой?
Администратор
Сообщений: Баллов: 410Регистрация: 15.09.2008
0
24.03.2017 11:26:21
Цитата
Вадим Васимов написал: Или необходимо создавать свой собственный модуль и помещать дату в него?
Свой не нужно создавать Можно в главный.
Администратор
Сообщений: Баллов: 410Регистрация: 15.09.2008
0
24.03.2017 11:28:55
Цитата
Aleksey Caplin написал: [ex2-70] Не совсем понятно как отбираются элементы каталога продукции при выводе данных простого компонента? Классификатор связвает разделы каталога продукции и новости. Получается выводятся элементы из всех привязанных к новости разделов продукции. Если один раздел привязан к нескольким новостям, элементы раздела будут дублироваться. Однако на скрине в задании элементы не повторяются.
как же не повторяются? повторяются, вы все правильно описали
Администратор
Сообщений: Баллов: 410Регистрация: 15.09.2008
0
24.03.2017 11:57:01
Цитата
Dmtriy Derevyanko написал: 1. Кеширование в компоненте не по умолчанию - зависит от ID пользователя."По умолчанию" это значит параметры в StartResultCache возможно не прописывать, я правильно понял? Такое решение будет считаться правильным?
А в чем ваше сомнение, кажется что описание параметра additionalCacheID и условие задания однозначно трактуются
Суть этого пункта задания - убедиться что вы умеете осмысленно делать кеш, а не просто копипастите вызов API из типового компонента. Кстати, приветствуются идеи по параметрам от которых может зависеть кеш. Чтобы разнообразить задания.
Цитата
Dmtriy Derevyanko написал: 2. В компоненте производится выборка всех элеменетов инфоблока, а затем выборка разделов, которые имеют привязку. Рекомендуется сначала установить разделы, которые имеют привязку, а затем выбирать элементы только этих разделов - для сокращения выборки. Можете подсказать какие данные о разделе указывают на то, что к нему есть привязка инфоблока? Я нашел только параметр привязки соц.сети.
У вас же связанные данные, аж 3 объекта. Во много суть задания именно в этом, как правильно подготовить фильтры для отбора, и это не обязательно фильтр по полю объекта, у вас есть и "обратная связь". Это не про "битрикс", а про объекты, связи и выборку данных на основании связей.
Цитата
Dmtriy Derevyanko написал: 3. Происходит явное обращение к свойству привязки (см )Эта ошибка вызывает разногласие: я должен был пользоваться названием свойства из arParams? А названиям свойств PRICE, ARTNUMBER, MATERIAL я могу пользоваться без проблем и это не будет ошибкой?
В задании явно указано что это свойство выносится в параметры компонента, кажется что очевидным его использование в дальнейшем в коде. Остальные свойства мы не стали указывать в параметры, чтобы экономить время, не тратить его на однотипные задачи. Можно указать явно Думаете нужно это уточнить в задании?
Так же отмечу, все эти ошибки в вашем билете не являются значительными, и при успешном решении всех заданий не привели бы к не сдаче.
Будет использоваться множественная привязка разделов каталога товаров к альтернативному классификатору – новостям.
Я совершено(и не только я) не понял, что за класификаторы. Можно подробнее или пример?
Цитата
Реализовать проверку при деактивации элемента в существующем информационном блоке Продукция.
Подскажите как локализовать? прямо в коде указывать ID инфоблока - неверное решение. Делать дополнительный запрос по коду инфоблока или как?
Администратор
Сообщений: Баллов: 410Регистрация: 15.09.2008
1
04.04.2017 13:47:03
Цитата
Станислав Крохмаль написал: Я совершено(и не только я) не понял, что за класификаторы. Можно подробнее или пример?
Разделы инфоблока - это классификатор. Ящики стола - это классификатор. Теги - это классификатор. Классификатор - это способ упорядочить элементы по какому-либо признаку. В рамках заданий - это когда используется привязка элементов инфоблока к другим объектам системы. Что потом позволяет вывести элементы сгруппированные по объектам, к которым они привязаны.
К сожалению, я не сдал экзамен из-за трагической случайности, перепутав шаблон и language файл шаблона. Да они называются одинаково. А в условиях тестовой машины, ноубтука и заготовки я не заметил, что правлю не тот файл. К сожалению выяснение ошибки отняло драгоценное время и я успел 3 задания и те толком не проверил. Тикет я создал, так как некоторое время я был в ступоре, а поддержка по телефону не отвечала. Так вот соответственно у меня предложение. Во-первых, поставить вменяемый таймаут для php и апача. Что бы в случае зацикливания сервер не зависал на длительное время. Во-вторых, на мой взгляд это уже косяк битрикса, когда в случае использования GetMessage() в language файле он вызывает сам себя. Я для теста потом написал такой код. template.php
Михаил Шульпин написал: Во-первых, поставить вменяемый таймаут для php и апача. Что бы в случае зацикливания сервер не зависал на длительное время.
У нас есть фича в todo - кнопка "перезагрузки" Apache чтобы не ждать вовсе в таких случаях.
Цитата
Михаил Шульпин написал: Во-вторых, на мой взгляд это уже косяк битрикса, когда в случае использования GetMessage() в language файле он вызывает сам себя.
А почему бы и нет? В чем тут "косяк"? Мне кажется что это какой-то "перевод стрелки" на платформу, хотя просто ты ошибся файлом. Ну бывает, экзамен, волнение, не привычная среда. Чего тут такого?