Форум русской поддержки Joomla!® CMS
04.12.2016, 12:15:49 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14   Вниз
  Добавить закладку  |  Печать  
Автор

lm_any - плагин Last-Modified для любого контента

 (Прочитано 21410 раз)
0 Пользователей и 1 Гость смотрят эту тему.
yunoshev
Разработчик расширений для Joomla 1.0
*

Репутация: +176/-1
Offline Offline

Пол: Мужской
Сообщений: 1234


« : 15.01.2014, 20:27:04 »

Ув. форумчане!

Предлагаю вашему вниманию плагин lm_any (plg_system_lm_any) для любого контента (компонента) сайта (Last-Modified Any Content).

Я унифицировал разрозненные наработки по управлению выдачей заголовков страниц last-modified и if-modified-since для ускорения сканирования сайтов поисковыми ботами и, соответственно, улучшения ваших сайтов в плане SEO. Исходный материал по данной теме обсуждался в этом посте.

Плагин был мною переписан для удобства расширения его под другие компоненты. Некоторый исходный код мною был изменен. В папку /plugins вы можете положить свой производный класс для нужного вам компонента. В файле /plugins/com_example.plugin.php показан пример подключения под отдельную страницу вашего компонента и под страницу категорий компонента.

Просмотр видео работы плагина

На данный момент плагин поддерживает:
  • com_adsmanager-- компонент доски объявлений AdsManager для Joomla (только в платной версии); главная /стартовая/ страница объявлений, категории, страница объявления
  • com_cobalt -- конструктор контента (CCK) Cobalt CCK (только в платной версии; тестировался на версии Joomla 3.x, форум, блог; поддержка страниц статьи и категории (секции))
  • com_content -- статьи
  • com_easyblog -- компонент блогов (v.3 - v.5) для Joomla (только в платной версии)
  • com_easydiscuss -- форум (только в платной версии; Joomla 2.5 & Joomla 3.x)
  • com_flexicontent -- конструктор контента (CCK) FlexiContent; поддержка  страниц материала и категорий
  • com_hikashop -- компонент электронной коммерции для Joomla (только в платной версии)
  • com_jcomments -- компонент комментариев для Joomla (только в платной версии)
  • com_jshopping (Joom Shopping) -- магазин JShopping (пока только страница товара)
  • com_mediastore -- онлайн медиа-магазин, позволяет продавать скачиваемые / цифровые товары (только в платной версии; Joomla 3.x)
  • com_mosets -- бизнес-каталог Mosets Tree (категории и карточка объекта)
  • com_k2 -- конструктор контента (CCK) K2
  • com_komento -- компонент комментариев для Joomla (только в платной версии)
  • com_kunena -- форум Kunena (благодарим за старания форумчанина ast)
  • com_virtuemart -- магазин VirtueMart (есть исправления от 2014-03-05)
  • com_yvcommodity -- магазин yvCommodity
  • com_zoo -- конструктор контента (CCK) ZOO (доработан 2014-11-23)


Совместимость:
  • Joomla 2.5
  • Joomla 3.x  - платно 7.99$

Начиная с версии 1.1.1 улучшена работа в режиме кэша, а также добавлены новые опции по настройке заголовка ответа (Header Response) в режиме кэширования, а именно: Cache-Control & Expires, Vary, ETag. При разработке использовалась следующая литература:
Показать текстовый блок

История версий:
Показать текстовый блок

Скачать обновленную версию (платный и бесплатный вариант) плагина можно здесь
Проверить работу сайта после установки плагина можно здесь: http://last-modified.com/ru/
Проверить работу HTTPS-сайта после установки плагина можно здесь: https://redbot.org

Просмотр видео работы плагина

Кому пригодился плагин и кто силен в английском -- милости прошу оставить отзыв на сайте расширений.

Что касается установки платной версии плагина v.1.3.1 для Joomla v.3.3+
Скачивать и устанавливать ТОЛЬКО ПЛАГИН!

Особенности установки платной версии плагина ДО v.1.3.1 для Joomla v.3.3+
  • при первичной установке пакета выдается сообщение, что произошла замена файла ядра Joomla (этот патч снимает ограничения Joomla на замену заголовков Last-Modified и остальных служебных);
  • название файлов пакета:  pkg_lmac_vX.X.X_j3.X.zip;
  • во время установки пакета также ставится и сам плагин;
  • название установочных файлов самого плагина: plg_system_lmac_vX.X.X_j3.X.zip;
  • сервер обновлений поддерживает обновление ТОЛЬКО для плагина;
  • после обновления Joomla, как правило,  необходимо повторно установить ВЕСЬ ПАКЕТ!
  • пакет для Joomla 3.3+ удалять нельзя! можно только отключить в управлении расширениями, либо только плагин
