Damian Nowak is a CEO at Virtkick. He's a Ruby coder, an Arch Linux hacker, and drinks good beer.

Integracja Open Power Template z KohanaPHP frameworkMay 2008

Są dwa sposoby, aby zintegrować system szablonów OPT z frameworkiem Kohana. Pierwszy, łatwiejszy i zarazem bardziej elegancki, nie wymaga żadnych modyfikacji w OPT.

Należy ściągnąć OPT i umieścić go w katalogu system/vendor/opt. Tworzymy również katalog application/templates, a w nim katalogi _compile oraz _cache.

Poniżej prezentuję zaś kod, który zmusi nasz OPT do działania:

define ('OPTDIR', SYSPATH .'vendor/opt/'); require (SYSPATH .'vendor/opt/opt.class.php'); $this->opt = new OptClass; $this->opt->root = APPPATH .'templates/'; $this->opt->compile = APPPATH .'templates/compile/'; $this->opt->cache = APPPATH .'templates/cache/'; $this->opt->plugins = OPTDIR .'plugins/';

I od tegoż momentu możemy już korzystać z naszego $this->opt.

Drugi sposób na uruchomienie Open Power Template z KohanaPHP to taka modyfikacja OPT, aby był częścią frameworka (dokładniej: biblioteką). Zaletą takiego rozwiązania jest to, że nie trzeba niczego “require'ować” (wystarczy tylko $this->opt = new Opt;). Utrudnieniem są jednak aktualizacje OPT - trzeba na nowo modyfikować pliki. Poniżej przedstawiam rozwiązanie krok po kroku:

  1. Rozpakować wszystkie pliki oprócz opt.class.php do system/libraries/opt
  2. Rozpakować plik opt.class.php w system/libraries i nadać mu nazwę Opt.php (z wielkiej litery)
  3. Linie 69-72: { define('OPTDIR', './'); } zamienić na: if(!defined('OPTDIR')) { $docroot = pathinfo(strreplace('\', '/', realpath(FILE))); define('OPTDIR', $docroot['dirname']. '/opt/'); }
  4. Linia 144: class optClass zamienić na class OptCore
Tak, jak w pierwszym rozwiązaniu, muszą oczywiście istnieć katalogi application/templates/compile oraz _cache.

Takim sposobem posiadamy rozbudowany system szablonów OPT w frameworku Kohana.

  1. Open Power Template - oficjalna strona
  2. Open Power Template - Wikipedia
  3. KohanaPHP framework

Damian Nowak
CEO & Ruby Developer