Muy buenas, estoy haciendo pruebas con Smarty, pero estoy atascado en algo sencillo en teoría.
Mi idea es crear un archivo setup.php (fuera del directorio html) en el que se incluyen otros archivos comunes a todas las páginas como el de conectar a la bd, la autenticación y lo siguiente respecto a Smarty:
Código PHP:
// smarty
define('SMARTY_DIR',"/Smarty/");
require_once(SMARTY_DIR.'Smarty.class.php');
// extendemos la clase
class mySmarty extends Smarty {
function mySmarty() { // constructor
$this->template_dir = SMARTY_DIR."templates/";
$this->compile_dir = SMARTY_DIR."templates_c/";
$this->caching = false;
} // end constructor
} // end mySmarty
// creamos el nuevo objeto
$smarty = new mySmarty();
Ok, el caso es que si desde el propio setup.php intento mostrar una plantilla (para probar que funciona bien) va de lujo, el problema viene cuando quiero empezar a trabajar de verdad.
En otro archivo (ya en el directorio html) intento hacer lo siguiente:
Código PHP:
include("../../../data/setup.php");
$smarty->display('admin_index.tpl');
Pues me tira el siguiente error:
Cita: Fatal error: Failed opening required '/Smarty/core\core.get_include_path.php' (include_path='.;c:\php4\pear') in F:\www\eco\data\Smarty\Smarty.class.php on line 1781
Atención a la barra "\" que hay justo antes del archivo que quiere incluir. He probado a reinstalarla, y nada. Además, ya digo, que probando desde el propio setup.php funciona perfectamente.
Estoy con Apache + WinXP, + php 4.x y no tengo ni idea de por qué no rula.
Alguna idea feliz, please? Gracias.