PHPCMS全站搜索中的致命问题 此问题是phpcms论坛多年来一直没有解决的问题,难!
程序员文章站
2022-06-03 18:02:16
...
那就是不显示,但是能搜到,比如全站搜索时,除专题外的别的内容是能搜到的,但是搜专题却发现有显示条数,但是没有结果显示,如图
我想可能是没有搜到字段吧,因为别的栏目怎么显示内容呢,而偏偏专题不显示,但不显示内容可是却找到了,所以我认为是字段了出了问题,
那么如何改造呢,下面是代码
这个问题是PHPCMS一直没有解决的问题,可以说是老大难的问题,并且是多年了,N年前就有人问,N年后还是没有解决,可见中国的PHP水平哈,当然不算我,因为我是菜鸟,哈!
再下面是html模板中的代码
也许有人会说,是不是return=data有冲突,放心吧,没这回事,我把头都去掉了,也改了data的名称了,试了N次了,还是一样,所以这种可能不会有的
你可以试试。。
你可以试试。。
这个办法确实不错,不过有一个问题我又麻爪了
因为这里要写判断的,是两个分枝
{if(是专题)}.....................{else}...........
让我麻爪的地方是,执行结果中有loop循环,这样的句子如何写呢
比如我这样写
{if(是专题)}{loop $data $i $r}{/loop}
{else}{loop $data $i $r}{/loop}
我试了一下,显然是不行的,出现的问题是if执行的loop循环也是有大括号的
那么问题来了,到底应该怎么写呢
你可以试试。。
如果这样写{if $tid==90}{loop $data $i $r}111{/loop}{/if}会有下面的错误提示,供你参考
Parse error: syntax error, unexpected '}', expecting ')' in D:\wwwroot\jtx127\wwwroot\caches\caches_template\jnhd\search\list.php on line 17
你可以试试。。
如果这样写{if $tid==90}{loop $data $i $r}111{/loop}{/if}会有下面的错误提示,供你参考
Parse error: syntax error, unexpected '}', expecting ')' in D:\wwwroot\jtx127\wwwroot\caches\caches_template\jnhd\search\list.php on line 17
print_r($data)数据可以正常显示吗?
你可以试试。。
如果这样写{if $tid==90}{loop $data $i $r}111{/loop}{/if}会有下面的错误提示,供你参考
Parse error: syntax error, unexpected '}', expecting ')' in D:\wwwroot\jtx127\wwwroot\caches\caches_template\jnhd\search\list.php on line 17
print_r($data)数据可以正常显示吗?
解决了,按你的方法做就行,是我多想了,画蛇添足了,哈,给你加分,这是你应该得的,多谢!
你可以试试。。
如果这样写{if $tid==90}{loop $data $i $r}111{/loop}{/if}会有下面的错误提示,供你参考
Parse error: syntax error, unexpected '}', expecting ')' in D:\wwwroot\jtx127\wwwroot\caches\caches_template\jnhd\search\list.php on line 17
print_r($data)数据可以正常显示吗?
解决了,按你的方法做就行,是我多想了,画蛇添足了,哈,给你加分,这是你应该得的,多谢!
多谢你的分,三年没来论坛玩了,不是因为下载把分花完了也不会跑过来。{$pages} 依然可以输出分页,需要在{pc}标签上附加一个page属性,比如{pc:get sql="Select * from `news` where `title` like '%$keywords%'" num='20' page="$_GET['page']"}
我想可能是没有搜到字段吧,因为别的栏目怎么显示内容呢,而偏偏专题不显示,但不显示内容可是却找到了,所以我认为是字段了出了问题,
那么如何改造呢,下面是代码
这个问题是PHPCMS一直没有解决的问题,可以说是老大难的问题,并且是多年了,N年前就有人问,N年后还是没有解决,可见中国的PHP水平哈,当然不算我,因为我是菜鸟,哈!
{template "content","header"}{if $setting['suggestenable']}{/if}{template "content","footer"}{php if($totalnums==0)showmessage(L('没有查到内容,请再试!谢谢!'), APP_PATH);}获得约 {$totalnums} 条结果 (用时{sprintf("%01.2f", $execute_time)} 秒){loop $data $i $r} {/loop} {if empty($data)}未找到结果{/if}资讯中心
{pc:content action="lists" catid="21" thumb="" order="id DESC" num="20" return="datad" }{loop $datad $n $vv}
{/pc}- {$vv['title']}
{/loop}随机文章
{php $datav = suiji(1,0,1,0,15)} {loop $data $r}
{/pc}- {$r['title']}
{/loop}
再下面是html模板中的代码
{loop $data $i $r} {/loop} {if empty($data)}未找到结果{/if}
也许有人会说,是不是return=data有冲突,放心吧,没这回事,我把头都去掉了,也改了data的名称了,试了N次了,还是一样,所以这种可能不会有的
回复讨论(解决方案)
没读到字段而已,这不难解决吧。实在不行,搜索部分不走控制器自己写个PC标签就行了
{pc:get sql="Select * from `news` where `title` like '%$keywords%'" num='20'}{print_r($data)}{/pc}
你可以试试。。
没读到字段而已,这不难解决吧。实在不行,搜索部分不走控制器自己写个PC标签就行了
{pc:get sql="Select * from `news` where `title` like '%$keywords%'" num='20'}{print_r($data)}{/pc}
你可以试试。。
这个办法确实不错,不过有一个问题我又麻爪了
因为这里要写判断的,是两个分枝
{if(是专题)}.....................{else}...........
让我麻爪的地方是,执行结果中有loop循环,这样的句子如何写呢
比如我这样写
{if(是专题)}{loop $data $i $r}{/loop}
{else}{loop $data $i $r}{/loop}
我试了一下,显然是不行的,出现的问题是if执行的loop循环也是有大括号的
那么问题来了,到底应该怎么写呢
没读到字段而已,这不难解决吧。实在不行,搜索部分不走控制器自己写个PC标签就行了
{pc:get sql="Select * from `news` where `title` like '%$keywords%'" num='20'}{print_r($data)}{/pc}
你可以试试。。
如果这样写{if $tid==90}{loop $data $i $r}111{/loop}{/if}会有下面的错误提示,供你参考
Parse error: syntax error, unexpected '}', expecting ')' in D:\wwwroot\jtx127\wwwroot\caches\caches_template\jnhd\search\list.php on line 17
没读到字段而已,这不难解决吧。实在不行,搜索部分不走控制器自己写个PC标签就行了
{pc:get sql="Select * from `news` where `title` like '%$keywords%'" num='20'}{print_r($data)}{/pc}
你可以试试。。
如果这样写{if $tid==90}{loop $data $i $r}111{/loop}{/if}会有下面的错误提示,供你参考
Parse error: syntax error, unexpected '}', expecting ')' in D:\wwwroot\jtx127\wwwroot\caches\caches_template\jnhd\search\list.php on line 17
print_r($data)数据可以正常显示吗?
没读到字段而已,这不难解决吧。实在不行,搜索部分不走控制器自己写个PC标签就行了
{pc:get sql="Select * from `news` where `title` like '%$keywords%'" num='20'}{print_r($data)}{/pc}
你可以试试。。
如果这样写{if $tid==90}{loop $data $i $r}111{/loop}{/if}会有下面的错误提示,供你参考
Parse error: syntax error, unexpected '}', expecting ')' in D:\wwwroot\jtx127\wwwroot\caches\caches_template\jnhd\search\list.php on line 17
print_r($data)数据可以正常显示吗?
解决了,按你的方法做就行,是我多想了,画蛇添足了,哈,给你加分,这是你应该得的,多谢!
没读到字段而已,这不难解决吧。实在不行,搜索部分不走控制器自己写个PC标签就行了
{pc:get sql="Select * from `news` where `title` like '%$keywords%'" num='20'}{print_r($data)}{/pc}
你可以试试。。
如果这样写{if $tid==90}{loop $data $i $r}111{/loop}{/if}会有下面的错误提示,供你参考
Parse error: syntax error, unexpected '}', expecting ')' in D:\wwwroot\jtx127\wwwroot\caches\caches_template\jnhd\search\list.php on line 17
print_r($data)数据可以正常显示吗?
解决了,按你的方法做就行,是我多想了,画蛇添足了,哈,给你加分,这是你应该得的,多谢!
多谢你的分,三年没来论坛玩了,不是因为下载把分花完了也不会跑过来。{$pages} 依然可以输出分页,需要在{pc}标签上附加一个page属性,比如{pc:get sql="Select * from `news` where `title` like '%$keywords%'" num='20' page="$_GET['page']"}