рдХреЛрд╣рдирд╛ 3 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рд╕рд░рд▓ рдЯреЗрдореНрдкрд▓реЗрдЯ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдЖрдпреЛрдЬрди

рдЖрдкрдХрд╛ рджрд┐рди рд╢реБрдн рд╣реЛ!



рдмрд╣реБрдд рдкрд╣рд▓реЗ рдирд╣реАрдВ, рдореИрдВрдиреЗ рдЕрдкрдиреЗ рдкрд░рд┐рдЪрд┐рддреЛрдВ рдХреЛ рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд┐рдпрд╛ рдФрд░ рддреБрд░рдВрдд рд╕рд╡рд╛рд▓ рдЖрдпрд╛ - рдХреИрд╕реЗ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕ рдХрд╛ рдПрдХ рд╕рд░рд▓ рдкрд░рд┐рд╡рд░реНрддрди рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░реЗрдВ рддрд╛рдХрд┐ рдХрд┐рд╕реА рднреА рд╕рдордп рдЖрдк рдЯреЗрдореНрдкрд▓реЗрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдПрдХ рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ, рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рджрд░реНрдж рд░рд╣рд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдХреЛрд╣рдирд╛ 3 рдореЗрдВ (рджреБрд░реНрднрд╛рдЧреНрдп рд╕реЗ, рдореИрдВ рдЕрдиреНрдп рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рдирд╣реАрдВ рдХрд╣ рд╕рдХрддрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдЙрдирдХреЗ рд╕рд╛рде рдХреЗрд╡рд▓ рд╕рддрд╣реА рд░реВрдк рд╕реЗ рдХрд╛рдо рдХрд┐рдпрд╛ рд╣реИ), рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕рднреА рджреГрд╢реНрдп рдлрд╝рд╛рдЗрд▓реЗрдВ рджреГрд╢реНрдп рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╣реИрдВ (рдЖрдЦрд┐рд░рдХрд╛рд░, рдЯреЗрдореНрдкрд▓реЗрдЯ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд▓рд┐рдП рд╕рд░рд▓ рдФрд░ рдЕрдзрд┐рдХ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рд╣реИрдВ), рд▓реЗрдХрд┐рди рджреВрд╕рд░реЗ, рджреГрд╢реНрдп рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ рд╡рд╛рдВрдЫрд┐рдд рджреГрд╢реНрдп рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рддрдВрддреНрд░ рдирд╣реАрдВ рд╣реИ (рдЗрд╕реЗ рд╕реАрдзреЗ рдХрдиреЗрдХреНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝рдХрд░)ред рдЦреИрд░ - рдЕрдм рдореИрдВ рдЖрдкрдХреЛ рдпрд╣ рдмрддрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдХрд┐ рдЗрд╕реЗ рдХреИрд╕реЗ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рдПред рдЙрдкрдпреЛрдЧ рдХреА рдЧрдИ рд░реВрдкрд░реЗрдЦрд╛ рдХрд╛ рд╕рдВрд╕реНрдХрд░рдг 3.0.7 рд╣реИ, рдЬреЛ рдЗрд╕ рд╕рдордп рдирд╡реАрдирддрдо рд╣реИред

рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред



рджреГрд╢реНрдпреЛрдВ рдХреЗ рдмрдЬрд╛рдп рдЯреЗрдореНрдкрд▓реЗрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛



рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, Kohana_View рдлрд╝рд╛рдЗрд▓ рдХреЛ рджреЗрдЦреЗрдВ, рдЬрд┐рд╕реЗ рд╡реНрдпреВ рдбрдореА рд╡рд░реНрдЧ рджреНрд╡рд╛рд░рд╛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИред рд╡рд░реНрдЧ рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИ, рд▓реЗрдХрд┐рди set_filename () рдлрд╝рдВрдХреНрд╢рди рд╣рдорд╛рд░реЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд░реБрдЪрд┐ рд░рдЦрддрд╛ рд╣реИ - рдпрд╣ рдЗрд╕рдореЗрдВ рд╣реИ рдХрд┐ рдпрд╣ "рд╣рд╛рд░реНрдб" рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ рдЬрд╣рд╛рдВ рджреЗрдЦреЗрдВ рдлрд╝рд╛рдЗрд▓ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП:

public function set_filename($file)

{

if (($path = Kohana::find_file('views', $file)) === FALSE)

{

throw new Kohana_View_Exception('The requested view :file could not be found', array(

':file' => $file,

));

}



// Store the file path locally

$this->_file = $path;

return $this;

}






рдЪрд▓рд┐рдП рдЕрдм Kohana_View рдХреЛ рдЗрдирд╣реЗрд░рд┐рдЯ рдХрд░рдХреЗ рд╣рдорд╛рд░рд╛ рдЦрд╛рдХрд╛ рддреИрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ set_filename рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдереЛрдбрд╝рд╛ рдмрджрд▓рддреЗ рд╣реИрдВ:

public function set_filename($file)

{

$folder = 'templates/'.self::get_name();

if (($path = Kohana::find_file($folder, $file)) === FALSE)

{

throw new Kohana_View_Exception('The requested layer :file could not be found', array(

':file' => $file,

));

}



// Store the file path locally

$this->_file = $path;



return $this;

}






