{"id":502,"date":"2011-12-13T01:04:16","date_gmt":"2011-12-13T09:04:16","guid":{"rendered":"http:\/\/blog.portnumber53.com\/?p=502"},"modified":"2011-12-13T01:04:16","modified_gmt":"2011-12-13T09:04:16","slug":"kohana-3-1-x-common-controller-step-2","status":"publish","type":"post","link":"https:\/\/blog.portnumber53.com\/index.php\/2011\/12\/13\/kohana-3-1-x-common-controller-step-2\/","title":{"rendered":"Kohana 3.1.x: Common controller [step 2]"},"content":{"rendered":"<p>Define parent controller:<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<pre>&lt;?php defined('SYSPATH') or die('No direct script access.');\n\nclass Controller_Common_Content extends Controller_Template {\n\n public $template\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = '';\n public $template_name\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = 'default';\n public $layout\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = 'default';\n\n public $save_auto_render\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = null;\n\n public $content\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = '{Do something to generate content}';\n\n public function __construct(Request $request, Response $response) {\n parent::__construct($request, $response);\n\n $this-&gt;session = Session::instance();\n\n }\n\n public function before() {\n\n $this-&gt;save_auto_render = $this-&gt;auto_render;\n $this-&gt;auto_render = false;\n parent::before();\n $this-&gt;auto_render = $this-&gt;save_auto_render;\n\n if ($this-&gt;auto_render) {\n $this-&gt;template = View::factory('template\/' . $this-&gt;template_name . '\/' . $this-&gt;layout)\n -&gt;bind('content', $this-&gt;content);\n\n }\n\n }\n\n public function action_view_html() {\n $path = $this-&gt;request-&gt;param('path');\n\n echo \"PATH: $path\";\n }\n\n public function after() {\n parent::after();\n\n if ($this-&gt;auto_render) {\n } else {\n $this-&gt;response-&gt;headers('content-type', 'application\/json');\n echo json_encode($this-&gt;content);\n }\n\n }\n\n}<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Define parent controller: &nbsp; &nbsp; &lt;?php defined(&#8216;SYSPATH&#8217;) or die(&#8216;No direct script access.&#8217;); class Controller_Common_Content extends Controller_Template { public $template\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = &#8221;; public $template_name\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = &#8216;default&#8217;; public $layout\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = &#8216;default&#8217;; public $save_auto_render\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = null; public $content\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 = &#8216;{Do something to generate content}&#8217;; public function __construct(Request $request, Response $response) { parent::__construct($request, $response);&#8230; <a class=\"continue-reading-link\" href=\"https:\/\/blog.portnumber53.com\/index.php\/2011\/12\/13\/kohana-3-1-x-common-controller-step-2\/\"> Continue reading <span class=\"meta-nav\">&rarr; <\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,18],"tags":[],"class_list":["post-502","post","type-post","status-publish","format-standard","hentry","category-kohana","category-php"],"_links":{"self":[{"href":"https:\/\/blog.portnumber53.com\/index.php\/wp-json\/wp\/v2\/posts\/502","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.portnumber53.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.portnumber53.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.portnumber53.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.portnumber53.com\/index.php\/wp-json\/wp\/v2\/comments?post=502"}],"version-history":[{"count":0,"href":"https:\/\/blog.portnumber53.com\/index.php\/wp-json\/wp\/v2\/posts\/502\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.portnumber53.com\/index.php\/wp-json\/wp\/v2\/media?parent=502"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.portnumber53.com\/index.php\/wp-json\/wp\/v2\/categories?post=502"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.portnumber53.com\/index.php\/wp-json\/wp\/v2\/tags?post=502"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}