Для решения этой задачи вам потребуется модуль MIGx и немного кода. Вот подробный алгоритм действий:
1. Установите и активируйте модуль MIGx в вашей системе MODX. Вам понадобится его, чтобы создать MIGx поле в вашем шаблоне ресурса.
2. Создайте новый шаблон ресурса, который будет содержать MIGx поле. Назовите его, например, "Товары".
3. В настройках полей MIGx добавьте все необходимые поля для ввода данных о товарах (например, название, описание, цена, изображение и т. д.). Обязательное поле должно быть настроено как первое поле и помечено как "обязательное". Остальные поля могут быть настроены в соответствии с вашими требованиями.
4. Вставьте код в шаблон ресурса, который будет отображаться в случае, если не добавлено ни одного MIGx блока:
[[!MIGxGetCollection? &packageName=`migx` &classname=`MyClass` &tpl=`@INLINE [[+content:notempty=``:==``:then=`[[!+content]]`:else=`<p>Данных товаров пока нет</p>`]]`]]
Данный код использует сниппет MIGxGetCollection
для получения коллекции MIGx блоков из указанного пакета и класса. Если коллекция пуста, то будет отображаться сообщение "Данных товаров пока нет". Если коллекция не пуста, будет отображаться содержимое каждого MIGx блока.
5. Создайте новый ресурс, используя созданный шаблон "Товары".
6. При добавлении новых товаров, вам нужно будет использовать MIGx поле, чтобы добавить новые блоки с информацией о каждом товаре.
Теперь, когда ваша система MODX будет проверять коллекцию MIGx блоков, она автоматически отображает блок "Данных товаров пока нет", если коллекция пуста. Если было добавлено хотя бы одно MIGx блок, то отображается содержимое каждого блока.