Как сделать заголовок (дата изменения страницы) last-modified InstantCMS 2 2.X

Сут вопроса. Как получит переменную (изменения страницы) На главной, в контенте, и в профилях людей.

 
Посетитель
small user social cms
Медаль
Сообщений: 112
Нашел код но перемынну $ LastModified_unix = 1294844676; надо замынить на реальную дату изменения страницы.
Код PHP:
  1. $LastModified_unix = 1294844676; // время последнего изменения страницы
  2. $LastModified = gmdate("D, d M Y H:i:s \G\M\T", $LastModified_unix);
  3. $IfModifiedSince = false;
  4. if (isset($_ENV['HTTP_IF_MODIFIED_SINCE']))
  5. $IfModifiedSince = strtotime(substr($_ENV['HTTP_IF_MODIFIED_SINCE'], 5));
  6. if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']))
  7. $IfModifiedSince = strtotime(substr($_SERVER['HTTP_IF_MODIFIED_SINCE'], 5));
  8. if ($IfModifiedSince && $IfModifiedSince >= $LastModified_unix) {
  9. header($_SERVER['SERVER_PROTOCOL'] . ' 304 Not Modified');
  10. }
  11. header('Last-Modified: '. $LastModified);
  12. ?>
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4568
Этот заголовок есть по умолчанию в InstantCMS2.
Редактировалось: 1 раз (Последний: 16 января 2020 в 19:49)
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Реклама
cms
Посетитель
small user social cms
Медаль
Сообщений: 112
У меня сервер Server: nginx. .htaccess Не вариант. Может кто-то уже реализовал у себя и знает лучший способ. Подскажите буду очень благодарен.
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4568
@andriu3240:
.htaccess Не вариант.
Я где-то говорил про htaccess?
Для страниц записей типов контента, если пользователь не авторизован, указанный заголовок формируется.
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
Медаль
Сообщений: 112
Спасибо.
Посетитель
small user social cms
Медаль
Сообщений: 112
Как сделать заголовок (дата изменения страницы)  last-modified InstantCMS 2
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4568
@andriu3240:

Как сделать заголовок (дата изменения страницы)  last-modified InstantCMS 2

Прочитайте еще раз мой ответ.
Fuze:
Для страниц записей типов контента

@andriu3240:
На главной и в профилях людей.
Ни на главной, ни в профилях нет такой переменной.
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
Медаль
Сообщений: 112
К сожалению и на странице контента нет. Сравню сейчас тот файл шо вы показали и то что у меня.
Получается но главной и на страницах людей невозможно реализувать этот заголовак?
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4568
Всё есть.
Как сделать заголовок (дата изменения страницы)  last-modified InstantCMS 2

@andriu3240:
Получается но главной и на страницах людей невозможно реализувать этот заголовак?
Не дорабатывая - нет, я же ответил несколько раз.
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
Медаль
Сообщений: 112
Мой файл отличается. if (! $ this-> cms_user-> is_logged) {
             cmsCore :: respondIfModifiedSince ($ item [ 'date_last_modified']);
         } нет.
Просто вставить этот кусочек кода?
Посетитель
small user social cms
Медаль
Сообщений: 112
Просто вставить нельзя. ошибка белый экран. версия 2.11
Мой файл system / controllers / content / actions / item_view.php
начинается
  public function run () {

         $ Props = $ props_values = false;

         // Получаем название типа контента и сам тип
         $ Ctype = $ this-> model-> getContentTypeByName ($ this-> request-> get ( 'ctype_name', ''));

// Получаем SLUG записи
         $ Slug = $ this-> request-> get ( 'slug', '');
Посетитель
small user social cms
Медаль
Сообщений: 112
Объектно ориентированное php прослушал на курсах. Поэтому и вопросы такие. Что делает list ($ ctype, $ item) = $ this-> getItemAndCtype (); ?
Сама переменная даты изменения страницы ($ item [ 'date_last_modified'])
Этот respondIfModifiedSince публичний метод (функция) находится в system / core / core.php и вставляет заголовак header ( 'Last-Modified: ". $ Last_modified)
У меня возникла ошибка потому что не передавался параметер $ item [ 'date_last_modified'] ?
Посетитель
small user social cms
МедальПочетный донор проектаПочетный донор проекта
Сообщений: 626
@andriu3240,
@andriu3240:
Объектно ориентированное php прослушал на курсах
Не опирайся только на ООП, иногда чтобы сделать нормальную вещь он только мешает, и проще влоб на php.
Тут спор наблюдал, битву гуру, одну и ту же задачу, один решал методом функционального программирования, другой на ООП - на ООП гораздо больше времени потратил раз, потом сам запутался, короче спорно все это что лучше, мое ИМХО есть задача, решать то решать, лучше так сначала сделай что работает - потом сделай как надо - потом сделай лучше..
любым методом главное что работает и есть возможность модернизации и унификации..
Редактировалось: 2 раз (Последний: 17 января 2020 в 16:28)
Посетитель
small user social cms
Медаль
Сообщений: 112
Все движки на ООП . Как ни крутите с двыжком нужно взаимодействовать. Брать данные в данном случае переменных даты изменения материала. Где сам код писать.
Посетитель
small user social cms
Медаль
Сообщений: 112
Я с версией ошибся .У меня версия 2 10. Делал по примеру с https://github.com/instantsoft/icms2/blob/master/system/controllers/content/actions/item_view.php
и https://github.com /instantsoft/icms2/blob/master/system/core/core.php

  . Заголовок появляется но Дата у всех одна 1970.
Я так понял что $ item [ 'date_last_modified'] пустая она не передается.
Что я не так сделал? Почему эта переменная пустая?
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.