SpeedPHP技术交流论坛

 找回密码
 论坛注册

QQ登录

只需一步,快速开始

搜索
查看: 1342|回复: 6

在index.php中的网站信息在后台配置问题?

  [复制链接]

55

主题

0

好友

190

积分

高手侠影

Rank: 6Rank: 6

发表于 2010-3-19 12:29:00 |显示全部楼层
在index.php中配置如下:

  1. $spConfig = array(
  2. // 网站配置  
  3. 'shopzc_defined' => array(
  4. 'sitename' => '武汉汽车厂',  // 网站名称
  5. 'siteintro' => 'sdfsdfsdf',    // 网站介绍
  6. 'template' => 'default',     // 默认模板
  7. 'copyright' => 'shopzc',   // 版权信息
  8. ),
  9. }
复制代码


可是我想让这些静态值换成读取数据库的,比如
网站名称 '武汉汽车厂' 可以换成 $sitename 吗?$sitename为数据库读取的值,这个要怎么做?

48

主题

0

好友

3074

积分

管理员

@speedphp

Rank: 9Rank: 9Rank: 9

发表于 2010-3-19 13:29:40 |显示全部楼层
楼主的想法我大致清楚了。不过如果是把这些相当于“全局配置”的值换成用数据库来存,那么就不用或不需要在index.php的程序配置内进行定义了。

建议的做法是在控制器父类的构造函数内进行这些网站配置的读取,然后赋值给这个控制器父类的某个变量(或者是给$GLOBAL数组),这样也是可以做到楼主的想法的。

40

主题

0

好友

71

积分

高手侠影

Rank: 6Rank: 6

发表于 2010-3-20 11:41:19 |显示全部楼层
问题解决了吗?我也想知道是怎么做的

48

主题

0

好友

3074

积分

管理员

@speedphp

Rank: 9Rank: 9Rank: 9

发表于 2010-3-20 15:32:00 |显示全部楼层
嗯,我再结合微博的例子来说说。

在model内的lib_domain里面,可以看到有个叫enter的方法,这个方法在配置中被定义成是在路由之前执行的
'router_prefilter' => array(array('lib_domain','enter')),

看看这个方法,里面是通过分析网址,得出二级域名的字符串(也就是用户名),然后通过lib_user来查询用户名是否存在,存在就证明这次访问是二级域名的访问,所以会改变控制器和动作的值,来达到转向路由的目的。

结合本贴的想法,我们可以在enter方法(也就是路由前的挂靠方法)里面,进行以下操作:
1. 读取数据表中的站点配置信息
2. 将这些配置信息赋值给全局变量$GLOBALS,比如说$GLOBALS['mysite'] = spClass('setting')->findAll();
3. 在应用程序中就可以直接用$GLOBALS['mysite']['sitename']来用了

40

主题

0

好友

71

积分

高手侠影

Rank: 6Rank: 6

发表于 2010-3-20 23:14:41 |显示全部楼层
谢谢,明白怎么做了

40

主题

0

好友

71

积分

高手侠影

Rank: 6Rank: 6

发表于 2010-3-23 10:31:19 |显示全部楼层
回复 4# jake

不过,这里面有个问题,
$GLOBALS['mysite'] = spClass('setting')->findAll();

spClass('setting')->findAll();这里查询出来的是一个数组,

在$GLOBALS['mysite']['sitename']这里调用会没有数据,所以调用的时候$GLOBALS['mysite'][0]['sitename'],(只有当数组有值的时候,这样才能进行这样的调用),

48

主题

0

好友

3074

积分

管理员

@speedphp

Rank: 9Rank: 9Rank: 9

发表于 2010-3-23 11:18:26 |显示全部楼层
回复  jake

不过,这里面有个问题,
$GLOBALS['mysite'] = spClass('setting')->findAll();

spClass('s ...
yuanjianhua 发表于 2010-3-23 10:31


嗯,很细心的朋友,你说的对,是要加个0的

这类型的站点配置,如果要保存到数据库的话,表结构方面我建议是类似WordPress的option表一样

那表的结构类似:

name | value
'sitename' | '武汉汽车厂'
'siteintro' | 'sdfsdfsdf'
'template' | 'default'
'copyright' | 'shopzc'
您需要登录后才可以回帖 登录 | 论坛注册

手机版|Archiver|SpeedPHP.com ( 粤ICP备08008671号 )  

GMT+8, 2012-5-19 02:19

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部