rjgamer 13 Posted March 15 Hi, how can I boost up this code in my template? <?php $selector = 'template=game, genre.name=strategy'; ?> <?php foreach ($topics as $topic): ?> <!-- ~50 topics --> <?php $count = pages()->count($selector . ', topics.name=' . $topic->name) ?><!-- more than 1000 games --> <!-- My awesome super stuff with $count --> <?php endforeach ?> I've three similar queries of the code above in a template and it slows down the page load ~2secs. How can I boost up the count query? Thanks Share this post Link to post Share on other sites
WillyC 782 Posted March 15 how.abt u use $cache 2 do jus do it. 1once per hour ? echo $cache->get('topic-count', 3600, function() use($topics) { $str = ''; $strategy = pages()->get("template=genre, name=strategy"); foreach($topics as $topic) { $count = pages()->count("template=game, genre=$strategy, topic=$topic"); $str .= "<li>$topic->title: $count games</li>"; } return $str; }); also.2 make faster u better should uses "id" not name, so "topics" no 'topics.name' and "genre" not genre.name etc. othrwis pw have to look those up for u (?) every time of foreach @rjgamer 2 Share this post Link to post Share on other sites
rjgamer 13 Posted March 16 Thank you. It looks like that to cache the HTML output is the only solution. Strange is, that the cache offers a renderFile method. But I dont get it to work to render a partial (site/templates/partials/foo/bar.php). Does anybody have a working example? Share this post Link to post Share on other sites