discuzX后台列表页


最近网站改版,遇到这个问题在频道中选择“列表页模板名”显示一堆重名文件——文章列表模板。

有位仁兄为了解决这个问题提供了一种解决办法:
打开文件:source\admincp\admincp_portalcategory.php
约990行:

$catetplselect .= '<option value="'.$k.'"'.$selected.'>'.$v.'</option>';

修改为:

$catetplselect .= '<option value="'.$k.'"'.$selected.'>'.$v.'['.$k.']'.'</option>';

我在阅读了一下程序后发现一段这样的代码(第964行):

$tpls[str_replace('.htm','',$file)] = getprimaltplname($file);

这个函数getprimaltplname($file)是干什么用的呢?
它的代码如下:

function getprimaltplname($filename) {
	global $_G, $lang;
	$content = @file_get_contents(DISCUZ_ROOT.($_G['cache']['style_default']['tpldir'] ? $_G['cache']['style_default']['tpldir'] : './template/default').'/portal/'.$filename);
	$name = $filename;
	if($content) {
		preg_match("/\<\!\-\-\[name\](.+?)\[\/name\]\-\-\>/i", trim($content), $mathes);
		if(!empty($mathes[1])) {
			preg_match("/^\{lang (.+?)\}$/", $mathes[1], $langs);
			if(!empty($langs[1])) {
				$name = !$lang[$langs[1]] ? $langs[1] : $lang[$langs[1]];
			} else {
				$name = dhtmlspecialchars($mathes[1]);
			}
		}
	}
	return $name;
}

各位仁兄看到这里也许就明白了,在模板中加入:

<!--[name]您的模板名[/name]-->

就能正常显示“列表页模板”的名字了!

Have any Question or Comment?

发表回复

Archives