关于ecshop显示报错Call to undefined function insert_searchkeywords

2017-04-16 20:44 来源:www.chinab4c.com 作者:ecshop专家

?ecshop显示报错:Fatal error: Call to undefined function insert_searchkeywords() in

E:\\phpnow\\htdocs\\ecshoptemplate.com\\includes\\cls_template.php on line 1140
这个英文意思在cls_template.php  文件中缺少函数 insert_searchkeywords
要解决的话补充这个函数就行。这个函数本身是解决:ECSHOP首页热门搜索关键词实现随机 的
教程如下:
1、

打开 include/lib_main.php 文件,找到下面这段代码,删除之(大概在1652行左右)
?
if (!empty($GLOBALS['_CFG']['search_keywords']))
??? {
??????? $searchkeywords = explode(',', trim($GLOBALS['_CFG']['search_keywords']));
??? }
??? else
??? {
??????? $searchkeywords = array();
??? }
??? $smarty->assign('searchkeywords', $searchkeywords);

2 、

打开 include/lib_insert.php 文件 ,在文件最下边加入下面这个函数
?
?
function insert_searchkeywords() {
??? if (!empty($GLOBALS['_CFG']['search_keywords']))
??? {
??????? $searchkeywords = explode(',', trim($GLOBALS['_CFG']['search_keywords']));
??????? $rand = array_rand($searchkeywords,3);//后面的 3 是设置显示的数量
??????? for($i=0;$i<3;$i++) {
??????????? $search[] = $searchkeywords[$rand[$i]];
??????? }
??????? $searchkeywords = $search;
??? }
??? else
??? {
??????? $searchkeywords = array();
??? }
??? $GLOBALS['smarty']->assign('searchkeywords', $searchkeywords);
??? $val = $GLOBALS['smarty']->fetch('library/search.lbi');? //这里要在你的亚博娱乐网页里面创建一个search.lbi
??? return $val;
}


3 、

在你的“/themes/ECSHOP亚博娱乐网页文件夹/library/” 下面创建一个名为 search.lbi? 的文件,文件内容如下:
?
{if $searchkeywords}
?? {$lang.hot_search} :
?? {foreach from=$searchkeywords item=val}
?? {$val}
?? {/foreach}
?? {/if}

4.、

打开你的“/themes/ECSHOP亚博娱乐网页文件夹/library/page_header.lbi ”,找到下面这段代码
?
{if $searchkeywords}
?? {$lang.hot_search} :
?? {foreach from=$searchkeywords item=val}
?? {$val}
?? {/foreach}
?? {/if}
?
将这段代码替换为
?
{insert name='searchkeywords'}

修改完,FTP上传覆盖后,去后台清除一下你的缓存 您若只补充函数的话,直接在cls_template.php底部增加 function insert_searchkeywords() {
??? if (!empty($GLOBALS['_CFG']['search_keywords']))
??? {
??????? $searchkeywords = explode(',', trim($GLOBALS['_CFG']['search_keywords']));
??????? $rand = array_rand($searchkeywords,3);//后面的 3 是设置显示的数量
??????? for($i=0;$i<3;$i++) {
??????????? $search[] = $searchkeywords[$rand[$i]];
??????? }
??????? $searchkeywords = $search;
??? }
??? else
??? {
??????? $searchkeywords = array();
??? }
??? $GLOBALS['smarty']->assign('searchkeywords', $searchkeywords);
??? $val = $GLOBALS['smarty']->fetch('library/search.lbi');? //这里要在你的亚博娱乐网页里面创建一个search.lbi
??? return $val;
} ? ?

?这些代码就行 ,问题解决了吗? 解决了,请在文章底部评论留言支持下我们!

?