Дополнение к Last-Modified / 304 Not Modified

MODX Revolution

20-01-2017

Для каталогов при добавлении позиции в каталог не изменяется статус 304 Not Modified для страниц которые выводят позиции каталога, для того чтобы исправить ситуацию понадобится написать плагин с системным событием OnDocPublished:
$e = $modx->Event;
//проверяем события
if (($e->name == 'OnDocFormSave') or ($e->name == 'OnDocDuplicate')) {
        if (!isset ($updateid)) { $updateid = '1'; }
        //получаем id ресурса который обновили или создали      
        $id = ($_POST['id'])? $_POST['id'] : $e->params['id'];
        //получаем всех родителей от нашего документа
        $getParentIds = $modx->getParentIds($id);
        //Добавляем id страниц которым принудительно надо сменить дату обновления
        $getParentIds = array_merge( $getParentIds, (explode(',',$updateid)) );
        //Убираем из массива дублирующиеся id
        $getParentIds = array_unique($getParentIds);
        
        //перебираем родителей    
        foreach ($getParentIds as $getParentId)
        {       
                //получаем полное имя таблицы
                $table = $modx->getFullTableName( 'site_content' );  
                //записываем новые данные
                $fields = array('editedon'  => time() );
                //делаем update строки в таблице
                $result = $modx->db->update( $fields, $table, 'id = "' . $getParentId . '"' );
    }
        
}
?>
Просмотров: 121