Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Recommended Posts

Увы и ах

вы когда получили product_info  - вот тогда и проверяйте $product_info['date_modified']

 

И из контроллера  отсылайте заголовки

 

Чтобы в таком случае меньше нагружать сервер

 

А в вашем моде - вы уже все равно нагрузили - осталось только вывести контент  - а это пшык..

Надіслати
Поділитися на інших сайтах

это мне или в общиё котёл ? 

 

меня нагрузка не парит. не та эта нагрузка из-за которой случится катастрофа на фоне общей массы всеми везде описываемых косяков бд oc.

буду рад,если вы на пальцах объясните.

Надіслати
Поділитися на інших сайтах

Это вам...

Я посмотрел ваш код..

 

Как ни странно, но иногда именно боты несут основную нагрузку.

 

 

на фоне общей массы всеми везде описываемых косяков бд oc.

Это вы сами придумали

 

Нагрузка -

1.  product_info - без этого никуда

Далее, то что останется за пределами

2. product_option

3 product_related

4 модули

5 header - меню

 

 

 

Но для понимания всех остальных, кто желает воспользоваться

В первую очередь попытаюсь объяснить бессмысленность затеи

 

У вас товар может никогда не редактироваться

Но контент может меняться за счет модулей, различных доработок

А вы все будете отдавать непонятно что..

Надіслати
Поділитися на інших сайтах

  • 1 year later...
On 09.08.2012 at 4:37 PM, ingenerks said:
On 08.08.2012 at 10:44 AM, 'Maks' said:

Для версии 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.5.6.4. не сработало. 

Может что-то в htasses нужно менять?

 

Я вот подумал, если сайт, как у меня, на https, может код править, с учётом этого, нужно?

Змінено користувачем pavels1978
Надіслати
Поділитися на інших сайтах


Коллеги, ещё раз убеждаюсь, что перед тем, как покупать модули и искать решение в "этих ваших интернетах" нужно обратиться в службу поддержки хостинга. Мне всё за пять минут настроили. Всем спасибо, всё работает благодаря firstvds

Всех с новым годом!

Надіслати
Поділитися на інших сайтах


  • 1 year later...

Может кому пригодиться для opencart 3.x

 

Общий смысл уже описал Maks 

однако, метод response->output() а именно флаг TRUE в функции header('header_str', FLAG) всё губит. Почему то заголовок содержащий "Last-Modified:" перезаписывается благодаря этому флагу (где он может быть добавлен прежде?).

 

В общем, я так изменил метод движка:

	public function output() {
		if ($this->output) {
			$output = $this->level ? $this->compress($this->output, $this->level) : $this->output;
			if (!headers_sent()) {
				foreach ($this->headers as $header) {
					if (stristr($header, 'Last-Modified')) // modif str
						header($header, false);            // modif str
					else                                   // modiff str
						header($header, true);
				}
			}
			
			echo $output;
		}
	}

 

Надіслати
Поділитися на інших сайтах


9 часов назад, slva2000 сказал:

Может кому пригодиться для opencart 3.x

 

Общий смысл уже описал Maks 

однако, метод response->output() а именно флаг TRUE в функции header('header_str', FLAG) всё губит. Почему то заголовок содержащий "Last-Modified:" перезаписывается благодаря этому флагу (где он может быть добавлен прежде?).

 

В общем, я так изменил метод движка:


	public function output() {
		if ($this->output) {
			$output = $this->level ? $this->compress($this->output, $this->level) : $this->output;
			if (!headers_sent()) {
				foreach ($this->headers as $header) {
					if (stristr($header, 'Last-Modified')) // modif str
						header($header, false);            // modif str
					else                                   // modiff str
						header($header, true);
				}
			}
			
			echo $output;
		}
	}

 

А смысл? отдавать в respоnse  этот заголовок

Заголовок нужно отдавать на самом раннем этапе , что позволит разгрузить сервер
Нужен модуль? Welcome.
 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.