0

有谁知道如何在不更改 Joomla 核心的情况下删除元标记描述。我发现加起来 $this->setDescription(null); 在我的模板中它可以工作,但这只是将标签留空。我想把这个脱掉。

我花了整个下午研究,但似乎改变核心是唯一的选择,但我对这个选项并不满意,因为未来的升级可能会覆盖我的更改。

提前致谢!

4

3 回答 3

2

在 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;
?>
于 2011-07-20T13:07:55.873 回答
1

另一种方法(不破解component.php)是在模板文件夹中创建一个新的tmpl文件,即:

[path to install]/template/mytemplate/

在该文件夹中将有 Index.php 和 component.php 您可以创建另一个,例如 blank.php 并在此处指定您想要的标题

<jdoc:include type="component" />

调用它?tmpl=blank

于 2011-08-03T19:42:33.487 回答
0

这可以通过插件来完成。据我所知,没有一个可以完全删除标签,但是这是一个完全删除生成器标签的插件。您可以轻松地修改此插件以对描述标签执行相同的操作。

http://extensions.joomla.org/extensions/site-management/seo-a-metadata/12556

于 2011-01-15T03:04:02.123 回答