Fórumok

[Mobile Device Detection] Execute a rule multiple times on public pages

Frank Walter, módosítva 11 év-val korábban

[Mobile Device Detection] Execute a rule multiple times on public pages

New Member Bejegyzések: 5 Csatlakozás dátuma: 2009.09.04. Legújabb bejegyzések
Hello,

i created a hook to add my own mobile device detection rule and action. I configured a page to use them and so far everything works great when i am logged in. Every time i refresh the page the rule and the action are getting executed.

But if i access the page as a guest user, they only get executed once and if i refresh the page or click on another page and return they are being ignored.
I am reading some cookie information in the action to change things depending on the values there. So i need it to get them executed every time.


Does anybody know if there is a configuration for this behavior? If not could you tell me what i have to modify to get it work like in the case when a user is logged in?

Thanks!
Frank Walter, módosítva 11 év-val korábban

RE: [Mobile Device Detection] Execute a rule multiple times on public pages

New Member Bejegyzések: 5 Csatlakozás dátuma: 2009.09.04. Legújabb bejegyzések
So the problem was the com.liferay.portal.servlet.filters.cache.CacheFilter.

It checks if a user is logged in or if there are any portlets on the page that don't have the <layout-cacheable>true</layout-cacheable> attribute configured in liferay-portlet.xml.

My public pages didn't have any portlets so i attached one on every page and now it works.
thumbnail
Juan Gonzalez P, módosítva 11 év-val korábban

RE: [Mobile Device Detection] Execute a rule multiple times on public pages

Liferay Legend Bejegyzések: 3089 Csatlakozás dátuma: 2008.10.28. Legújabb bejegyzések
Hi Frank,

Thanks for sharing the solution, but, what do you mean by "attach one on every page"?


Thanks again!
Frank Walter, módosítva 11 év-val korábban

RE: [Mobile Device Detection] Execute a rule multiple times on public pages

New Member Bejegyzések: 5 Csatlakozás dátuma: 2009.09.04. Legújabb bejegyzések
Just add it to a page (into a layout template column).

The CacheFilter iterates through the first 10 columns so i think it wouldnt work if you would integrate a portlet directly into a template.