If your controller code is doing something like this: <?php
session_start(); include_once('MyPHPTAL.php'); $controller = new MyPHPTAL('main-page.xhtml'); $controller->set('other_variables', 2.23); $controller->render(); ?> There shouldn't be a problem at all. Best regards, Levi Stanley Mikael Andersson wrote: > Hi > > Discovered this awesome framework a little while ago, really nice! > > I have created my own MyPHPTAL class in which I add a couple of things > to its context (figured that this would be cleaner that setting them > manually in every php page), works fine except for when I try and add > a custom Class of mine. > > I have this in my constructor (actually the complete class) : > > require_once("globals.php"); > require_once("User.class.php"); > require_once("PHPTAL.php"); > > class MyPHPTAL extends PHPTAL{ > > public function __construct($path=false){ > parent::__construct($path); > > if( isset($_SESSION[USER_OBJ]) ){ > $this->set('user', $_SESSION[USER_OBJ] ); > $this->set('hasUser', true); > } > else{ > $this->set('hasUser', false); > } > > } > > } > > The User class: > > require_once('UserRole.class.php'); > require_once('UserStatus.class.php'); > > class User { > public $id; > public $fName; > public $lName; > //cut > } > > When I reference the user object in my template like this: > > <div tal:content="user/fName" tal:condition="hasUser">The users name</div> > > I get the following error: > > exception 'PHPTAL_Exception' with message 'Unable to find part "fName" > in path "fName" with base "object"' in > C:\wamp\my_includes\PHPTAL\Context.php:357 Stack trace: #0 > C:\Windows\Temp\tpl_1230913754_1_1_14templatehtaf12aceee0491df97ea1590f2eb17e87.php(80): > phptal_path(Object(__PHP_Incomplete_Class), 'fName') > #1 C:\wamp\my_includes\PHPTAL.php(466): > tpl_1230913754_1_1_14templatehtaf12aceee0491df97ea1590f2eb17e87_page_template(Object(MyPHPTAL), > Object(PHPTAL_Context)) > #2 > C:\Windows\Temp\tpl_1230911056_1_1_14loginhtmlfc12130e5db631fadfdd3a92f0355c5d.php(45): > PHPTAL->executeMacro('template.html/p...') > #3 C:\wamp\my_includes\PHPTAL.php(386): > tpl_1230911056_1_1_14loginhtmlfc12130e5db631fadfdd3a92f0355c5d(Object(MyPHPTAL), > Object(PHPTAL_Context)) > #4 C:\wamp\www\login.php(51): PHPTAL->execute() #5 {main} > > > The php page using the MyPHPTAL class is calling session_start() at > the very top. > > Have been googling this and have found some information indicating > that the session might be started before the User class definition is > loaded preventing it from properly unserialize the it from the session. > > I'm more of a Java developer than a PHP one so I'm hoping that you > guys can give me some help :) > > Many thanks, > Micke > ------------------------------------------------------------------------ > > _______________________________________________ > PHPTAL mailing list > PHPTAL@lists.motion-twin.com > http://lists.motion-twin.com/mailman/listinfo/phptal >
_______________________________________________ PHPTAL mailing list PHPTAL@lists.motion-twin.com http://lists.motion-twin.com/mailman/listinfo/phptal