Mam problem z systemem szablonów Smarty.
[Odnosnie Smarty, to nie wiem, czy nie zrezygnowac z tego. Nie zachwycilo mnie.]
Uproscilem problem, czyszczac go z wszystkiego, co niepotrzebne.

Oto katalogi/pliki:

|- smarty (katalog z calym silnikiem smarty)
|- templates (katalog z napisanymi przeze mnie szablonami)
|   |- 1 (katalog)
|   |   |- a.tpl (plik)
|   |- 2 (katalog)
|       |- a.tpl (plik)
|- templates_c (katalog do przechowywania skompilowanych przez smarty szablonow)
|- 1.php
|- 2.php

Zawartosc plikow:
a.tpl z katalogu templates/1:
  1. <?php
  2. Plik a.tpl z katalogu 1
  3. ?>

a.tpl z katalogu templates/2:
  1. <?php
  2. Plik a.tpl z katalogu 2
  3. ?>

1.php:
  1. <?php
  2. require('./smarty/Smarty.class.php'); //dolaczam biblioteke smarty
  3. $tpl = new Smarty; //nowy objekt smarty
  4. $tpl -> template_dir = './templates/1'; //definiuje katalog z szablonami
  5. $tpl -> compile_dir = './templates_c/'; //definiuje katalog dla skompilowanych szablonow
  6. $tpl -> display('a.tpl'); //wyswietl szablon a.tpl
  7. ?>

2.php:
  1. <?php
  2. require('./smarty/Smarty.class.php');
  3. $tpl = new Smarty;
  4. $tpl -> template_dir = './templates/2';
  5. $tpl -> compile_dir = './templates_c/';
  6. $tpl -> display('a.tpl');
  7. ?>

Uruchomienie 1.php powinno wyswietlic: Plik a.tpl z katalogu 1.
Uruchomienie 2.php powinno wyswietlic: Plik a.tpl z katalogu 2.
Niestety, tak sie nie dzieje sad.gif

Uruchamiajac 1.php jest OK, ale uruchamiajac 2.php wyswietla mi sie to samo, co przy 1.php.
Po usunieciu plikow wygenerowanych przez smarty w katalogu compile_dir, tzn z templates_c, uruchomienie 2.php jest OK, ale juz 1.php jest zle (czyli pierwsze wywolanie jest dobre, a drugie juz nie).
Czy jest jakas elegancka metoda na przezwyciezenie tego problemu bez koniecznosci uswania skompilowanego szablonu przed uruchomieniem polecenia $tpl->display?

___________________________________________________________________
Juz wiem smile.gif smile.gif
Po prostu wszedzie tam, gdzie definiuje sie template_dir jako './templates/jakiskatalog';
powinno sie tez zdefiniowac katalog compile_dir  jako './templates_c/jakiskatalog'.
No i oczywiscie stworzyc w /templates_c katalog jakiskatalog

Teraz juz dziala smile.gif