Принимаются предложения по улучшению и расширению, а также благодарности в карму или на кофе и шоколад. Azn
Webmoney: R241481671015

За разработку материально отблагодарили
Показать текстовый блок
« Последнее редактирование: 15.09.2016, 02:03:58 от yunoshev » Записан
 
yunoshev
Разработчик расширений для Joomla 1.0
*

Репутация: +176/-1
Offline Offline

Пол: Мужской
Сообщений: 1234


« Ответ #1 : 18.01.2014, 03:24:48 »

Добавил поддержку com_k2.
Также добавлена поддержка сервера обновлений для плагина, т.е. о выходе новых версиях вы сможете узнать в менеджере обновлений админки сайта.
Исправлена одна важная функция -- рекомендую обновиться.
« Последнее редактирование: 01.08.2015, 17:43:14 от yunoshev » Записан
master-smeta
Давно я тут
****

Репутация: +8/-0
Offline Offline

Пол: Мужской
Сообщений: 254


« Ответ #2 : 18.01.2014, 17:04:15 »

У меня не работает. Отдает "сейчас".
Joomla! 3.2.1
Записан
yunoshev
Разработчик расширений для Joomla 1.0
*

Репутация: +176/-1
Offline Offline

Пол: Мужской
Сообщений: 1234


« Ответ #3 : 18.01.2014, 17:31:24 »

@master-smeta
Покажите скриншот и напишите для какого компонента (версии) проверяли.
Я делал сам для компонентов: K2, yvCommodity. Для других компонентов я нашел решения здесь и почти не правил, лишь изменил для работы в связке с плагином.
Записан
master-smeta
Давно я тут
****

Репутация: +8/-0
Offline Offline

Пол: Мужской
Сообщений: 254


« Ответ #4 : 18.01.2014, 17:42:08 »

@master-smeta
Покажите скриншот и напишите для какого компонента (версии) проверяли.
Я делал сам для компонентов: K2, yvCommodity. Для других компонентов я нашел решения здесь и почти не правил, лишь изменил для работы в связке с плагином.
Никаких сторонних компонентов не использую (пока), сайт только что установил на хост и просто настраиваю. Может я что-то не то делаю... Проверяю ласт-модифайт следующим образом:
1) ПКМ на странице -- Информация о странице -- Дата последнего изменения;
2) FireBug -- вкладка "сеть" -- "Заголовки ответа" для страницы.
Правильно?
Какие скриншоты предоставить?
Записан
yunoshev
Разработчик расширений для Joomla 1.0
*

Репутация: +176/-1
Offline Offline

Пол: Мужской
Сообщений: 1234


« Ответ #5 : 18.01.2014, 17:43:34 »

@master-smeta
Результат проверки с сайта http://last-modified.com/ru/
Покажите так, как у меня скриншот на этой странице.
« Последнее редактирование: 18.01.2014, 17:53:00 от yunoshev » Записан
master-smeta
Давно я тут
****

Репутация: +8/-0
Offline Offline

Пол: Мужской
Сообщений: 254


« Ответ #6 : 18.01.2014, 17:55:46 »

вот скрин
Показать текстовый блок
Записан
yunoshev
Разработчик расширений для Joomla 1.0
*

Репутация: +176/-1
Offline Offline

Пол: Мужской
Сообщений: 1234


« Ответ #7 : 18.01.2014, 17:58:19 »

@master-smeta
ОК. Проверьте на странице с каким-нибудь материалом. Если у вас голый сайт, то может такой ответ и будет. Надо хоть что-то добавить.
Записан
master-smeta
Давно я тут
****

Репутация: +8/-0
Offline Offline

Пол: Мужской
Сообщений: 254


« Ответ #8 : 18.01.2014, 17:59:41 »

Минуту, сейчас добавлю страничку
Записан
master-smeta
Давно я тут
****

Репутация: +8/-0
Offline Offline

Пол: Мужской
Сообщений: 254


« Ответ #9 : 18.01.2014, 18:02:35 »

Добавил страничку. Результат тот же
Показать текстовый блок
Записан
yunoshev
Разработчик расширений для Joomla 1.0
*

Репутация: +176/-1
Offline Offline

Пол: Мужской
Сообщений: 1234


« Ответ #10 : 18.01.2014, 18:08:50 »

@master-smeta
Отлично! А теперь сохраните ее, чтобы даты создания и модификации отличались:
Показать текстовый блок
И проверьте снова.
Записан
master-smeta
Давно я тут
****

Репутация: +8/-0
Offline Offline

Пол: Мужской
Сообщений: 254


« Ответ #11 : 18.01.2014, 18:16:07 »

