phpdatetimeamp-htmlamp-list

amp-list for events with a datetime


I have recently build an site in amp. Most things are working really nicely except I am having an issue with caching.

I have a list of events which comes from a DB in php. Each event has a datetime and then list is ordered by this field. What is happening now is the page is caching on mobile for days, so it shows old events if you have been to the page already.

I started to look at amp list and creating json, but with the limitations of mustache being logicless I couldn't work out a way to only show events in the future.

Does anyone know if this is at all possible?

Thanks in advance

Richard


Solution

  • Two options:

    1. Serve your documents with a lower max-age caching header to ensure that the AMP Cache does not show stale data (the minimum value is 15s). Read more about this in the AMP Cache documentation.
    2. When using amp-list, you should filter the events server-side with every request to only show the ones that are still in the future.

    My recommendation would be option 1 as it avoids the additional complexity and provides a better user experience (content is directly rendered without having to make a second request to pull in content via amp-list).