PHP建站技术分享-从入门到精通_各类知识收集PHP建站技术分享-从入门到精通_各类知识收集PHP建站技术分享-从入门到精通_各类知识收集

QQ:420220301 微信/手机:150-3210-7690
当前位置:首页 > CMS教程 > 讯睿CMS

迅睿cms二次开发之-中文搜索地名提交跳转对应栏目url

管理员 2025-06-04
讯睿CMS
58

迅睿cms二次开发之-中文搜索地名提交跳转对应栏目url

迅睿cms二次开发之-中文搜索地名提交跳转对应栏目url,方法如下:

一、后台需要创建地名栏目,栏目名和目录名必须拼音对应

二、前台模板代码:


  1. <script>

  2. function getPdirnameByCategoryName(name, callback) {

  3.     $.ajax({

  4.         url: '/index.php?s=diysearch&c=my&m=get_pdirname',

  5.         type: 'GET',

  6.         dataType: 'json',

  7.         data: {

  8.             name: name,

  9.             

  10.         },

  11.         success: function(response) {

  12.             if (response.code == 1) {

  13.                 callback(response.data);

  14.             } else {

  15.                 console.error(response.msg);

  16.                 callback(null);

  17.             }

  18.         },

  19.         error: function(xhr, status, error) {

  20.             console.error('请求失败: ' + error);

  21.             callback(null);

  22.         }

  23.     });

  24. }


  25. // 使用示例

  26. $(function(){

  27. $('#destSearchBtn').click(function(){

  28. var countryname = $('#destSearchInput').val();

  29. getPdirnameByCategoryName(countryname, function(pdirname) {

  30. if (pdirname) {

  31. //console.log('获取到的pdirname:', pdirname);

  32. // 在这里处理获取到的pdirname

  33. window.location.href = pdirname;

  34. } else {

  35. console.log('获取pdirname失败');

  36. }

  37. });

  38. })

  39. })


  40. </script>

    三、再根目录下的config/custom.php自定义函数文件,写入:


  41. function get_pdirname_by_category_name($name) {

  42.     // 获取数据库对象

  43.     $db = \Phpcmf\Service::M()->db;

  44.    

  45.     // 查询栏目表

  46.     $row = $db->table('dr_1_share_category')

  47.              ->select('pdirname,dirname')

  48.              ->where('mid','')

  49.              ->where('name', $name)

  50.              ->get()

  51.              ->getRowArray();

  52.    

  53.     // 返回结果

  54.     if ($row && isset($row['pdirname'])) {

  55.         return $row['pdirname'].$row['dirname'];

  56.     }

  57.     

  58.     return false;

  59. }



  60. // Ajax接口

  61. function my_get_pdirname() {

  62.     $name = \Phpcmf\Service::L('input')->get('name');

  63.    

  64.     

  65.     if (!$name) {

  66.         exit(json_encode(0, '栏目名称不能为空'));

  67.     }

  68.     

  69.     $result = get_pdirname_by_category_name($name);

  70. $res['data'] = $result;

  71. if($result){

  72. $res['msg'] = '获取成功';

  73. }else{

  74. $res['msg'] = '获取失败';

  75. }

  76. $res['code'] = 1;

  77.     echo json_encode($res,JSON_UNESCAPED_UNICODE);

  78. }

    四、在\dayrui\App\Diysearch\Config创建Routes.php,写入:


  79. <?php


  80. // 加载主程序的路由

  81. require COREPATH.'Config/Routes.php';

    五。\dayrui\App\Diysearch\Controllers创建My.php,写入:


  82. <?php namespace Phpcmf\Controllers;


  83. /**

  84.  * 二次开发时可以修改本文件,不影响升级覆盖

  85.  */


  86. class My extends \Phpcmf\Home\Module

  87. {


  88.     public function get_pdirname() {

  89.          my_get_pdirname();

  90.     }


  91.    


  92. }

    六、至此完成。完美!



希望以上内容对你有所帮助!如果还有其他问题,请随时提问。 各类知识收集 拥有多年CMS企业建站经验,对 iCMS, LeCMS, ClassCMS, Fastadmin, PbootCMS, PHPCMS, 易优CMS, YzmCMS, 讯睿CMS, 极致CMS, Wordpress, HkCMS, YznCMS, WellCMS, ThinkCMF, 等各类cms的相互转化,程序开发,网站制作,bug修复,程序杀毒,插件定制都可以提供最佳解决方案。

相关推荐

扫码关注

qrcode

回顶部