联系官方销售客服
1835022288
028-61286886
在内容中自定义url,支持随便定义url的写法
今天有人向我咨询能不能定义url,随便写url这种定义方式,我研究了半小时,得出了好办法,效果如下图所示
通过自定义字段,随便填写url格式,灵活度就很高了
本教程仅供学习研究,我只分享出一点皮毛,能实现基本流程,个性化的url可以找我定制组件
1、在文章模块中创建一个字段,如下图
选择主表才行
字段名可以随意写,但是要和后面相呼应
创建成功更新缓存生效,先不发布数据
2、进入自定义url规则,来创建一个规则
规则就按照我的来写,主要是内容页规则,这才是关键!
不需要去生成规则,这种url是生成不出来的,保存就行下一步
然后打开文件config/custom.php写上下面代码
function zdyurl($data) { $url = $data['zidingyiurl'] ? trim($data['zidingyiurl']) : 'index.php?c=show&id='.$data['id']; dr_mkdirs(WRITEPATH.'myid/'); // 创建id缓存存储目录 file_put_contents(WRITEPATH.'myid/'. md5(trim($url, '/')).'.txt', $data['id']); // 将id号存储缓存文件 return $url; }
3、在栏目seo里面设置这个规则
更新缓存生效
4、前往新闻管理里面,在这个栏目下发布一篇文章
地址随便填,不要有太特殊的符号就行,测试期间用字母或数字吧
5、保存内容,就会发现地址变成了你的了,但是是访问不了,不要着急,下一步很重要
6、手动写入伪静态解析规则,解决404问题,打开文件config/rewrite.php,中间建设下面代码
// 判断url是否是来自自定义函数 if (CMSURI) { $myfile = WRITEPATH.'myid/'.md5(CMSURI).'.txt'; if (is_file($myfile)) { $id = file_get_contents($myfile); if ($id) { return [ CMSURI => 'index.php?c=show&id='.$id, // 这里写内容的地址 ]; } } }
这样可以访问页面了、这篇文章是一个简单的例子,实际项目中改进的地方有很多,有需求的朋友可以找我QQ聊
学习学习
学习学习
看看
学习学习
学习学习
学习学习,正好需要用到这个
洋气!看看