last-modified

#1 15 ноября 2011 в 10:52
Нужно написать скрипт добавляющей каждой странице метатег last-modified, дата изменения должна быть временем последнего изменения в базе. Цены пишите тут.
#2 13 марта 2013 в 22:30
я кстати то же бы поучаствовал
#3 13 марта 2013 в 22:43
дата последнего изменения чего?? простите за глупый вопрос!
#4 13 марта 2013 в 22:51
дата последнего изменения статьи
#5 13 марта 2013 в 22:57

дата последнего изменения статьи

Профмаркет
так а скрипт зачем?) пропишите в шабе статей этот тег)

скрипт добавляющей каждой странице метатег last-modified

NickSolver
если только для статей, всего 1 файл)
#6 13 марта 2013 в 23:00
1.10.1
в components/content/frontend.php

есть строка:
$article['pubdate'] = $do=='editarticle'? $item['pubdate']: date('Y-m-d H:i');

ПОСЛЕ неё добавьте:
$article['editdate'] = date('Y-m-d H:i');

ВСЁ. поле editdate, которое конечно нужно в таблице content создать ручками, будет храниться дата редактирования статьи. Вам остаётся только отобразить её в нужном месте.
Развлекайтесь!!!
#7 15 марта 2013 в 15:25
Блин, нифига не получается. кто нибудь, пожалуйста подскажите, есть требование яндекса "настройте сервер на выдачу корректных заголовков ответов (например, если страница не существует, выдавать ошибку 404, а если поступил запрос If-Modified-Since, то выдавать код 304, если страница с указанной в запросе даты не изменялась)". Как это реализовать на сайте?
#8 27 марта 2013 в 16:31
Неужто никто за вознагрождение не возьмется реализовать это?
#9 28 марта 2013 в 01:26
Готов сделать, более подробное описание в личку скиньте пожалуйста.
#10 28 марта 2013 в 23:56
Для отдельных статей (версия 1.10.1)
открываем /public_html/components/content/frontend.php

ищем строку ~157:

  1.  
  2. // если статья не опубликована или дата публикации позже, 404
  3. if ((!$article['published'] || strtotime($article['pubdate']) > time()) && !$is_admin && !$is_editor && !$is_author) { cmsCore::error404(); }
  4.  

сразу после неё вставляем блок и подставляем нужную переменную:

  1.  
  2. $LastModified_unix = strtotime($article['pubdate']); // время последнего изменения страницы
  3. $LastModified = gmdate("D, d M Y H:i:s \G\M\T", $LastModified_unix);
  4. $IfModifiedSince = false;
  5. if (isset($_ENV['HTTP_IF_MODIFIED_SINCE'])) {
  6. $IfModifiedSince = strtotime(substr($_ENV['HTTP_IF_MODIFIED_SINCE'], 5));
  7. }
  8. if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])) {
  9. $IfModifiedSince = strtotime(substr($_SERVER['HTTP_IF_MODIFIED_SINCE'], 5));
  10. }
  11. if ($IfModifiedSince && $IfModifiedSince >= $LastModified_unix) {
  12. header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified');
  13. }
  14. header('Last-Modified: '. $LastModified);
  15.  
#12 13 сентября 2013 в 13:37
А как это можно сделать для всего сайта. Для объявлений, дял товаров, для статей, для блогов и так далее?
#13 13 сентября 2013 в 15:24
А это правильно, если у старой статьи сегодня появилось 10 коментов, оставлять last-modified годовалой давности?
#14 13 сентября 2013 в 16:56
Каменты как каменты, меня больше инетересует именно при обновлении контента
#15 13 сентября 2013 в 18:10
Никто не подскажет?
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.