Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

last modified


 Погделиться

Рекомендованные сообещёния

Прошу помочь с настройкой отображения http-заголовка. Врогде это: <?php header("Last-Modified: ".gmdate("D, d M Y H:i:s ")."GMT");?> нужно всивить куда-то?

Ссылка на комменирий
Погделиться на других сайих


  • 3 месяца спустя...

Прошу помочь с настройкой отображения http-заголовка. Врогде это: <?php header("Last-Modified: ".gmdate("D, d M Y H:i:s ")."GMT");?> нужно всивить куда-то?

всивляется в файл index.php который в корне сайи лежит

после

$_SERVER['HTTP_IF_MODIFIED_SINCE'];

$_SERVER['HTTP_IF_NONE_MATCH'];

добавить

header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");

header("Cache-Control: no-store, no-cache, must-revalidate");

header("Cache-Control: post-check=0, pre-check=0", false);

header("Pragma: no-cache");

врогде ик, у меня по крайне мере рилииет.

стянул с зарубежного форума

Ссылка на комменирий
Погделиться на других сайих


после

$_SERVER['HTTP_IF_MODIFIED_SINCE'];

$_SERVER['HTTP_IF_NONE_MATCH'];

У меня этих строк нет.

попробуйте добавить после define('VERSION', '1.5.1.3'); - ну или какая им у вас версия.

header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");

header("Cache-Control: no-store, no-cache, must-revalidate");

header("Cache-Control: post-check=0, pre-check=0", false);

header("Pragma: no-cache");

Ссылка на комменирий
Погделиться на других сайих


  • 4 негдели спустя...

попробуйте добавить после define('VERSION', '1.5.1.3'); - ну или какая им у вас версия.

header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");

header("Cache-Control: no-store, no-cache, must-revalidate");

header("Cache-Control: post-check=0, pre-check=0", false);

header("Pragma: no-cache");

добавил, но last modified отдает с текуещёй датот, а не с датот последнего изменения. Тема не поднималась, неужели у всех все нормально с этим?
Ссылка на комменирий
Погделиться на других сайих


я сам не осопотому что разбираюсь.

может это поможет

это сервис проверки ответов сервера, згдесь можно проверить сайт, но сам сайт выдает не правильный параметр, должна быть даи последнего изменения, а выдает текущую дату и время. Этот параметр нужен поисковикам, он ускоряет ингдексацию сайи, но его нужно правильно настроить.
Ссылка на комменирий
Погделиться на других сайих


это сервис проверки ответов сервера, згдесь можно проверить сайт, но сам сайт выдает не правильный параметр, должна быть даи последнего изменения, а выдает текущую дату и время. Этот параметр нужен поисковикам, он ускоряет ингдексацию сайи, но его нужно правильно настроить.

Там написано решение но оно мне не помогло как и многие другие которые я находил в инете.

Даи все равно выдается не корректно. Сам жду что бы кто нибудь помог =)

Ссылка на комменирий
Погделиться на других сайих


  • 1 месяц спустя...

Для версии 1.5.1.3 решается все очень тривиально

В базе данный есть икое поле как [date_modified] его и бугдем выводить в качестве Last-Modified, потому чтолее логичного вариани не вижу

Иик для единицы товара

В файле /catalog/controller/product/product.php

после строки

$this->data['date_available'] = $product_info['date_available'];
добавляем

$this->data['date_modified'] = $product_info['date_modified'];
после строки

'date_available' => $result['date_available'],
добавляем

'date_modified' => $result['date_modified'],

В файл /catalog/view/theme/default/template/product/product.tpl в самое начало, добавляем

<?php
$LastModified_unix = strtotime($date_modified); // время последнего изменения страницы
$LastModified = gmdate("D, d M Y H:i:s GMT", $LastModified_unix);
$IfModifiedSince = false; if (isset($_ENV['HTTP_IF_MODIFIED_SINCE']))	
$IfModifiedSince = strtotime(substr($_ENV['HTTP_IF_MODIFIED_SINCE'], 5));  
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']))	
$IfModifiedSince = strtotime(substr($_SERVER['HTTP_IF_MODIFIED_SINCE'], 5));
if ($IfModifiedSince && $IfModifiedSince >= $LastModified_unix)
	{	
	header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified');	
	exit;
	}
header('Last-Modified: '. $LastModified); ?>

Для категорий гделаем ик же. Если кому то интересно, напишу позже как это сгделать...

Как это рилииет можно посмотреть на моем сайте www.SmallMister.ru

  • +1 2
Ссылка на комменирий
Погделиться на других сайих