рдПрдХ рд╕реНрдерд┐рд░ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдЕрдкреАрд▓ рдЬреЛ рдореВрд▓ рд╡рд░реНрдЧ рдореЗрдВ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИ - рд╕реНрд╡рдпрдВ :: get_name () - рдпрд╣рд╛рдВ рдлреНрд▓реИрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЕрдм рдЗрд╕реЗ рд▓рд┐рдЦрддреЗ рд╣реИрдВред рдЗрд╕рдХрд╛ рдХрд╛рд░реНрдп рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛ (рдпрд╣ рд╕рд┐рд░реНрдл рдореЗрд░рд╛ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдпрд╣рд╛рдВ рд╣рд░ рдХреЛрдИ рдЗрд╕реЗ рдЕрдкрдиреЗ рд▓рд┐рдП рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИ) рд╕рд╛рдЗрдЯ рдкрд░ рд╕реНрдерд╛рдкрд┐рдд рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдирд╛рдоред

public static function get_name()

{

$template = DB::select('value')

->from('config')

->where('key', '=', 'template')

->limit(1)

->execute()

->current();

return $template['value'];

}






рдЕрдм, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рд╣рдо рдЖрд╕рд╛рдиреА рд╕реЗ рдЯреЗрдореНрдкрд▓реЗрдЯ :: get_name () рд╕реЗ рд╕рдВрдкрд░реНрдХ рдХрд░рдХреЗ рд╡рд░реНрддрдорд╛рди рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдирд╛рдо рдкрддрд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╢реБрд░реБрдЖрдд рдореЗрдВ, рдирд╛рдо рдХреЛ рдПрдХ рд╕реНрдерд┐рд░ рдЪрд░ рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЕрднреНрдпрд╛рд╕ рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдРрд╕рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрднреА-рдХрднреА рд▓рд╛рдЧреВ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЗрд╕реЗ рд╡рд┐рдХреГрдд рдХрд░рдирд╛ рдЙрдЪрд┐рдд рдХрд▓рд╛ рдХреЗ рд╕рд╛рде рдЖрд╕рд╛рди рд╣реИ)ред



рд╕реВрдЪреА рдХреЗ рдиреАрдЪреЗ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдХрд╛рд░рдЦрд╛рдирд╛ рд╣реИ - рдХреЛрдИ рддрд╛рдордЭрд╛рдо рдирд╣реАрдВ:

public static function factory($file = NULL, array $data = NULL)

{

return new Template($file, $data);

}






рд╡рд╣ рд╕рдм, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ - рдЯреЗрдореНрдкрд▓реЗрдЯ рдлрд╝рд╛рдЗрд▓ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдИ рд╣реИ, рдЖрдк рдЗрд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди / рдХреНрд▓рд╛рд╕реЗрд╕ / рдЯреЗрдореНрдкрд▓реЗрдЯ.php рдХреЗ рд░реВрдк рдореЗрдВ рд╕рд╣реЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ



рдЕрдкрдирд╛ рдирд┐рдпрдВрддреНрд░рдХ_Template рд▓рд┐рдЦрдирд╛



рдЕрдм рдлреНрд░реЗрдорд╡рд░реНрдХ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд Kohana_Controller_Template рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдорд╛рд░реЗ рдирд┐рдпрдВрддреНрд░рдХ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рд▓рд┐рдЦреЗрдВред

class Controller_Template extends Controller{



/**

* @var string template layer

*/

public $layer = 'index';



/**

* @var boolean auto renders template

*/

public $auto_render = TRUE;



/**

* Loads the template object (Template instance)

*/

public function before()

{

if($this->auto_render === TRUE)

{

$this->template = Template::factory($this->layer);

return parent::before();

}



/**

* Assigns the template as the request response.

*/

public function after()

{

if($this->auto_render === TRUE)

{

$this->request->response = $this->template;

}

return parent::after();

}

}








рдЕрдм, рдорд╛рди рд▓реЗрдВ рдХрд┐ рдЬрдм рдПрдХ рдкреНрд░рд╛рдзрд┐рдХрд░рдг рдирд┐рдпрдВрддреНрд░рдХ рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реИ рдЬреЛ рдПрдХ рдЕрд▓рдЧ рд▓реЗрдпрд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ / [template_name] /auth.php рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдЧрд╛, рддреЛ рдЙрд╕реЗ рдХрдВрдЯреНрд░реЛрд▓рд░ рд╕реЗ рд▓реЗ рдЬрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдЧрд╛ рдФрд░ рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ

рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ $ рдкрд░рдд = 'рд╡рд┐рд╢реЗрд╖рд╛рдзрд┐рдХрд╛рд░';



рд╡рд╣, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рдм рд╣реИред



рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреА рдЕрдЧрд░ рдореЗрд░рд╛ рд▓реЗрдЦ рдХрд┐рд╕реА рдХреА рдорджрдж рдХрд░реЗред рдореБрдЭреЗ рдХрд┐рд╕реА рднреА рд╕реНрд╡рд╕реНрде рдЖрд▓реЛрдЪрдирд╛, рдкреНрд░рд╢реНрди, рдЯрд┐рдкреНрдкрдгреА рдкрд░ рдЦреБрд╢реА рд╣реЛрдЧреА ... рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдореИрдВрдиреЗ рдЙрдирдХреА рдЦрд╛рддрд┐рд░ рд▓рд┐рдЦрд╛ рдерд╛ред :)

рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред



All Articles