Спасибо за разъяснение. С твоей подачи уже стал пользоваться процессорами. У меня очень мало опыта. До этого сделал сайт с использованием чанков и снипетов, а сейчас делаю на Smarty и процессорах. Естественно выросла скорость работы сайта. А на сколько удобнее стало работать с modx'ом сложно переоценить. NetBeans 7.4 + Foundation + SCSS + Modx + Smarty. Проект на флешке занимает 0,5-2 Мб, синхронизируется по sftp.
А не выводятся товары в каталог по одной простой причине: как я и сказал, у тебя есть только записи документа, но нет записей товара. А shopModx-овый product/getdata-процессор формирует запрос в жесткой связке с записями товаров. Это делается еще и для того, чтобы без учета вложенности и т.п. получать документы именно товаров, а не всех прочих страниц тоже.
Так поэтому и получается лажа. Ты же создаешь только объекты документа (ShopmodxResourceProduct) (что является расширенным modResource). А надо еще и ShopmodxProduct (именно у него поля sm_price, sm_currency и т.п.). К слову, именно ShopmodxProduct — и является основным объектом товара. Он может существовать и без документа, и расчет на то, что если магазин будет действительно большим (миллионы и более товаров), тогда скорее всего будут только объекты товаров с индивидуальными полями, роутером и т.п. Но в штатном режиме лучше так не создавать такие объекты через newObject. Через процессоры гораздо правильней и надежней, так как в процессорах много логики может быть прописано, которой может не быть в самом классе объекта.
В данном случае я использую только каталог, без цен, корзины и т.д. Поэтому валюта мне и не требуется. Через процессор без sm_currency не пробовал. Это через $object = $modx->newObject('modResource');. $object->Save();
Да, требовать будет. В новой версии включу системную настройку Обязательное поле или нет. Сам я придерживаюсь того, что оно должно быть обязательным, но кому-то это может реально не нравиться. А вот без sm_currency документ сохраняется, но в каталоге не отображается. А вот это кажется очень сомнительным. Оба поля принадлежат одному объекту. Просто валюта — обязательное поле, а сумма — нет. Но при сохранении через процессор даже не должен объект сохраняться, так как ошибку возвращает именно процессор, и по сути не важно, через редактор идет сохранение или через консоль.
Есть только официальная rtfm.modx.com/ Но дам далеко не все есть. Я вообще сам мало там смотрю, так как там многого нет. Особой документации по ядру тоже не видел. Практически все, что знаю — сам копал.
Только еще не указан sm_price. Без sm_price работает. А вот без sm_currency документ сохраняется, но в каталоге не отображается. А при сохранении через админку не сохраняет, а требует заполнения поля «Валюта».
Спасибо за важное замечание. Интересно, а где-нибудь есть документация по modx, где можно прочесть о подобных вещах?
Итого 4 человека по 1000 закинули. Реально большое спасибо всем! Обещаю над сборкой поработать как следует!