удаление кэша в сниппете
имею задачу создать ресурс с полями переданными с формы сайта, для обработки использую сниппет, в результате сниппет записывает не один рессурс а несколько, подтягивая их из КЭША, подскажите пожалуйста как можно решить эту задачу?
if (isset($_POST['sub'])) {
// Сниппет будет получать данные из формы методом POST
if ($_POST['marka']) $pagetitle = $_POST['marka'];
if ($_POST['marka']) $longtitle = $_POST['marka'];
if ($_POST['spare-part']) $content = $_POST['spare-part'];
if ($_POST['model']) $introtext = $_POST['model'];
if ($_POST['description']) $description = $_POST['description'];
if ($_POST['parent']) $parent = $_POST['parent'];
if ($_POST['isfolder']) $isfolder = $_POST['isfolder'];
if ($_POST['hidemenu']) $hidemenu = $_POST['hidemenu'];
if ($_POST['template']) $template = $_POST['template'];
if ($_POST['menutitle']) $menutitle = $_POST['menutitle'];
if ( $_POST['published']) $published = $_POST['published'];
if ($_POST['key']) $key= $_POST['key'];
if (!$publishedon) $publishedon = date('Y-m-d H:i:s');
if ($_POST['year']) $year = $_POST['year'];
if ($_POST['vin']) $vin = $_POST['vin'];
if ($_POST['country']) $country = $_POST['country'];
if ($_POST['region']) $region = $_POST['region'];
if ($_POST['phone']) $phone = $_POST['phone'];
if ($_POST['email']) $email = $_POST['email'];
if ($_POST['sostojanje']) $sostojanje = $_POST['sostojanje'];
// Если некоторые значения не будут указаны,
// они будут установлены по умолчанию
if (!$parent) $parent = 51;
if (!$template) $template = 96;
if (!$published) $published= 0;
if (!$hidemenu) $hidemenu= 1;
if (!$key) $key='Beantragen';
// Устанавливаем префикс для псевдонима
switch ($template) {
case 1: $prefix = «art»; break; // Статья
case 2: $prefix = «id»; break; // Пользователь
case 3: $prefix = «id»; break; // Пользователь
case 4: $prefix = «event»; break; // Событие
case 5: $prefix = «animal»; break; // Домашнее животное
default: $prefix = «id»; break;
}
// Создаем ресурс
$newResource = $modx->newObject('modResource');
// Заполняем нужные значения
$newResource->set('pagetitle',$pagetitle);
$newResource->set('longtitle',$longtitle);
$newResource->set('description',$description);
$newResource->set('introtext',$introtext);
$newResource->set('content',$content);
$newResource->set('menutitle',$menutitle);
$newResource->set('template',$template);
$newResource->set('isfolder',$isfolder);
$newResource->set('hidemenu',$hidemenu);
$newResource->set('parent',$parent);
$newResource->set('published',$published);
$newResource->set('alias',$parent.date('YmdHis'));
$newResource->set('hidemenu',$hidemenu);
$newResource->set('class_key',$key);
if ($published) $newResource->set('publishedon',$publishedon);
// Сохраняем ресурс
if ($newResource->save()) {
$id = $newResource->get('id');
/* $newResource->set('alias',$prefix.$id);*/
// $newResource->save();
#######
$TVJear = $modx->getObject('modTemplateVar',array(
'name' =>'beantragenstags',
));
$TVJears=$TVJear->get('id');
###################
$TVsostojanje = $modx->getObject('modTemplateVar',array(
'name' =>'beantragenssostojanje',
));
$TVsostojanjes=$TVsostojanje->get('id');
###################
$TVphone = $modx->getObject('modTemplateVar',array(
'name' =>'beantragensphone',
));
$TVphones=$TVphone->get('id');
###################
$TVvin = $modx->getObject('modTemplateVar',array(
'name' =>'beantragensvin',
));
$TVvins=$TVvin->get('id');
###################
$TVregion = $modx->getObject('modTemplateVar',array(
'name' =>'beantragensregion',
));
$TVregions=$TVregion->get('id');
###################
$TVemail = $modx->getObject('modTemplateVar',array(
'name' =>'beantragensemail',
));
$TVemails=$TVemail->get('id');
###################
$TVcountry = $modx->getObject('modTemplateVar',array(
'name' =>'beantragenssite',
));
$TVcountrys=$TVcountry->get('id');
###################
#######
$TVarray=array($TVJears=>$year,$TVsostojanjes=>$sostojanje,$TVphones=>$phone,$TVvins=>$vin,$TVregions=>$region,$TVemails=>$email,$TVcountrys=>$country);
#######
// Создаем ресурс
foreach($TVarray as $TVkey=>$TVvalue)
{
$newTemplateVarResource = $modx->newObject('modTemplateVarResource');
$newTemplateVarResource->set('contentid',$id);
$newTemplateVarResource->set('tmplvarid',$TVkey);
$newTemplateVarResource->set('value',$TVvalue);
// Сохраняем ресурс
#######
if($newTemplateVarResource->save()){
$newTemplateVarResource->save();
$modx->cacheManager->refresh;}
}
#############
// Очищаем кеш, чтобы изменения были видны сразу
$modx->cacheManager->refresh;
$modx->reloadContext('web');
unset($pagetitle ,$_POST['marka'], $longtitle, $_POST['marka'],$content, $_POST['spare-part'],$introtext, $_POST['model'], $description,$_POST['description'], $parent,$_POST['parent'], $isfolder,$_POST['isfolder'],$hidemenu, $_POST['hidemenu'],$template, $_POST['template'],$menutitle ,$_POST['menutitle'],$published ,$_POST['published'],$key,$_POST['key'],$publishedon, $year, $_POST['year'], $vin, $_POST['vin'], $country, $_POST['country'],$region,$_POST['region'], $phone ,$_POST['phone'], $email ,$_POST['email'], $sostojanje ,$_POST['sostojanje'], $newResource ,$TVJear ,$TVJears,$TVsostojanje ,$Tvsostojanjes,$TVphone ,$Tvphones,$TVvin,$TVvins,$TVregion ,$Tvregions,$TVemail,$TVemails,$TVcountry,$TVcountrys,$TVarray,$newTemplateVarResource ,$id);
}
return false;
}return false;
if (isset($_POST['sub'])) {
// Сниппет будет получать данные из формы методом POST
if ($_POST['marka']) $pagetitle = $_POST['marka'];
if ($_POST['marka']) $longtitle = $_POST['marka'];
if ($_POST['spare-part']) $content = $_POST['spare-part'];
if ($_POST['model']) $introtext = $_POST['model'];
if ($_POST['description']) $description = $_POST['description'];
if ($_POST['parent']) $parent = $_POST['parent'];
if ($_POST['isfolder']) $isfolder = $_POST['isfolder'];
if ($_POST['hidemenu']) $hidemenu = $_POST['hidemenu'];
if ($_POST['template']) $template = $_POST['template'];
if ($_POST['menutitle']) $menutitle = $_POST['menutitle'];
if ( $_POST['published']) $published = $_POST['published'];
if ($_POST['key']) $key= $_POST['key'];
if (!$publishedon) $publishedon = date('Y-m-d H:i:s');
if ($_POST['year']) $year = $_POST['year'];
if ($_POST['vin']) $vin = $_POST['vin'];
if ($_POST['country']) $country = $_POST['country'];
if ($_POST['region']) $region = $_POST['region'];
if ($_POST['phone']) $phone = $_POST['phone'];
if ($_POST['email']) $email = $_POST['email'];
if ($_POST['sostojanje']) $sostojanje = $_POST['sostojanje'];
// Если некоторые значения не будут указаны,
// они будут установлены по умолчанию
if (!$parent) $parent = 51;
if (!$template) $template = 96;
if (!$published) $published= 0;
if (!$hidemenu) $hidemenu= 1;
if (!$key) $key='Beantragen';
// Устанавливаем префикс для псевдонима
switch ($template) {
case 1: $prefix = «art»; break; // Статья
case 2: $prefix = «id»; break; // Пользователь
case 3: $prefix = «id»; break; // Пользователь
case 4: $prefix = «event»; break; // Событие
case 5: $prefix = «animal»; break; // Домашнее животное
default: $prefix = «id»; break;
}
// Создаем ресурс
$newResource = $modx->newObject('modResource');
// Заполняем нужные значения
$newResource->set('pagetitle',$pagetitle);
$newResource->set('longtitle',$longtitle);
$newResource->set('description',$description);
$newResource->set('introtext',$introtext);
$newResource->set('content',$content);
$newResource->set('menutitle',$menutitle);
$newResource->set('template',$template);
$newResource->set('isfolder',$isfolder);
$newResource->set('hidemenu',$hidemenu);
$newResource->set('parent',$parent);
$newResource->set('published',$published);
$newResource->set('alias',$parent.date('YmdHis'));
$newResource->set('hidemenu',$hidemenu);
$newResource->set('class_key',$key);
if ($published) $newResource->set('publishedon',$publishedon);
// Сохраняем ресурс
if ($newResource->save()) {
$id = $newResource->get('id');
/* $newResource->set('alias',$prefix.$id);*/
// $newResource->save();
#######
$TVJear = $modx->getObject('modTemplateVar',array(
'name' =>'beantragenstags',
));
$TVJears=$TVJear->get('id');
###################
$TVsostojanje = $modx->getObject('modTemplateVar',array(
'name' =>'beantragenssostojanje',
));
$TVsostojanjes=$TVsostojanje->get('id');
###################
$TVphone = $modx->getObject('modTemplateVar',array(
'name' =>'beantragensphone',
));
$TVphones=$TVphone->get('id');
###################
$TVvin = $modx->getObject('modTemplateVar',array(
'name' =>'beantragensvin',
));
$TVvins=$TVvin->get('id');
###################
$TVregion = $modx->getObject('modTemplateVar',array(
'name' =>'beantragensregion',
));
$TVregions=$TVregion->get('id');
###################
$TVemail = $modx->getObject('modTemplateVar',array(
'name' =>'beantragensemail',
));
$TVemails=$TVemail->get('id');
###################
$TVcountry = $modx->getObject('modTemplateVar',array(
'name' =>'beantragenssite',
));
$TVcountrys=$TVcountry->get('id');
###################
#######
$TVarray=array($TVJears=>$year,$TVsostojanjes=>$sostojanje,$TVphones=>$phone,$TVvins=>$vin,$TVregions=>$region,$TVemails=>$email,$TVcountrys=>$country);
#######
// Создаем ресурс
foreach($TVarray as $TVkey=>$TVvalue)
{
$newTemplateVarResource = $modx->newObject('modTemplateVarResource');
$newTemplateVarResource->set('contentid',$id);
$newTemplateVarResource->set('tmplvarid',$TVkey);
$newTemplateVarResource->set('value',$TVvalue);
// Сохраняем ресурс
#######
if($newTemplateVarResource->save()){
$newTemplateVarResource->save();
$modx->cacheManager->refresh;}
}
#############
// Очищаем кеш, чтобы изменения были видны сразу
$modx->cacheManager->refresh;
$modx->reloadContext('web');
unset($pagetitle ,$_POST['marka'], $longtitle, $_POST['marka'],$content, $_POST['spare-part'],$introtext, $_POST['model'], $description,$_POST['description'], $parent,$_POST['parent'], $isfolder,$_POST['isfolder'],$hidemenu, $_POST['hidemenu'],$template, $_POST['template'],$menutitle ,$_POST['menutitle'],$published ,$_POST['published'],$key,$_POST['key'],$publishedon, $year, $_POST['year'], $vin, $_POST['vin'], $country, $_POST['country'],$region,$_POST['region'], $phone ,$_POST['phone'], $email ,$_POST['email'], $sostojanje ,$_POST['sostojanje'], $newResource ,$TVJear ,$TVJears,$TVsostojanje ,$Tvsostojanjes,$TVphone ,$Tvphones,$TVvin,$TVvins,$TVregion ,$Tvregions,$TVemail,$TVemails,$TVcountry,$TVcountrys,$TVarray,$newTemplateVarResource ,$id);
}
return false;
}return false;