插件作者的标准出来了!Manyou诚邀开发者加盟!
“互联网平台开发者”特刊 有奖征集开发者
立即免费下载 Discuz!6.1.0正式版
Discuz! 6.1.0 使用说明
Discuz!NT2.5正式版发布
开放源码下载
UCenter Home 1.2 正式版发布
官方站 | 帮助文档
基于ECShop的网店托管-卖否
PHP就业培训直通车 | LAMP培训大连
Discuz!收费服务内容及价格
“感谢有你同行”手握手2008年数万元重奖志愿者
Discuz!/ECShop 专用官方虚拟主机
亿声传媒(Insenz)中秋祝福发送中
Comsenz 招聘信息
网店系统ECShop v2.6.0正式版火热发布
基于Discuz!的免费论坛空间5D6D
参与有奖社区调查 赢取台湾5日游
发新话题
打印

[使用] 一个php技术问题,麻烦指点下

一个php技术问题,麻烦指点下

我不是个合格的程序员,没有学php,不过凭着点ruby on rails的经验还算能看懂和改一些uch的代码。不过现在碰到个问题,可能是变量的作用域的问题,不过按照我翻书和查找的结果,可能是基础知识的某个问题,所以在这求助下:

问题出现在修改个人空间的首页渲染模板的地方,默认的,space_index是所有个人空间的首页,但是现在我需要做一个选择,当式样为默认,也就是css和主框架相同时,我需要改成渲染space_default,而式样为自选时,才为space_index。原因是我改动了主框架。
代码如下:
source/space_index.php

$template_name = '';
if($theme == 'uchomedefault') {
  global $template_name;
  $space['theme'] = $space['css'] = '';
  $template_name = 'space_default';
} elseif($theme) {
  $cssfile = S_ROOT.'./theme/'.$theme.'/style.css';
  $template_name = 'space_index';
    if(file_exists($cssfile)) {
        $space['theme'] = $theme;
        $space['css'] = '';
    }
} else {
    if(!$space['self'] && $_SGLOBAL['member']['nocss']) {
        $space['theme'] = $space['css'] = '';
    }
}

include_once template(
$template_name);

这里有一个问题,即便我按照书上声明
$template_name为global也不行,为什么呢?即便if语句算作一个代码块,里面的变量为私有,这个赋值语句该如何写呢?
每次template渲染得到的都是“”。错误原因应该是变量的作用域和变量赋值,我该如何修改呢?
麻烦懂的朋友指点下。谢谢


[ 本帖最后由 星203 于 2008-7-2 10:42 编辑 ]
没有人回吗?我顶
晴天霹雳啊,是我判断错变量了,应该判断tmd $space['theme']是否为空
$theme == 'uchomedefault'
是狗屁~!唉。。。。终于搞定了。

你们都看不见这个帖子吧。。。。看不见我,
看不见我,看不见我,看不见我!
兄弟,虽然中午喝了酒,但我还是看得见你,嘿嘿
特约客|文学社区http://www.teyueke.com
引用:
原帖由 星203 于 2008-7-3 16:07 发表
晴天霹雳啊,是我判断错变量了,应该判断tmd $space['theme']是否为空
$theme == 'uchomedefault'
是狗屁~!唉。。。。终于搞定了。

你们都看不见这个帖子吧。。。。看不见我,看不见我,看不见我,看不见我!
搞好就OK了!多学一点知识有好处的!像我学的java的j2ee,到公司活生生给B到php上,没办法了要生活么
哈哈哈,我还是开发Rails的呢,现在 不也php啦。没办法,Rails现在国内就是个外包行当,没客户没关系都得滚蛋。

不过话说回来,uch的mvc框架还是可以的,至少现在明白些设计的意图。语言上,ruby的确是很强大,Rails作为web框架,优点实在很多。
发新话题
版块跳转