Theme Overrides, Page Cache Issues, and Attribute Sync Problems Affecting My Texas Roadhouse Menu Website

I’m running into several ConcreteCMS issues that are starting to disrupt development on my Texas Roadhouse menu website, and I’m hoping someone here has run into similar problems. The site is built on ConcreteCMS 9, using a custom theme with a few overridden core elements. The first issue I’m seeing is that some block and page template overrides aren’t being detected reliably. For example, I updated a custom page template used for menu item detail pages, but Concrete keeps serving the old version unless I manually clear the cache multiple times. Even after clearing the cache, the updated template sometimes appears for a few minutes and then reverts back. I’m unsure if this is a file system caching issue, OPCache, or something related to Concrete’s full-page caching.

Another problem involves the page cache system itself. Even though I’ve configured the cache settings consistently—full page caching enabled only for public pages and block caching enabled where it makes sense—ConcreteCMS sometimes ignores the cache rules. On some menu pages, the cache expires immediately, causing long load times because those pages pull structured data (prices, ingredients, nutrition tables) from custom attributes. On other pages, the cache persists longer than the TTL I set, which causes outdated menu data to remain visible after updates. This inconsistency makes it difficult to maintain accurate menu information.

I’m also dealing with attribute sync issues. My site relies heavily on custom page attributes for Texas Roadhouse menu items, including price, calorie count, ingredients, and category tags. Lately, when I update attributes in the dashboard, the front-end doesn’t always reflect the changes until I manually resave the page or clear the attribute cache. In some cases, the attributes save correctly in the database but don’t propagate to the blocks that reference them. I’ve checked the block templates and the attribute handles, and everything appears correct. This makes me wonder whether the attribute cache is getting corrupted or if some kind of partial page caching layer is interfering.

I’ve also noticed some strange behavior with the sitemap and page indexing. When I publish a new menu category or add new menu items, they don’t always appear in the sitemap immediately, and automated jobs don’t seem to pick them up consistently. This also affects search indexing—Concrete’s built-in search sometimes ignores new pages entirely until I manually run the indexing job. Because my website publishes menu updates frequently, having unreliable indexing is becoming a real problem.

Another odd issue occurs with my custom blocks. I built several blocks for rendering nutritional data and pricing tables. These blocks worked fine for months, but recently, adding or editing them sometimes triggers a “Call to a member function … on null” error, even though the data sources exist and are valid. After refreshing the page, the block usually loads fine. This inconsistency makes debugging nearly impossible because the error doesn’t always reproduce. I’m unsure if this is related to the block controller, caching, or something deeper in the Concrete block lifecycle.

Overall, I’m trying to determine whether these issues are caused by caching misconfigurations, theme override conflicts, database indexing problems, or a deeper problem with ConcreteCMS 9 itself. I’ve already tried clearing caches, disabling OPCache temporarily, checking filesystem permissions, and updating Concrete to the latest patch version. If anyone has dealt with unreliable page caching, attribute propagation issues, or inconsistent theme overrides, I’d really appreciate any insights. This Texas Roadhouse menu website depends on accurate and timely updates, and I need to get ConcreteCMS back to a stable and predictable state. Sorry for long post!

Have you disabled overrides cache: Dashboard > System & Settings > Optimization > Cache & Speed Settings. Until this is turned off Concrete CMS won’t look in the application directory unless it knows it has a file in there.

1 Like