2014-11-20 6 views
0

Я недавно портировал пользовательское расширение Joomla на 3.3.x, которое я изначально написал для версии 1.3, и уже много лет работает на 2.x.Joomla 3.3 Пользовательское расширение, разрешающее кеш браузера

Это стандартное расширение, которое представляет список записей, которые показывают различные поля для каждой записи. Пользователь нажимает на один и форму, отображающую перечисленные поля и другие. Пользователь обновляет значения и щелкает «Сохранить и закрыть». Запись сохраняется правильно, но браузер не обновляет предыдущую страницу, а просто повторно отображает оригинал. Следствием этого является то, что Пользователь считает, что он не сработал, второй раз щелкнул по указанной записи и приносит форму с правильными (как в обновленной в первой попытке) значениями. Теперь разочарованный пользователь обвиняет программиста.

По очень хорошим и неизбежным причинам, в то же время я портировал сайт на Joomla 3.3, мне также пришлось переместиться с собственного управляемого сервера на размещенный в Zen. У меня есть несколько других клиентов на Zen, и я не испытывал этой проблемы, поэтому я подозреваю, что мой пользователь прав, чтобы обвинить программиста.

Я не могу найти ничего, относящегося к кешированию и пользовательским расширениям, а настройки сайта для кеша отключены. Шаблон использует плагин JAT3, но сделал это в течение как минимум четырех лет. Это обновление стало частью обновления Joomla.

ответ

0

Шаблоны, использующие плагин JAT3, используют собственный кеш. Вы можете проверить их настройки, если кеш включен или нет. Еще одна вещь, которую вы должны проверить, - error_log.

+0

HI, я попытался сменить шаблон на плагин не JAT3, и проблема исчезла. В настройках было указано, что кеш отключен, но это, похоже, проблема. Спасибо за помощь. – Nick

1

Я не уверен, что вы видите поражение браузера или сервера. В любом случае решение довольно просто: добавьте случайное число в запрос POST формы или, если контроллер выполняет перенаправление, добавьте также случайный параметр.

Я знаю, что это не чисто, но это простой и эффективный способ обойти чрезмерное кэширование.

Если вы можете указать правильный заголовок expire в своем компоненте, вы также можете решить проблему; но я не знаю о реализации кэша T3, за исключением того, что однажды у меня было плохое время.

+0

Я очень благодарен за предложение случайного в ПОСТ. Я могу видеть множество других ситуаций, где это тоже было бы полезно! – Nick

Смежные вопросы