создание документа программно не msproduct обычный ресурс
Всем привет.
Опытные разработчики на modx revo нетолько shopов подскажите пожалуйста
как создать документ программно обычный resource
нашёл примеры в инете создаётся с pagetitle всё ок
но при повтороном создании создаётся заново
тоесть как бы простой отзыв из личного кабинет
простая форма, shop нравится всё ок submit
создаётся ресурс программно от usera c pagetitle от usera
ресурс pagetitle с username отзыв 1
ресурс pagetitle с username отзыв 2
ресурс pagetitle с username отзыв 3
ресурс pagetitle с username отзыв 4
ресурс pagetitle с username отзыв 5
как реализовать проверку чтобы ресурсы постоянно несоздавались а был один ресурс и постоянно обновлялся,
несоздавая новые
создаётся ресур (доэтого проверяется есть ли данный ресур и несоздаётся с новым id )
snippet
formit2resource
chunk form
сделал так
буду очень признателен кто поможет дополнить проверку
Если нужен в помошь человек по созданию интернет магазинов, с удовольствием поучавствую с лояльной занятостью.
В прогрраммной части несилён (создание кастомных сниппетов сложная кастомная фильтрация и тд), пишите в личку если нежун в помошь человек и есть надобность
(сроки поджимают, устаём наполянть своим тимом, просто сам делаю нужна помошь неуспеваю отдать shop заказчику).
Опытные разработчики на modx revo нетолько shopов подскажите пожалуйста
как создать документ программно обычный resource
нашёл примеры в инете создаётся с pagetitle всё ок
но при повтороном создании создаётся заново
тоесть как бы простой отзыв из личного кабинет
простая форма, shop нравится всё ок submit
создаётся ресурс программно от usera c pagetitle от usera
ресурс pagetitle с username отзыв 1
ресурс pagetitle с username отзыв 2
ресурс pagetitle с username отзыв 3
ресурс pagetitle с username отзыв 4
ресурс pagetitle с username отзыв 5
как реализовать проверку чтобы ресурсы постоянно несоздавались а был один ресурс и постоянно обновлялся,
несоздавая новые
создаётся ресур (доэтого проверяется есть ли данный ресур и несоздаётся с новым id )
[[!FormIt?
&hooks=`formit2file,formit2resource`
&template=``]]
</div>
snippet
formit2resource
<?php
$doc = $modx->getObject('modResource',array('id'=>$hook->getValue('username')));
if (empty($doc)){
$doc = $modx->newObject('modResource');
$doc->set('createdby', $modx->user->get('id'));
}
else{
$doc->set('editedby', $modx->user->get('id'));
}
$allFormFields = $hook->getValues();
foreach ($allFormFields as $field=>$value)
{
if ($field !== 'spam' && $field !== 'resource_id'){
$doc->set($field, $value);
}
}
$alias = $doc->cleanAlias($fields['pagetitle']);
if($modx->getCount(modResource, array('alias'=>$alias))!= 0) {
$count = 1;
$newAlias = $alias;
while($modx->getCount(modResource, array('alias'=>$newAlias))!= 0) {
$newAlias = $alias;
$newAlias .= '-' . $count;
$count++;
}
$alias = $newAlias;
}
$doc->set('alias',$alias);
$doc->set('template', $template);
$doc->set('published', 0);
$doc->set('hidemenu', 1);
$doc->save();
foreach ($allFormFields as $field=>$value)
{
if (!empty($value) && $tv = $modx->getObject('modTemplateVar', array ('name'=>$field)))
{
/* handles checkboxes & multiple selects elements */
if (is_array($value)) {
$featureInsert = array();
while (list($featureValue, $featureItem) = each($value)) {
$featureInsert[count($featureInsert)] = $featureItem;
}
$value = implode('||',$featureInsert);
}
$tv->setValue($doc->get('id'), $value);
$tv->save();
}
}
$modx->cacheManager->refresh();
return true;
chunk form
сделал так
<input class="field" type="text" name="pagetitle"
value="[[+fi.pagetitle]]отзыв [[*createdon:strtotime:date=`%c`]]
от пользователя [[!+modx.user.id:userinfo=`username`]]" />
буду очень признателен кто поможет дополнить проверку
Если нужен в помошь человек по созданию интернет магазинов, с удовольствием поучавствую с лояльной занятостью.
В прогрраммной части несилён (создание кастомных сниппетов сложная кастомная фильтрация и тд), пишите в личку если нежун в помошь человек и есть надобность
(сроки поджимают, устаём наполянть своим тимом, просто сам делаю нужна помошь неуспеваю отдать shop заказчику).
Комментарии: 1
![](https://cs6.pikabu.ru/images/big_size_comm/2015-02_4/14242637472899.jpg)
Лучше использовать для отзывов соответствующие решения, например — easyComm, также можно использовать ticketsComments.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.