有人知道如何在不更改Joomla核心的情况下删除元标记描述。我发现addup $ this-> setDescription(null);在我的模板中,它可以工作,但这只是将标签留空。我想完全取消它。
我花了整整一个下午的研究,但似乎更换核心是唯一的选择,但我对此选项不满意,因为未来的升级可能会覆盖我的更改。
提前致谢!
答案 0 :(得分:2)
在templates / mytemplate / component.php /index.php中删除以下内容:
<jdoc:include type="head" />
这将删除所有元素
然而它也将删除所有js&amp; css文件哪个不酷!所以我会这样做:
以数组形式访问所有头元素:$document = $this->getHeadData();
访问路径参考:$baseURL=JURI::base(true);
获取所有脚本(包括所有加载了addScript()方法):
foreach ($document[scripts] as $key=>$value){
if (stristr($key,$baseURL)==NULL){$url= $baseURL."/".$key ;}else{$url=$key;}
$scripts .= "<script type=".$value." src=".$url."></script>";
};
获取所有样式表(包括所有加载了addStyleSheet()方法):
foreach ($document[styleSheets] as $key=>$value){
if (stristr($key,$baseURL)==NULL){$url= $baseURL."/".$key ;}else{$url=$key;}
$style .= "<link rel='stylesheet' type=".$value[mime]." href=".$url." />";
};
获取所有内部脚本元素(例如,使用addScriptDeclaration或JFactory :: getEditor添加),使用脚本方法:
foreach ($document[script] as $key=>$value){
$scripts .= "<script type=".$key." >".$value."</script>";
}
获取所有自定义脚本(例如编辑器初始化参数):
foreach ($document[custom] as $value){
$custom .= $value;
}
最后回应<head>
中的陈述:
<?
echo $style;
Echo $scripts;
echo $custom;
?>
答案 1 :(得分:1)
另一种方式(没有黑客攻击component.php)是在模板文件夹中创建一个新的tmpl文件,即:
[path to install]/template/mytemplate/
在该文件夹中将有Index.php和component.php 你可以创建另一个,例如blank.php 并指定您想要的标题
<jdoc:include type="component" />
使用?tmpl=blank
答案 2 :(得分:0)
这可以使用插件完成。没有一个可以完全删除我知道的标签,但是这是一个完全删除生成器标签的插件。您可以轻松修改此插件,以便为描述标记执行相同的操作。
http://extensions.joomla.org/extensions/site-management/seo-a-metadata/12556