迅睿CMS>正文
php如何定义url,使用自定义函数作为URL规则
2024-07-18 13:18 gbl在创建定义URL规则的时候,毕竟系统自带的通配符变量有限,如果发现通配符变量没法满足你的实际需求
我们可以使用自定义函数来做,当然需要有PHP基础的人才行~
比如,我在模块内容的url中想把标题title字段转换为拼音,
/news/标题拼音.html
作为url的这种情况,就没办法使用默认的通配符了,实现步骤
1、定义函数返回url规则代码
函数文件是config/custom.php,定义个名字,随便自己取,xxxurl
function xxxurl($data) {
$py = \Phpcmf\Service::L('pinyin')->result($data['title']); // 把标题转换拼音
$url = "/news/".$py.".html"; // url规则:news/pinyin.html
dr_mkdirs(WRITEPATH.'myid/'); // 创建id缓存存储目录
file_put_contents(WRITEPATH.'myid/'. md5(trim($url, '/')).'.txt', $data['id']); // 将id号存储缓存文件
return $url; //返回我自己的
}
2、在规则里面填写新标签:
{xxxurl($data)}
3、然后更新内容url地址,使url地址生效
4、编写伪静态解析规则,因为这是你自己写的函数,所以无法用系统生成的代码了
5、打开config/rewrite.php,加入代码
// 判断url是否是来自自定义函数
if (CMSURI) {
$myfile = WRITEPATH.'myid/'.md5(urldecode(CMSURI)).'.txt';
if (is_file($myfile)) {
$id = file_get_contents($myfile);
if ($id) {
return [
CMSURI => 'index.php?c=show&id='.$id, // 这里写内容的地址
];
}
}
}
最终效果:
本文链接:https://www.0937.biz/post-3196.html
- 上一篇:迅睿cms自定义URL函数
- 下一篇:没有了
猜你喜欢
- 2024-07-18 php如何定义url,使用自定义函数作为URL规则
- 2024-07-18 迅睿cms自定义URL函数
- 2024-07-18 迅睿CMS部分标签
- 2024-07-18 迅睿cms后台密码忘记了,如何重置找回密码?
- 2024-07-18 迅睿CMS 自动识别PC和手机移动端(分域名)代码
- 2024-07-18 迅睿常用模板标签
- 2024-07-18 迅睿CMS网站迁移步骤
- 2024-07-18 迅睿网站重置密码
- 2024-07-18 迅睿CMS:个人整理常用标签汇总【持续更新】
- 05-15迅睿CMS 自动识别PC和移动端(分域名)代码
- 08-06迅睿CMS网站迁移步骤
- 08-06迅睿常用模板标签
- 08-06迅睿网站重置密码
- 04-28迅睿CMS部分标签
- 03-22迅睿CMS 自动识别PC和手机移动端(分域名)代码
- 04-18迅睿cms后台密码忘记了,如何重置找回密码?
- 05-21迅睿cms自定义URL函数
- 04-28迅睿CMS部分标签
- 04-18迅睿cms后台密码忘记了,如何重置找回密码?
- 03-22迅睿CMS 自动识别PC和手机移动端(分域名)代码
- 08-06迅睿常用模板标签
- 08-06迅睿CMS网站迁移步骤
- 08-06迅睿网站重置密码
- 05-21迅睿cms自定义URL函数
- 04-28迅睿CMS部分标签
- 04-18迅睿cms后台密码忘记了,如何重置找回密码?
- 03-22迅睿CMS 自动识别PC和手机移动端(分域名)代码
- 08-06迅睿常用模板标签
- 08-06迅睿CMS网站迁移步骤
- 08-06迅睿网站重置密码
- 热门标签