Пересохранил, даты различаются:
Показать текстовый блок
Результат тот же:
Показать текстовый блок
Записан
master-smeta
Давно я тут
****

Репутация: +8/-0
Offline Offline

Пол: Мужской
Сообщений: 254


« Ответ #12 : 18.01.2014, 18:20:38 »

Кстати говоря, на Вашем скрине указана версия PHP 5.2, а Joomla 3.2.х работает только на 5.3+
Может у Вас другая версия Joomla и на ней действительно все нормально работает
Записан
yunoshev
Разработчик расширений для Joomla 1.0
*

Репутация: +176/-1
Offline Offline

Пол: Мужской
Сообщений: 1234


« Ответ #13 : 18.01.2014, 18:38:14 »

@master-smeta
Показать текстовый блок
Записан
master-smeta
Давно я тут
****

Репутация: +8/-0
Offline Offline

Пол: Мужской
Сообщений: 254


« Ответ #14 : 18.01.2014, 22:45:11 »

Заработало! Но нужно сыграть на бубне следующую мелодию Azn
Идем в папку /libraries/joomla/application и открываем файл web.php
комментируем 429ю строку, т.е. должно быть так: //$this->setHeader('Last-Modified', gmdate('D, d M Y H:i:s'). ' GMT', true);
После этого плагин начинает работать, а страница отдает "правильный" Last-Modified. Не смотря на это, страница отдает ответ 200 OK
Чтобы исправить код ответа, нужно в вышеуказанном файле, в строке 423 убрать восклицательный знак. т.е. должно получиться это: if ($this->response->cachable)
Лично у меня все заработало только так. Проверено на двух тестовых сайтах (на денвере) и одном реальном.
Итог: при первой загрузке страницы получаем ответ 200 ОК. При последующем - 304 Not Modified.

P.S. ВНИМАНИЕ! Правка вышеуказанных файлов приводит к включению кэширования, причем кэшируется и фронтенд и админка. Лично я с этим уже свыкся, заголовки важнее...
« Последнее редактирование: 17.03.2014, 07:03:54 от master-smeta » Записан
yunoshev
Разработчик расширений для Joomla 1.0
*

Репутация: +176/-1
Offline Offline

Пол: Мужской
Сообщений: 1234


« Ответ #15 : 18.01.2014, 22:53:36 »

Ясно. Прямо как в полторашке -- причина в ядре. Будем искать выход.
« Последнее редактирование: 18.01.2014, 22:57:20 от yunoshev » Записан
x1
Давно я тут
****

Репутация: +13/-0
Offline Offline

Сообщений: 363


« Ответ #16 : 18.01.2014, 23:22:26 »

Добрый вечер. Привожу результат тестирования работы модуля на К2 версии K2 v2.5.7:


Хостинг:
Linux  2.6.32-458.18.1.lve1.2.39.el6.x86_64 #1 SMP Mon Sep 16 12:10:28 EEST 2013 x86_64
Версия базы данных    5.5.34-cll-lve
Кодировка базы данных    utf8_general_ci
Версия PHP    5.2.17
Веб-сервер    Apache
Интерфейс между веб-сервером и PHP    cgi-fcgi
Версия Joomla!    Joomla! 2.5.9 Stable [ Ember ] 4-February-2013 14:00 GMT
Версия Joomla! Platform    Joomla Platform 11.4.0 Stable [ Brian Kernighan ] 03-Jan-2012 00:00 GMT
Браузер пользователя    Mozilla/5.0 (Windows NT 5.1; rv:26.0) Gecko/20100101 Firefox/26.0

До установки:
Цитировать
Last-Modified найден!
304 Not Modified не найден!
Результат: провалено
Сайт http://ХХХ отдал время последней модификации, но не отреагировал на If-Modified-Since

После установки модуля:
Цитировать
Last-Modified найден!
304 Not Modified найден!
Результат: отлично
Сайт http://ХХХ корректно отдает код 304 Not Modified.

Скриншоты не привожу. Кажется все нормально?

Так вот...  тестирую страницу повторно - выдает - ничего не изменялось. Изменяю текст странички (перефразирую всего один абзац) - тут же выдает - есть изменения!
« Последнее редактирование: 18.01.2014, 23:28:35 от x1 » Записан
master-smeta
Давно я тут
****

Репутация: +8/-0
Offline Offline

Пол: Мужской
Сообщений: 254


« Ответ #17 : 19.01.2014, 09:38:35 »

А можно добавить поддержку Mosets tree?
Записан
yunoshev
Разработчик расширений для Joomla 1.0
*

Репутация: +176/-1
Offline Offline

Пол: Мужской
Сообщений: 1234


