From 2c6235f9d85d25da17a0c4b081a239425270f461 Mon Sep 17 00:00:00 2001 From: micmania1 Date: Mon, 12 Aug 2013 15:51:25 +0100 Subject: [PATCH 1/2] Altered getExcerpt to Excerpt so that params are passed where previously lost in magic methods --- model/BlogPost.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/model/BlogPost.php b/model/BlogPost.php index 3fb71ff..e4d6942 100755 --- a/model/BlogPost.php +++ b/model/BlogPost.php @@ -131,7 +131,7 @@ class BlogPost extends Page { * * @return string **/ - public function getExcerpt($wordCount = 30) { + public function Excerpt($wordCount = 30) { return $this->dbObject("Content")->LimitWordCount($wordCount); } From a556742fd956b2a3cdb1bb7dd04380cf6b6fdbd5 Mon Sep 17 00:00:00 2001 From: micmania1 Date: Fri, 23 Aug 2013 16:22:13 +0100 Subject: [PATCH 2/2] Add lazy load fix --- extensions/BlogPostFilter.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/extensions/BlogPostFilter.php b/extensions/BlogPostFilter.php index 1941caa..a548980 100755 --- a/extensions/BlogPostFilter.php +++ b/extensions/BlogPostFilter.php @@ -17,4 +17,16 @@ class BlogPostFilter extends DataExtension { } + /** + * This is a fix so that when we try to fetch subclasses of BlogPost, + * lazy loading includes the BlogPost table in its query. Leaving this table out + * means the default sort order column PublishDate causes an error. + **/ + public function augmentLoadLazyFields(SQLQuery &$query, &$dataQuery, $parent) { + + // Ensures that we're joining the BlogPost table which holds required db fields. + $dataQuery->innerJoin("BlogPost", "`SiteTree`.`ID` = `BlogPost`.`ID`"); + + } + } \ No newline at end of file