有谁知道如何在不更改 Joomla 核心的情况下删除元标记描述。我发现加起来 $this->setDescription(null); 在我的模板中它可以工作,但这只是将标签留空。我想把这个脱掉。
我花了整个下午研究,但似乎改变核心是唯一的选择,但我对这个选项并不满意,因为未来的升级可能会覆盖我的更改。
提前致谢!
在 templates/mytemplate/ component.php /index.php 中删除以下内容:
<jdoc:include type="head" />
这将删除所有元素
但是它也会删除所有不酷的 js 和 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;
?>
另一种方法(不破解component.php)是在模板文件夹中创建一个新的tmpl文件,即:
[path to install]/template/mytemplate/
在该文件夹中将有 Index.php 和 component.php 您可以创建另一个,例如 blank.php 并在此处指定您想要的标题
和<jdoc:include type="component" />
调用它?tmpl=blank
这可以通过插件来完成。据我所知,没有一个可以完全删除标签,但是这是一个完全删除生成器标签的插件。您可以轻松地修改此插件以对描述标签执行相同的操作。
http://extensions.joomla.org/extensions/site-management/seo-a-metadata/12556