How do you go about caching only *parts* of a webpage? I've heard this is possible, but admittedly haven't put much time into thought on how this might be done. I've always seen Smarty as either a all or nothing caching solution.
Meaning, you cache the entire page (when feasable) or not at all, in the case of dynamic web applications. For instance, you would never cache a FORM because it's field data is changed constantly.
AJAX is a solution to this problem as it allows you to possibly cache a FORM and fill it's dynamic contents using AJAX...but I'm curious, what kind of caching techniques have you employed using Smarty or not (just in general) at the PHP level (Squid, etc not needed).
I once considered implementing an event based cache system where by everything was cached as a static page, only when that pages associated datasources changed, did the template get re-generated. This system made awesome sense in theory but it turned out to be more complicated to implement than I thought.
Thoughts?