« Ответ #18 : 20.01.2014, 14:46:25 »

@master-smeta
Можно, но для этого мне нужен сам Mosets Tree.
Записан
yunoshev
Разработчик расширений для Joomla 1.0
*

Репутация: +176/-1
Offline Offline

Пол: Мужской
Сообщений: 1234


« Ответ #19 : 21.01.2014, 19:52:27 »

@All
Большая просьба ко всем, у кого стоит Joomla! 3.2, установить последнюю версию плагина (или обновиться) -- кажется, я нашел решение для этой ветки Joomla без применения патчей и хака ядра.
Записан
yunoshev
Разработчик расширений для Joomla 1.0
*

Репутация: +176/-1
Offline Offline

Пол: Мужской
Сообщений: 1234


« Ответ #20 : 21.01.2014, 21:11:23 »

Неужто некому проверить? Azn
Записан
voland
Профи
********

Репутация: +487/-86
Offline Offline

Пол: Мужской
Сообщений: 8694


любит наш народ всякое гавно...


« Ответ #21 : 21.01.2014, 21:13:37 »

Неужто некому проверить? Azn
Боюсь мало кто уже использует 3.2 на рабочих проектах.. новички разве что.
Записан
voland
Профи
********

Репутация: +487/-86
Offline Offline

Пол: Мужской
Сообщений: 8694


любит наш народ всякое гавно...


« Ответ #22 : 21.01.2014, 21:14:22 »

ЗЫ. А с zoo \ 2.5 пока не работает?
Записан
yunoshev
Разработчик расширений для Joomla 1.0
*

Репутация: +176/-1
Offline Offline

Пол: Мужской
Сообщений: 1234


« Ответ #23 : 21.01.2014, 21:29:37 »

@voland
Может быть, может быть. Azn
Сегодня планирую сделать MosetsTree, а завтра постараюсь с Zoo разобраться.
Записан
master-smeta
Давно я тут
****

Репутация: +8/-0
Offline Offline

Пол: Мужской
Сообщений: 254


« Ответ #24 : 21.01.2014, 23:35:05 »

@All
Большая просьба ко всем, у кого стоит Joomla! 3.2, установить последнюю версию плагина (или обновиться) -- кажется, я нашел решение для этой ветки Joomla без применения патчей и хака ядра.
Я обновился. Все работает.
Записан
yunoshev
Разработчик расширений для Joomla 1.0
*

Репутация: +176/-1
Offline Offline

Пол: Мужской
Сообщений: 1234


« Ответ #25 : 21.01.2014, 23:51:40 »

@master-smeta
Отлично, значит я не ошибся в своем решении. Спасибо!
Записан
demis
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 42



« Ответ #26 : 30.01.2014, 22:44:14 »

Привет.
Не работает на Joomla! 3.2.1, все материалы на сайте на CCK K2, кроме главной страницы.
Проверка: Last-Modified найден!, 304 Not Modified найден!, но даты то Неправильные отдаются )

Cache-Control   no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Date   Thu, 30 Jan 2014 18:28:26 GMT
Expires   Mon, 1 Jan 2001 00:00:00 GMT
Last-Modified   Thu, 30 Jan 2014 18:28:26 GMT
Pragma   no-cache
Server   nginx/0.7.67

Плагин ставил вот этой версии plg_system_lm_any v.1.0.3.zip, она последняя, правильно?
Записан
yunoshev
Разработчик расширений для Joomla 1.0
*

Репутация: +176/-1
Offline Offline

Пол: Мужской
Сообщений: 1234


« Ответ #27 : 31.01.2014, 00:21:49 »

@demis
Работа плагина в Joomla 3.2 еще проверяется, т.к. на одном хостинге мне выдает правильно, а на другом нет. Причину найти не могу.
Записан
demis
Осваиваюсь на форуме
***

Репутация: +2/-0
Offline Offline

Пол: Мужской
Сообщений: 42



« Ответ #28 : 31.01.2014, 11:58:34 »

@demis
Работа плагина в Joomla 3.2 еще проверяется, т.к. на одном хостинге мне выдает правильно, а на другом нет. Причину найти не могу.
Может причина быть в использовании PHP как FastCGI или PHP как модуль Apache? Там вроде есть какая то разница в работе Last Modified (где то что то попадалось на эту тему) если я не ошибаюсь.
Записан
yunoshev
Разработчик расширений для Joomla 1.0
*

Репутация: +176/-1
Offline Offline

Пол: Мужской
Сообщений: 1234


« Ответ #29 : 01.02.2014, 12:45:36 »

@demis
Не знаю, не попадалась такая информация.
Записан
Страниц: [1] 2 3 4 5 6 7 8 9 10 11 12 13 14   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet