phpcms v9 增加热门关键字管理

王朝学院·作者佚名  2016-04-29
窄屏简体版  字體: 小  |  中  |  大  |  超大  

最近在二次开发phpcms v9,根据网站设计图,需要用到热门关键字功能,但通过详细查看 phpcms v9后,并没有发现可以管理热门关键字的相关选项。虽然可以通过pc:get标签查询出搜索次数最多的关键字,但毕竟后台可以管理才是王道。

尤其是网站运营初期,必须定义一些热门的关键字引导用户查阅更多的信息,以提高浏览量。此方法由于是增加文件,并不影响升级,以后程序升级后,此功能还能继续使用。

首先列出使用pc:get标签的方法:

{pc:get sql="select keyWord from v9_search_keyword" orderby="searchnums desc" num="5"}

{loop $data $r}

<a href="{APP_PATH}index.php?m=search&c=index&a=init&typeid=1&siteid=1&q={$r[keyword]}">{$r[keyword]}</a>

{/loop}

{/pc}

将上面这段代码复制到头部的任意位置,即可显示5个关键词并按搜索次数最多的前5个显示。

下面是后台增加关键词管理的操作方法。我将管理菜单放在扩展的栏目下,其它朋友可以根据知道的需求,增加到各自的栏目下,先上图,有图有真相。

1.关键词管理页面,在扩展栏目下。

2.增加关键字页面,可以自由增加关键字

3.关键字编辑页面,可以把热门的关键字增加搜索次数,以引导用户获取更多信息

请按照以下方法增加:

1.增加语言包:

phpcms/languages/zh-cn/admin.lang.php

找到此文件,在此文件最下面增加以下内容:

/*热门关键词*/

$LANG['search_keyword'] = ‘关键字管理’;

$LANG['search_word_add'] = ‘增加关键字’;

$LANG[]search_word_pinyin'] = ‘拼音’;

$LANG['search_word_nums'] = ‘搜索次数’;

$LANG['search_word_some'] = ‘相关分词’;

$LANG['search_word_confirm_del'] = ‘是否删除该关键词’;

$LANG['search_word_name'] = ‘关键字名称’;

$LANG['search_word_error_input'] = ‘请输入完整的数据’;

2.由于模型类本来已存在,所以不需要再创建模型类,只需要创建控制器:

在phpcms\modules\admin\下,新建文件名为:search_keyword.php,路径:phpcms\modules\admin\search_keyword.php

<?php

defined(‘IN_PHPCMS’) or exit(‘No permission resources.’);

pc_base::load_app_class(‘admin’,'admin’,0);

class search_keyword extends admin {

function __construct() {

$this->db = pc_base::load_model(‘search_keyword_model’);

parent::__construct();

}

function init () {

$page = $_GET['page'] ? intval($_GET['page']) : ’1&PRime;;

//根据搜索数量由大到小排序

$infos = $this->db->listinfo(”,’searchnums DESC’,$page ,’20′);

$pages = $this->db->pages;

$big_menu = array(‘javascript:window.top.art.dialog({id:\’add\’,iframe:\’?m=admin&c=search_keyword&a=add\’, title:\”.L(‘search_word_add’).’\', width:\’450\’, height:\’150\’}, function(){var d = window.top.art.dialog().data.iframe;var form = d.document.getElementById(\’dosubmit\’);form.click();return false;}, function(){window.top.art.dialog().close()});void(0);’, L(‘search_word_add’));

include $this->admin_tpl(‘search_keyword_list’);

}

/**

* 关键词添加

*/

function add() {

if(isset($_POST['dosubmit'])){

if(empty($_POST['info']['keyword']) || empty($_POST['info']['pinyin']) || empty($_POST['info']['searchnums']))

$this->db->insert($_POST['info']);

showmessage(L(‘Operation_success’),’?m=admin&c=search_keyword&a=add’,”, ‘add’);

}else{

$show_validator = $show_scroll = $show_header = true;

include $this->admin_tpl(‘search_keyword_add’);

}

}

/**

* 关键词修改

*/

function edit() {

if(isset($_POST['dosubmit'])){

$keywordid = intval($_GET['keywordid']);

if(empty($_POST['info']['keyword']) || empty($_POST['info']['pinyin']) || empty($_POST['info']['searchnums']))

$this->db->update($_POST['info'],array(‘keywordid’=>$keywordid));

showmessage(L(‘operation_success’),’?m=admin&c=search_keyword&a=edit’,”, ‘edit’);

}else{

$show_validator = $show_scroll = $show_header = true;

$info = $this->db->get_one(array(‘keywordid’=>$_GET['keywordid']));

if(!$info) showmessage(L(‘specified_word_not_exist’));

extract($info);

include $this->admin_tpl(‘search_keyword_edit’);

}

}

/**

* 关键词删除

*/

function delete() {

if(is_array($_POST['keywordid'])){

foreach($_POST['keywordid'] as $keywordid_arr)

showmessage(L(‘operation_success’),’?m=admin&c=search_keyword’);

} else {

$keywordid = intval($_GET['keywordid']);

if($keywordid < 1) return false;

$result = $this->db->delete(array(‘keywordid’=>$keywordid));

if($result)else

}

}

}

?>

3.在模板里,增加三个模板页面,分别是:

phpcms\modules\admin\templates/search_keyword_add.tpl.php (增加关键词页面)

phpcms\modules\admin\templates/search_keyword_edit.tpl.php (编辑关键词页面)

phpcms\modules\admin\templates/search_keyword_list.tpl.php (编辑关键词列表)

(1)。 search_keyword_add.tpl.php

<?php

defined(‘IN_ADMIN’) or exit(‘No permission resources.’);

include $this->admin_tpl(‘header’);

?>

<script type=”text/Javascript”>

<!–

$(function(){

$.formValidator.initConfig({formid:”myform”,autotip:true,onerror:function(msg,obj){window.top.art.dialog(, function(){this.close();$(obj).focus();})}});

})

//–>

</script>

<div>

<table width=”100%” cellpadding=”2″ cellspacing=”1″>

<form action=”?m=admin&c=search_keyword&a=add” method=”post” name=”myform” id=”myform”>

<tr>

<th width=”25%”><?php echo L(‘search_word_name’);?> :</th>

<td><input type=”text” name=”info[keyword]” id=”word” size=”20″></td>

</tr>

<tr>

<th><?php echo L(‘search_word_pinyin’);?> :</th>

<td><input type=”text” name=”info[pinyin]” value=”" id=”pinyin”></td>

</tr>

<tr>

<th><?php echo L(‘search_word_nums’);?> :</th>

<td><input type=”text” name=”info[searchnums]” value=”" id=”searchnums”></td>

</tr>

<tr>

<th><?php echo L(‘search_word_some’);?> :</th>

<td><input type=”text” name=”info[data]” value=”" id=”data”></td>

</tr>

<input type=”submit” name=”dosubmit” id=”dosubmit” value=” <?php echo L(‘submit’)?> “>

</form>

</table>

</div>

</body>

</html>

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
© 2005- 王朝網路 版權所有 導航