页面伪装异步加载中...
关闭/显示侧边栏
返回首页 mail me! 订阅rss Follow me

Archive for 十二月, 2009

关于ThinkPHP中$this->redirect的疑问。

在TP1.5版本中使用

1
$this->redirect('login','Public');

便可以实现跳转到当前项目的 PublicAction 中的 login 方法路径。

在TP2.0中方法发生了变动,按手册上的方法应该这样进行跳转:

1
$this->redirect('Public/login');

但是最后的URL地址却会变成:

http://xxx.xxx.xxx/admin.php/Admin_App//Public/login

但我实际需要跳转的地址是

http://xxx.xxx.xxx/admin.php/Public/login

也就说,默认的$this->redirect方法会在url中加上项目名。有人建议说重写一下TP中的redirect方法,这比较麻烦了。

这时想到了用redirect()函数,而不使用$this中的方法,然后想到了两个解决办法:

1
2
3
$this->redirect('../../Public/login');  //方法1
 
redirect('admin.php/Public/login')   //方法2

其中第一个办法虽然能解决,但因为路径层数比较复杂,而我也一直比较避免用 ../到url路径中。

第二个办法虽然能解决,但是并不是完善,因为在设计中我考虑到以后可以任意的改变 admin.php这个后台入口文件的文件名。

尝试了redirect()函数中并不能使用TP自带的替换变量后,突然想到加一个变量赋值的笨办法:

1
2
 $login_url = __APP__.'/Public/login';   //跳转路径
 redirect($login_url);

这样就算把问题解决了。

TP中不少的函数和模板替换值 比如之前遇到的 ../Publc 都会自动加上项目名称,当时本来项目名想作为title的一个替换量,但在使用 ../Publc 时路径会变成 http://xxx.xxx.xxx/项目名/Tpl/Public/ 所以当时不得不把项目名换成了和文件目录名相同。

这点我觉得完全没必要了。

今天是个特殊的日子,记下来。

先不说是什么,我知道就好~

呵呵~

关于ThinkPHP框架前台制作。

这几天开始做网站的前台,在这之间倒是走了一个弯路。

因为做后台功能的时候,将数据库中的表和功能对应起来,然后每个表或者功能对应一个控制器,开始做前台的时候就有点犯傻,心想前台每个页面或许会显示不同的表中的内容,但那样怎么来设计控制器呢。

当时还有个犯傻的问题就是纠结在了从数据库中读取文件时,URL路径的表现问题。
阅读全文>>>

望丛祠,石牛公园。

今天天气不错,和小略略到望丛祠和石牛公园晒了一下午的太阳。

好久没晒太阳了。

好吧,我假意感谢她一下(哈哈),把我从我寝室电脑面前那个阴暗的角落里带出来。

站点后台美化初完成。

折腾了一天,终于把后台的界面大概完成了,大概就定在这样,页面风格是模仿常见的后台方式,图标也是在网上找的(呵呵)。

准备开始折腾前台了。

话说,gimp用起来相当不习惯。

Page 1 of 212