JTBC(php版):折腾了我三天的问题终于解决了,一个字“爽”!

作者:我就是个世界 发表于:2010-10-18
JTBC(php版):错误common\incfiles\function.inc.php(320) : eval()'d code on line 1解决方法

把程序上传到服务器之后,一直提示错误,更改了那个PHP5.3已经过期的函数split()之后,文章内容页还是提示如下错误。
[code]
Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE in, D:\freehost\www\common\incfiles\function.inc.php(320) : eval()'d code on line 1
[/code][separator]

然后我一直认为是eval()函数的问题,然后百度、GOOGLE翻了两天都没找到解决方法。
刚刚又看了一下,然后发现产品模块的内容页并没有问题。于是比较Artilce和Product模块的代码。发现模板里面侧边栏相关分类的获取代码有所区别。
[code]{$=vv_isort('{$genre}', 'tpl=sort;classid={$classid}')}[/code]
产品模块没有classid={$classid},因为这个是我自己改的,所以我知道,这是为了获取当前分类的相关分类专门添加的。难道是这个错了,可是列表页也一样的代码,却没有出错,只有内容那里出错,而且前台模板的这个地方会多出来个')}。说不定真是这个的问题,于是去把文章模板的内容页模板改为[code]{$=vv_isort('{$genre}', 'tpl=sort')}[/code] 刷新前台,居然正常了。

我晕啊,折腾我三天的问题居然是这个,然后在群里问拖拖,他也说是这个的问题,然后建议我把$classid改为$class试试;我改了之后果然也正常。原来是$classid这个模板标签的问题, 然后想了想列表页用的是$classid,而内容页就得$class,这个可能与程序的变量定义有关系,因为没有仔细看过程序所致啊。

另外还让我明白了一个道理,有了问题不能瞎叫,到处求人解决,要仔细看错误提示。注重各处的细节。其实前台分类那块多出来的那个')}我早就看到了,但一直没当回事,一直以为是PHP版本的升级导致一些函数的不支持,才会使得模板标签解析出问题。当然也解决了PHP版本升级出的一问题。很好,学到不少。

这几天的功夫,真让人头疼。一天两夜没睡觉的结果,又是换环境,又是查资料,又求人,就连我最为头疼的满屏的英文文档我都去翻了,结果问题就这么小,一个$classid的问题,哈哈,终于解决了! 痛快!

分享:

扫一扫在手机阅读、分享本文

请发表您的评论