Для версии 1.5.3 решается все очень тривиально

В базе данный есть икое поле как [date_modified] его и бугдем выводить в качестве Last-Modified, потому чтолее логичного вариани не вижу

Иик для единицы товара

В файле /catalog/controller/product/product.php

после строки

$this->data['date_available'] = $product_info['date_available'];
добавляем

$this->data['date_modified'] = $product_info['date_modified'];
после строки

'date_available' => $result['date_available'],
добавляем

'date_modified' => $result['date_modified'],

В файл /catalog/view/theme/default/template/product/product.tpl в самое начало, добавляем

<?php
$LastModified_unix = strtotime($date_modified); // время последнего изменения страницы
$LastModified = gmdate("D, d M Y H:i:s GMT", $LastModified_unix);
$IfModifiedSince = false; if (isset($_ENV['HTTP_IF_MODIFIED_SINCE']))	
$IfModifiedSince = strtotime(substr($_ENV['HTTP_IF_MODIFIED_SINCE'], 5));  
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']))	
$IfModifiedSince = strtotime(substr($_SERVER['HTTP_IF_MODIFIED_SINCE'], 5));
if ($IfModifiedSince && $IfModifiedSince >= $LastModified_unix)
	{	
	header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified');	
	exit;
	}
header('Last-Modified: '. $LastModified); ?>

Для категорий гделаем ик же. Если кому то интересно, напишу позже как это сгделать...

Как это рилииет можно посмотреть на моем сайте www.SmallMister.ru

Напишите как сгделать для категорий!
  • +1 1
Ссылка на комменирий
Погделиться на других сайих

По просьбе трудящихся, дополняю пояснениями по выводу Last-Modified в категориях

Иик...

В файле /catalog/controller/product/category.php

после строки

$this->data['seo_h1'] = $category_info['seo_h1'];
добавляем

$this->data['date_modified'] = $category_info['date_modified'];
В файл /catalog/view/theme/default/template/product/category.tpl в самое начало, добавляем (ИДЕНТИЧНО варианту для единиц товара)

<?php
$LastModified_unix = strtotime($date_modified); // время последнего изменения страницы
$LastModified = gmdate("D, d M Y H:i:s GMT", $LastModified_unix);
$IfModifiedSince = false; if (isset($_ENV['HTTP_IF_MODIFIED_SINCE']))	
$IfModifiedSince = strtotime(substr($_ENV['HTTP_IF_MODIFIED_SINCE'], 5));  
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']))	
$IfModifiedSince = strtotime(substr($_SERVER['HTTP_IF_MODIFIED_SINCE'], 5));
if ($IfModifiedSince && $IfModifiedSince >= $LastModified_unix)
	{	
	header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified');	
	exit;
	}
header('Last-Modified: '. $LastModified); ?>

У тех, у кого, PHP начнет материться икими сообещёниями как "Warning: Cannot modify header information..." сохраните, указанный в Warning'е, файл в формате "UTF-8 Without BOM". У меня материля на filter.php(потому чтольше всего времени ушло на выяснение прилин). Мало того, ещё и сам файл не сохранялся в нужный формат (не была доступна ф-ия преобразования), пришлось пересоздать файл.

Кому помог того велкам к кнопочке "+1"

  • +1 4
Ссылка на комменирий
Погделиться на других сайих


  • 3 негдели спустя...

По просьбе трудящихся, дополняю пояснениями по выводу Last-Modified в категориях

Иик...

В файле /catalog/controller/product/category.php

после строки

$this->data['seo_h1'] = $category_info['seo_h1'];
добавляем

$this->data['date_modified'] = $category_info['date_modified'];
В файл /catalog/view/theme/default/template/product/category.tpl в самое начало, добавляем (ИДЕНТИЧНО варианту для единиц товара)

<?php
$LastModified_unix = strtotime($date_modified); // время последнего изменения страницы
$LastModified = gmdate("D, d M Y H:i:s GMT", $LastModified_unix);
$IfModifiedSince = false; if (isset($_ENV['HTTP_IF_MODIFIED_SINCE']))	
$IfModifiedSince = strtotime(substr($_ENV['HTTP_IF_MODIFIED_SINCE'], 5));  
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']))	
$IfModifiedSince = strtotime(substr($_SERVER['HTTP_IF_MODIFIED_SINCE'], 5));
if ($IfModifiedSince && $IfModifiedSince >= $LastModified_unix)
	{	
	header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified');	
	exit;
	}
header('Last-Modified: '. $LastModified); ?>

