迅睿cms二次开发之-中文搜索地名提交跳转对应栏目url,方法如下:
一、后台需要创建地名栏目,栏目名和目录名必须拼音对应
二、前台模板代码:
<script>
function getPdirnameByCategoryName(name, callback) {
$.ajax({
url: '/index.php?s=diysearch&c=my&m=get_pdirname',
type: 'GET',
dataType: 'json',
data: {
name: name,
},
success: function(response) {
if (response.code == 1) {
callback(response.data);
} else {
console.error(response.msg);
callback(null);
}
},
error: function(xhr, status, error) {
console.error('请求失败: ' + error);
callback(null);
}
});
}
// 使用示例
$(function(){
$('#destSearchBtn').click(function(){
var countryname = $('#destSearchInput').val();
getPdirnameByCategoryName(countryname, function(pdirname) {
if (pdirname) {
//console.log('获取到的pdirname:', pdirname);
// 在这里处理获取到的pdirname
window.location.href = pdirname;
} else {
console.log('获取pdirname失败');
}
});
})
})
</script>
三、再根目录下的config/custom.php自定义函数文件,写入:
function get_pdirname_by_category_name($name) {
// 获取数据库对象
$db = \Phpcmf\Service::M()->db;
// 查询栏目表
$row = $db->table('dr_1_share_category')
->select('pdirname,dirname')
->where('mid','')
->where('name', $name)
->get()
->getRowArray();
// 返回结果
if ($row && isset($row['pdirname'])) {
return $row['pdirname'].$row['dirname'];
}
return false;
}
// Ajax接口
function my_get_pdirname() {
$name = \Phpcmf\Service::L('input')->get('name');
if (!$name) {
exit(json_encode(0, '栏目名称不能为空'));
}
$result = get_pdirname_by_category_name($name);
$res['data'] = $result;
if($result){
$res['msg'] = '获取成功';
}else{
$res['msg'] = '获取失败';
}
$res['code'] = 1;
echo json_encode($res,JSON_UNESCAPED_UNICODE);
}
四、在\dayrui\App\Diysearch\Config创建Routes.php,写入:
<?php
// 加载主程序的路由
require COREPATH.'Config/Routes.php';
五。\dayrui\App\Diysearch\Controllers创建My.php,写入:
<?php namespace Phpcmf\Controllers;
/**
* 二次开发时可以修改本文件,不影响升级覆盖
*/
class My extends \Phpcmf\Home\Module
{
public function get_pdirname() {
my_get_pdirname();
}
}
六、至此完成。完美!
希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, LeCMS, ClassCMS, Fastadmin, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。