Smarty SAE上 不能传值

#1 stoneamoi

我本机用speedPHP可以成功把 errgmsg 值传到 bzq.html 模块, 在SAE环境下模块中只显示 "<{ $errmsg}> "
请指导SAE中要怎样才能传值.
谢谢!

--------------------------------------------------------------------------------------------------
main.php
$msg = "验证码错!";
$msg = mb_convert_encoding($msg, 'UTF-8', 'GBK');
$this->errmsg= $msg;
$this->display("../tpl/bzq.html");
--------------------------------------------------------------------------------------------------
bzq.html:
<{ $errmsg}>

2011-10-29 11:52:00

#2 jake

“在SAE环境下模块中只显示 "<{ $errmsg}> "”,也就是说,在SAE上面你的程序里面,根本没有开启smarty,所以才会无法解析<{}>标签的功能。

参考http://www.speedphp.com/view-smarty.html

2011-10-29 11:58:11

#3 stoneamoi

默认安装的speedPHP for SAE是没有Smarty, 我把SAE的应用SVN下来, 然后用speedphp-3.1.89-sae更新到SVN下来的全部文件, 包括Smarty.  再更新了SAE上的全部文件.  也在main.php中调用了memcache_init();  
问题依旧.

2011-10-29 12:04:58

#4 stoneamoi

index.php
本机里是下面这样可以的.
请问SAE中要怎样开启呢?

        'view' => array(
                'enabled' => TRUE, // 开启视图
                'config' =>array(
                        'template_dir' => APP_PATH.'/tpl', // 模板目录
                        'compile_dir' => APP_PATH.'/tmp', // 编译目录
                        'cache_dir' => APP_PATH.'/tmp', // 缓存目录
                        'left_delimiter' => '<{',  // smarty左限定符
                        'right_delimiter' => '}>', // smarty右限定符
                ),

2011-10-29 12:12:12

#5 jake

只能说是根据显示来判断是smarty没开启

到底你的代码哪里出问题,我看不到全部源码,不清楚。

PS:有打开sae的memcached吗?

2011-10-29 12:16:49

#6 stoneamoi

有的. 有开启Memcache

2011-10-29 12:25:50

#7 stoneamoi

html文件里面需要设定针对smarty的引用吗?

2011-10-29 12:26:39

#8 jake

这里发一个例子,简单地显示一个模板和值。
SAE的smarty例子.zip


具体效果:http://3.jake.sinaapp.com/

2011-10-29 12:45:17

#9 jake

这里发一个例子,简单地显示一个模板和值。



具体效果:
jake 发表于 2011-10-29 12:45
当然,不带框架的,把下载的sae版speedphp框架放到SpeedPHP目录里面。

2011-10-29 12:46:27

#10 stoneamoi

谢谢, 模式大致相同.
但加入这两行后, 页面变空白:

'engine_name' => 'Smarty', // 模板引擎的类名称,默认为Smarty
'engine_path' => SP_PATH.'/Drivers/Smarty/Smarty.class.php', // 模板引擎主类路径

2011-10-29 12:54:24

#11 stoneamoi

你的例子放到一个我新建的SAE项目时, 出现下面错误:
SAE_Fatal_error: Call to a member function assign() on a non-object in SpeedPHP/Core/spController.php on line 79

2011-10-29 13:04:25

#12 stoneamoi

会不会我下载的 speedphp-3.1.89-sae 这个包有问题. 请把SAE上的jake所用的speedphp压一个给我行不行

2011-10-29 13:06:59

#13 stoneamoi

重新下载speedphp-3.1.89-sae , 更新我刚新建项目的SpeedPHP文件夹后, 你上面的例子运行成功.
非常感谢!

2011-10-29 13:34:09