PHPCMS V9实现自定义内容文件名的方法

发布时间:2020-08-19编辑:脚本学堂
PHPCMS V9实现自定义内容文件名的方法。实现自定义内容文件名,类似于其它cms中的自定义文件。

实现自定义内容文件名,类似于其它cms中的自定义文件。
具体操作方法如下。

第一步:先查看模型conten文件下(phpcmsmodulescontent)文件content..php的init方法。
img1
通过init我找到了public_categorys函数 直接把鼠标定位到约488行。。。

将代码:
 

复制代码 代码如下:

$strs="<span class='$icon_type'>$add_icon<a href='?m=content&c=content&a=$type&menuid=".$_GET['menuid']."&catid=$catid' target='right' onclick='open_list(this)'>$catname</a></span>";

$strs2 = "<span class='folder'>$catname</span>";

将$str2修改为
 

复制代码 代码如下:
$strs2= "<span class='folder'>$add_icon<a href='?m=content&c=content&a=$type&menuid=".$_GET['menuid']."&catid=$catid' target='right' onclick='open_list(this)'>$catname</a></span>";

自然能够修改这些栏目以及里面的内容,那么我们必定要进行url更新,以及内容页更新等操作。

第二步:更新的操作
那么我们就要修改content.php同文件夹下的create_html.php,鼠标大概定义到178行
将//$r['disabled'] = $r['child'] ? 'disabled' : '';这一行注销掉
第三步:模型添加字段
给模型添加一个自定义字段为:主表   单文本  名称为cturl
img2
第四步:url的变换与保存
这一步主要是针对自定义文档的url的保存与操作
找到内容phpcmsmodelcontent_model.class.php文件
找到add_conent和edit_content函数更新url地址块的else部分全部换成:
 

复制代码 代码如下:
} else {
$urls = $this->url->show($id, 0, $systeminfo['catid'], $systeminfo['inputtime'], $data['prefix'],$inputinfo,'add');
if(!empty($urls['data']['system']['cturl'])) $systeminfo['url']="/".$urls['data']['system']['cturl'];///付为志修改
else $systeminfo['url'] = $urls[0];
}

找到phpcmsmodulescontentclasses文件url.class..php文件鼠标定位到99行
在之前return $url_arr;
添加如下代码:
 

复制代码 代码如下:
$db = pc_base::load_model('content_model'); //付为志修改
$modelid = $this->categorys[$catid]['modelid'];
$db->set_model($modelid);
$cturl = $db->get_one(array('id'=>$id), '`cturl`');
if(!empty($cturl['cturl'])) $url_arr[2]=$cturl['cturl'];
else $url_arr[2]='';

找到phpcmsmodulescontentcreate_html.php,
定位到函数
 

复制代码 代码如下:
private function urls($id, $catid= 0, $inputtime = 0, $prefix = '')


修改为
 

复制代码 代码如下:
private function urls($id, $catid= 0, $inputtime = 0, $prefix = ''){
$urls = $this->url->show($id, 0, $catid, $inputtime, $prefix,'','edit');
//更新到数据库
$url = $urls[0];
if(!empty($urls[2]))//付为志修改
{
$url = $urls[2];
}
$this->db->update(array('url'=>$url),array('id'=>$id));
//echo $id; echo "|";
return $urls;
}

保存测试下

如果更新url之后生成的路径有问题的话。测需要做如下操作:找到phpcmsmodulescontentclasses文件html.class..php文件鼠标定位到169行添加如下代码:
 

复制代码 代码如下:
将$file = PHPCMS_PATH."/".$cturl
修改为
//if(empty($cturl)) $file = PHPCMS_PATH.$file;  ///付为志修改
//else $file = PHPCMS_PATH."/".$cturl;