雅风

请教如何去掉tag页面url里的mid值和下划线

 首页用标签调用tag,链接出来的url,没有mid值,但有下划线,正常内容页链接过来的tag的url里有mid值和下划线,如何去掉呢 
#1楼
发帖时间:2018-5-15   |   查看数:0   |   回复数:7
雅风
已搞定,奉上方法给其他需要的朋友使用:

twcms/view/parseurl_control.class.php:

// 标签URL

			$len = strlen($cfg['link_tag_pre']);
			if(substr($uri, 0, $len) == $cfg['link_tag_pre']) {
				$len2 = strlen($cfg['link_tag_end']);
				if(substr($uri, -$len2) == $cfg['link_tag_end']) {
					$newurl = substr($uri, $len, -$len2);
					$u_arr = explode('_', $newurl);
					if(count($u_arr) >= 1) {
						$_GET['control'] = 'tag';
						$_GET['action'] = 'index';
						//$_GET['mid'] = $u_arr[0];
						$_GET['name'] = $u_arr[0];
						isset($u_arr[2]) && $_GET['page'] = $u_arr[1];
						return;
					}
				}
			}


twcms/model/cms_content_model.class.php:

// 标签链接格式化
	public function tag_url(&$mid, &$name, $page = FALSE) {
		// hook cms_content_model_tag_url_before.php

		if(empty($_ENV['_config']['twcms_parseurl'])) {
			$s = $page ? '-page-{page}' : '';
			return $this->cfg['webdir'].'index.php?tag--mid-'.$mid.'-name-'.urlencode($name).$s.$_ENV['_config']['url_suffix'];
		}else{
			return $this->cfg['webdir'].$this->cfg['link_tag_pre'].urlencode($name).($page ? '_{page}' : '').$this->cfg['link_tag_end'];
		}
	}



2018-5-15 #2楼
baidu2018
测试了不管用,虽然实现了,但是打开页面全成了404
2018-6-8 #3楼
ntbiz
没有啊
2018-7-31 #4楼
ntbiz
不错,找到了
2018-7-31 #5楼
hczcyy
感谢分享
2018-8-5 #6楼
老雷
不错,方法可用。谢谢
2020-7-17 #7楼
im3e
引用 雅风:

已搞定,奉上方法给其他需要的朋友使用: twcms/view/parseurl_control.class.php: // 标签URL
$len = strlen($cfg['link_tag_pre']); if(substr($uri, 0, $len) == $cfg['link_tag_pre']) { $len2 = strlen($cfg['link_ta


你这方法是不行的,会显示404错误
2022-12-4 #8楼
游客组