Description:
When loading a banner module inside an article using the loadposition syntax, the banner is not rotating. The banner module is pointing to a category with multiple banners. The cache field on the module is set to No Caching on the advanced tab. When loading the article the module gets cached along with com_content, therefore is not rotating when the page reloads. The module rotates is com_content cache is cleaned on the backend.
Settings:
Global Configuration -> System -> Cache setting is set to ON - Conservative Caching
The Joomla plugin System - Page Cache is disabled
The module has the setting Advanced -> Caching set to No caching
version: Joomla! 3.4.1
PHP version: 5.3.29
Database: 5.5.42-cll
Steps to reproduce.
1 - Create a banner category
2 - Add multiple banners to the banner category
3 - Create a banner module pointing to the banner category created on step 1
4 - Set the module Randomise field to "Pinned, Randomise"
5 - Set the module cache to "no cache"
6 - Set the module position to a custom position
7 - Create a new article and embed the module created on step 3 using loadposition syntax
8 - Load the article on the frontend
9 - A banner will appear
10 - Reload the page and the same banner will appear
11 - On the backend clean cached related with com_content
12 - Reload the page on the frontend and the banner will randomise
References:
https://www.ostraining.com/support-forum/joomla-support/joomla-caching-embedded-module/#110487
http://forum.joomla.org/viewtopic.php?f=708&t=883825
Category | ⇒ | Cache Front End |
@OctavianC said true,
I think it is expected behavior, in current case the module it is part of the article, and if article is cached then all additional content of the article also cached
solution: do not use loadposition
for the banner module if you have cache enabled, and make additional position for the module in your template
Thank you for your input, gentlemen! As a suggestion, can a feature where cache for an individual article is enabled/disabled be implemented?
I think there's a number of extensions (plugins) that are doing this already, although I'd love to see it in the core as well.
Based on the comments above I am closing this issue at this time as expected behaviour
Status | New | ⇒ | Expected Behaviour |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2015-06-17 21:55:03 |
Closed_By | ⇒ | brianteeman |
I don't think that this is something that can be solved. Basically you want to cache the whole article without caching parts of the article. Think of it as a nested pattern - the top parent will always have precedence over its children (the article is set to be cached, which it does, but in turn the module output gets cached as well so it doesn't get a chance to run a second time).