MODX Revo - cоздание ресурсов из фронтэнд
Дорогие друзья, здравствуйте, очень надеюсь на вашу поддержку, разрешить на первый взгляд вроде бы простую задачу. Для информации: новичек в MODX, на данный момент работаю с MODX Revolution 2.3.2-pl (traditional). Ситуация такая, стараюсь реализовать функционал, добавления ресурсов пользователями из фронтэнд НЕОГРАНИЧЕННОЙ ВЛОЖЕННОСТИ. Что бы они сами могли создавать ресурс, и в него добавлять другие ресурсы, и так далее. Нашел сниппет в сети formit2resource и использую его в связке с FormIt.
Все вроде хорошо, но только до 2 уровня вложенности. Например:
РЕСУРС ОТЕЦ
Ресурс пользователя 1
Ресурс пользователя 1
Ресурс пользователя 2
Ресурс пользователя 2 И если попробовать добавить подресурс для ресурса 2 уровня, то он его просто перепишет и ничего не вложит. Как решить эту проблему? Как лучше сделать? Куда копать? Вот вызов формит: [[!FormIt?
&hooks=formit2resource,redirect
&redirectTo=[[*id]]
&template=15
]] Вот сама форма:
if (empty(doc)){ doc = doc->set('createdby', modx->user->get('id')); } else{ doc->set('editedby', $modx->user->get('id')); }
hook->getValues(); foreach (field=>$value) {
if (field !== 'spam' && field !== 'resource_id'){ field, value); } } alias = fields['pagetitle']); if(alias))!= 0) { newAlias = modx->getCount(modResource, array('alias'=>newAlias))!= 0) { newAlias = newAlias .= '-' . count++; } newAlias; } alias); template); $doc->save();
foreach (field=>value) { if (!empty(value) && modx->getObject('modTemplateVar', array ('name'=>field))) { /* handles checkboxes & multiple selects elements */ if (is_array(value)) { featureValue, value)) { featureInsert)] = featureItem; } value = implode('||',featureInsert); } tv->setValue(value); tv->save(); } } modx->cacheManager->refresh();
return true; Помогите пожалуйста друзья!