Последние темы


Корректные http заголовки

  • Здравствуйте. В процессе оптимизации сайта дошел до http заголовков. Есть нужда отдавать заголовки Last-Modified и Not Modified(если контент страницы не менялся). Я нашел плагин, который выполняет эту задачу. Вот его код

    if($modx->event->name!='OnLoadWebDocument') return;
    if(!empty($_SERVER['HTTP_IF_MODIFIED_SINCE'])){
    $lastMod = strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']);
    if($modx->resource->editedon <= $lastMod){
    header("HTTP/1.0 304 Not Modified");
    header("Cache-control: private, max-age = 3600");
    header('Expires: '.gmdate('D, d M Y H:i:s', time()+3600));
    exit();
    }
    }
    header("Cache-control: private, max-age = 3600");
    header('Expires: '.gmdate('D, d M Y H:i:s', time()+3600));
    header("Last-Modified: " . gmdate('D, d M Y H:i:s', $modx->resource->editedon) . " GMT");
    return;
    

    Реагирует на событие OnLoadWebDocument. Но на некоторых из страниц размещены снипеты с рейтингом, комментариями и ценой из tv(цена на выходе получается путем работы сниппета, который преобразовывает цену из доллара по курсу, при этом не меня дату последнего редактирования ресурса). Если плагин включен то рейтинг нельзя изменить, так же пользователь не увидит комментарии которые появились после даты Last-Modified. Возможно ли как-то заставить менять дату Last-Modified, при внесении новых комментариев и изменении рейтинга на странице? Готов оплатить услуги, если кто-то возьмется

 

Последние комментарии

  • G

    Отличная новость, Андрей, спасибо!
    Наконец-то настроил окружение для разработки SHK4 в винде через Vagrant, все работает достаточно шустро, глюков замечено не было. В скором времени планирую сделать свою инструкцию на эту тему, думаю будет полезна для начинающих.

    У меня вопрос - я далеко не искушенный пользователь git, для разработки магазина тупо создал форк с вашего репозитория shopkeeper4 v4.0.0, все коммиты и изменения заливаю в свой репо. Есть какая-то возможность отслеживать изменения в вашем репозитории и вносить в мой? Например, я бы хотел обновлять какие-то php файлы, но не трогать шаблоны *twig.

    Читать далее
  • редактироваться могут и старые. опубликованные, ресурсы, не хотелось бы чтобы к ним приписались дубли id

    В коде плагина можно всё учесть, а не всегда добавлять ID без проверок.

    Читать далее
  • L

    @Andchir редактироваться могут и старые. опубликованные, ресурсы, не хотелось бы чтобы к ним приписались дубли id. Есть событие OnDocPublished но по-моему оно не срабатывает...

    Читать далее
  • В принципе ресурс импортируется неопубликованным и потом публикуется вручную

    Есть событие редактирования ресурса, можно привязаться к этому событию.

    Читать далее