Hola amigos he creado un template que contiene una variable que se define en cada controlador que voy creando para la aplicacion, esta variable no hace mas que mostrar el usuario logueado para la sesión y esta ubicado en la cabecera del template. Para definidir esta variable según la vista en la que estará la defino en cada controlador, para los controladores de la clase AppController no tengo mayores inconvenientes:
Por ejemplo:
En PrincipalController, para vista "login" defino la variable directamente así:
<?php
class PrincipalController extends AppController{
public function login(){
View::template('r412');
$this->usuario='iniciar sesión';
if (Input::hasPost("login","password")){
$pwd = Input::post("password");
$usuario=Input::post("login");
$auth = new Auth("model", "class: usuarios", "login: $usuario", "password: $pwd");
if ($auth->authenticate()) {
Router::redirect("saludo/formulario");
}
else {
Flash::error("Falló");
}
}
}
}
?>
En SaludoController, para vista "formulario" defino la variable mediante "if" así:
<?php
class SaludoController extends AppController {
public $limit_params = False;
public function formulario(){
View::select('formulario','r412');
if(Auth::is_valid()){
$this->usuario=Auth::get('login');
}
}
Para ambos casos arriba mencionados es correcto el resultado, pues en la primera vista "login" que es un formulario de inicio de sesion es suficiente el mensaje 'iniciar sesion'; para la segunda vista "formulario", luego de haber iniciado la sesión me muestra el nombre del usuario logueado.
También cree el controlador guiasdeservicio_controller el cual hereda de scaffoldcontroller, Generando los respectivos formularios autogenerados propios de nuestro Framework. Para unificar el diseño de mi aplicación inserto el template 'r412' con 'view::template()' y solo que me quedaria definir la variable del template para las vistas del scalffold la verdad que soy principiante en el manejo de codigo y no encuentro la forma de lograrlo, pues lo intente en muchas maneras y todas me arrojan errores de sintaxis. Necesito obtener como resultado el mismo que para la vista "formulario" en la que me muestre el nombre del usuario logeado sin embargo no logro encontrar el sitio donde debo insertar el código:if(Auth::is_valid()){
$this->usuario=Auth::get('login');
}
Aqui muestro el codigo del controlador guiasdeservicio_controller:
<?php
view::template('r412');
class GuiasdeservicioController extends ScaffoldController {
public $model ='guiasdeservicio';
public $usuario='usuario logueado'; //**puedo incluir solo texto entre comillas en esta linea**//
}
Como verán no logro introducir el condicional "if" que me devuelve el 'usuario logueado' como en la vista "formulario", por favor si alguien me puede ayudar con esto cual deberia ser la sintaxis correcta para lograr mostrar lo indicado.
Saludos
Pp Jaramillo
Comentarios