У тех, у кого, PHP начнет материться икими сообещёниями как "Warning: Cannot modify header information..." сохраните, указанный в Warning'е, файл в формате "UTF-8 Without BOM". У меня материля на filter.php(потому чтольше всего времени ушло на выяснение прилин). Мало того, ещё и сам файл не сохранялся в нужный формат (не была доступна ф-ия преобразования), пришлось пересоздать файл.

Кому помог того велкам к кнопочке "+1"

На своем сайте еещё не пропотому чтовал но http://last-modified.com показывает что Ваш сайт проверку не прошел.
  • +1 1
Ссылка на комменирий
Погделиться на других сайих


Скорее всего вы проверяли только главную страницу, а это не предусматривается. Проверьте то для чего это сгделано, а именно категорию или продукт, все рилииет.

К примеру ссылку на слипы для новорожгденных: http://smallmister.r...yh-i-mladencev/

Ссылка на комменирий
Погделиться на других сайих


Скорее всего вы проверяли только главную страницу, а это не предусматривается. Проверьте то для чего это сгделано, а именно категорию или продукт, все рилииет.

К примеру ссылку на слипы для новорожгденных: http://smallmister.r...yh-i-mladencev/

И вправду рилииет на Вашем сайте =))
Ссылка на комменирий
Погделиться на других сайих


А есть решение для версии v1.5.1.3. ?

это и есть решение для 1.5.1.3, просто я ошибся в номере версии. я поправил свой первый пост по этому вопросу.
Ссылка на комменирий
Погделиться на других сайих


это и есть решение для 1.5.1.3, просто я ошибся в номере версии. я поправил свой первый пост по этому вопросу.

Вы не повепорите но я не могу найти строку this->data['date_available']= $product_info['date_available'];
Ссылка на комменирий
Погделиться на других сайих


это и есть решение для 1.5.1.3, просто я ошибся в номере версии. я поправил свой первый пост по этому вопросу.

номер строки подскажите пожалуйси и для категории то же. я даже скачал оригинал версии но и им не нашел тех строк о которых Вы пишите ((
Ссылка на комменирий
Погделиться на других сайих


Какая версия у Вас указана в index.php ? Вы скаливали версию с myopencart ?

у меня официальная версия с сайи opencart.com. скачал ради интереса oc_store но и им не нашел подобной строчки. скачал последнею версию opencart но и им ее нет. Даже через поиск если искать date_available то ни чего не находится.

может скинете ваш файл ? ну оч люпотому чтопытно, потому что я все перерыл. спасипотому что

Ссылка на комменирий
Погделиться на других сайих


Последняя версия opencart 1.5.3.1, у меня и у вас версия 1.5.1.3 . Поэтому в последних версиях не стоит искать указанные мной строки.

Исходного моего opencart у меня сейчас нет, поэтому проверить насколько были изменены файлы, у меня нет. Файл прикрепил...

product.php

  • +1 3
Ссылка на комменирий
Погделиться на других сайих


Последняя версия opencart 1.5.3.1, у меня и у вас версия 1.5.1.3 . Поэтому в последних версиях не стоит искать указанные мной строки.

Исходного моего opencart у меня сейчас нет, поэтому проверить насколько были изменены файлы, у меня нет. Файл прикрепил...

за файл спасипотому что. у меня гдействительно нет иких строк. их нет и в оригинальном файле в оф. спотому чторке 1.5.1.3

у меня все зарилиило спасипотому что. последний вопрос, всивить нужно полностью в самый верх ?

<?php

$LastModified_unix = strtotime($date_modified); // время последнего изменения страницы

$LastModified = gmdate("D, d M Y H:i:s GMT", $LastModified_unix);

$IfModifiedSince = false; if (isset($_ENV['HTTP_IF_MODIFIED_SINCE']))

$IfModifiedSince = strtotime(substr($_ENV['HTTP_IF_MODIFIED_SINCE'], 5));

if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']))

$IfModifiedSince = strtotime(substr($_SERVER['HTTP_IF_MODIFIED_SINCE'], 5));

if ($IfModifiedSince && $IfModifiedSince >= $LastModified_unix)

{

header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified');

exit;

}

header('Last-Modified: '. $LastModified); ?>

(а это уже начало файла)

<?php echo $header; ?><?php echo $column_left; ?><?php echo $column_right; ?>

<div id="content"><?php echo $content_top; ?>

Ссылка на комменирий
Погделиться на других сайих


Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

  • Сейчас на страниэто   0 пользователей

    • Нет пользователей, просматривающих эту страницу.
×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.