/** * Overload Sprig::__get() to get * - permalink URLs * - associated category URL * - tag list (with URLs) * - article excerpt */ public function __get($name) { if ($name == 'permalink') { $date = date('Y/n/j', $this->date); return Route::get('blog/permalink')->uri(array('date' => $date, 'slug' => $this->slug)); } elseif ($name == 'category_link') { return Route::get('blog/filter')->uri(array('action' => 'category', 'name' => $this->category->load()->name)); } elseif ($name == 'tag_list') { $return = ''; foreach ($this->tags as $tag) { $return .= HTML::anchor(Route::get('blog/filter')->uri(array('action' => 'tag', 'name' => $tag->name)), ucfirst($tag->name)); } return $return; } elseif ($name == 'excerpt') { $text = $this->text; if (strpos($text, '<p>') !== FALSE) { $text = substr($text, strpos($text, '<p>')); } return strip_tags(Text::limit_words($text, 100, '...')); } else { return parent::__get($name); } }