Russian TYPO3 community Форум больше не используется. Присоединяйтесь к каналу #community-ru в Slack for TYPO3 community  

Вернуться   Russian TYPO3 community > Обсуждение общих технических вопросов > Общие вопросы

Ответ
 
Опции темы Опции просмотра
Старый 22.11.2007, 17:17   #1
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Цитата:
Сообщение от razawa Посмотреть сообщение
Но, если я на страницу захожу без параметров mon и day - мне нужно найти последнюю имеющуюся комбинацию этих параметров, что я и делаю.
Но как привязать найденные mon и day к кешированию...? В основном люди будут заходить на страницу именно только по id=258, чтобы прочитать последнее поступление.
Странный подход, мне кажется Вы слишком усложняете вашу задачу...
Что мешает на странице без параметров вывести только последние поступления (отобрав последние записи по дате из БД) ?

При этом кэширование страницы настроить на определенный срок - 1 час, 3 часа и т.п. (по умолчанию кэш храниться 24 часа). И каждые Х часов у вас будет новая кэшированная страница с последними "новостями".

И вообще, посмотрите как работают другие подобные плагины и почитайте доки по их разработке. Мне кажется вы не используете массу возможностей typo3, а копаете глубоко, но не туда.
dmartynenko вне форума   Ответить с цитированием
Старый 22.11.2007, 17:38   #2
razawa
Senior Member
 
Регистрация: 02.03.2007
Адрес: Украина, Дружковка
Сообщений: 128
Отправить сообщение для razawa с помощью ICQ
По умолчанию

Цитата:
Сообщение от dmartynenko Посмотреть сообщение
Странный подход, мне кажется Вы слишком усложняете вашу задачу...
Та "усложняю" - не то слово :-)

Последнее то я получу. Но оно ведь позже потеряется, у него нет cHash
Я предполагал что сделать. Сверху страницы форма с выбором даты (день/месяц/год/номер выпуска). Ниже - текст последнего поступления.
При выборе даты - передаются _GET
Можно кешировать и каждые 4 часа.
Тогда встречный вопрос. А как мне из формы передавать значения cHash, чтобы правильно организовать ссылку? Или это не обязательно? Просто указать cHash=1?
Или Crawler мне поможет? (вспомнил про него). Вот. Наверное нужно его натравить.

Цитата:
Сообщение от dmartynenko Посмотреть сообщение
И вообще, посмотрите как работают другие подобные плагины и почитайте доки по их разработке. Мне кажется вы не используете массу возможностей typo3, а копаете глубоко, но не туда.
та залез на свою голову :-) Впервые решился заняться программированием под Typo3 и залез :-)
razawa вне форума   Ответить с цитированием
Старый 22.11.2007, 22:15   #3
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Цитата:
Сообщение от razawa Посмотреть сообщение
Тогда встречный вопрос. А как мне из формы передавать значения cHash, чтобы правильно организовать ссылку? Или это не обязательно? Просто указать cHash=1?
PHP_CONTENT - это не то. Делайте свой плагин через kickstarter.

Обычно плагины наследуются от класса tslib_pibase
В нем много функций вида pi_link***, которые как раз и предназначены для формирования "правильных" ссылок.
При указании параметра $cache=1 будет добавляться нужный cHash (конечно только в том случае, когда плагин допускает кэширование - но это отдельный разговор - читайте доки так сказать).

Также обычно в формах (типа поиска) делается скрытое поле no_cache=1. Тогда typo3 не будет кэшировать выдаваемую страницу и контент отобразиться нужный.

Как в форме выбирать ссылки правильно сгенеренные pi_link* - это скорее вопрос правильно организации программы, а не такого хака typo3.

В вашем случае можно делать выбор даты не в select-ах формы (это ж не удобно!), а в виде календарика.
dmartynenko вне форума   Ответить с цитированием
Старый 23.11.2007, 09:51   #4
razawa
Senior Member
 
Регистрация: 02.03.2007
Адрес: Украина, Дружковка
Сообщений: 128
Отправить сообщение для razawa с помощью ICQ
По умолчанию

Я бы не назвал это Плагином :-) Просто небольшой скрипт, который к тому же не работает с базой данных, а работает с файлами.
Скрипт мой наследует tslib_pibase, но pi_link*** - на сколько я понял, организовывают ссылку уже внутри скрипта, но у меня сразу выдается содержимое. pi_link - действительно можно будет использовать в календарике (это пока только в планах заменить форму на календарик).
Пока решил обойтись Crawler-ом и кешированием через 3-4 часа. Но тут есть несколько моментов: новые данные могут поступить и через 3 часа (чаще - уж врядли), но и через 2 недели. И кеширование страницы каждые 3 часа может быть впустую (а это минимум 250 кБт). И второе - научить неподготовленных пользователей работе с Crawler, это будет самое сложное :-)
А вот если бы сразу системе определить и передать cHash, чтобы она с ним проиндексировалась - это было бы решение проблемы. Я пока еще буду биться :-)

Вчера, ради интереса, вспомнил и попробовал с 10-к других CMS - всетаки как Typo3 отличается от них. Я теперь на 200% уверен в своем выборе :-)
razawa вне форума   Ответить с цитированием
Старый 23.11.2007, 15:08   #5
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Цитата:
Сообщение от razawa Посмотреть сообщение
Пока решил обойтись Crawler-ом и кешированием через 3-4 часа. Но тут есть несколько моментов: новые данные могут поступить и через 3 часа (чаще - уж врядли), но и через 2 недели. И кеширование страницы каждые 3 часа может быть впустую (а это минимум 250 кБт).
Перегенерация страницы каждые 3 часа вряд ли создаст серьезную нагрузку на сервер - этим можно пренебречь.
Также можно настроить кэширование на много дней, а при поступлении новых данных очищать кэши для нужных страниц.

Цитата:
Сообщение от razawa Посмотреть сообщение
А вот если бы сразу системе определить и передать cHash, чтобы она с ним проиндексировалась - это было бы решение проблемы. Я пока еще буду биться :-)
Этот "хак" вряд ли сработает. TYPO3 делает выборку из кэша до того, как будут выполнены ваши скрипты. Поэтому программно добавить cHash уже на этапе генерации страницы ничего не даст в плане работы кэширования.
dmartynenko вне форума   Ответить с цитированием
Ответ

Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB code is Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 11:04.


Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot

Хостинг и техническая поддержка: TYPO3 Лаборатория