gpt4 book ai didi

php - 通过renderer/head.php编辑jdoc:include type = head的输出

转载 作者:行者123 更新时间:2023-12-01 23:12:36 26 4
gpt4 key购买 nike

我想很好地订购joomla网站的头部。搜索论坛后,我遇到了这个http://forum.joomla.org/viewtopic.php?f=642&t=671526&p=3283757#p3283757

有一个很好的建议是将/renderer/head.php文件复制到模板文件夹中,并根据当前需要对其进行更改。

他们建议

块引用
head.php中的render函数不使用$ name var,因此可以使用css文件分隔js和metatag并使用jdoc语句,如下所示:

jdoc:include type="head" name="head"  <-- will include all exept js (into
the head section)
jdoc:include type="head" name="foot" <-- for the js (before body tag closes)

块引用

但是我根本不知道如何实现这一点。

有在Joomla中编辑head.php的经验吗?我将不胜感激任何帮助。

最佳答案

我对此进行了一些调查,这样做似乎有些拙劣。

该解决方案目前正在Joomla 3. *上运行。

首先,您必须修改/librabies/joomla/document/document.php
进入该目录后,从此更新函数loadRenderer():

public function loadRenderer($type)
{
$class = 'JDocumentRenderer' . $type;

if (!class_exists($class))
{
$path = __DIR__ . '/' . $this->_type . '/renderer/' . $type . '.php';

if (file_exists($path))
{
require_once $path;
}
else
{
throw new RuntimeException('Unable to load renderer class', 500);
}
}

if (!class_exists($class))
{
return null;
}

$instance = new $class($this);

return $instance;
}

对此:

public function loadRenderer($type)
{
$class = 'JDocumentRenderer' . $type;

if (!class_exists($class))
{
$path = __DIR__ . '/' . $this->_type . '/renderer/' . $type . '.php';

$app = JFactory::getApplication('site');
$path_custom = JPATH_THEMES . '/' . $app->getTemplate() .'/html/renderer/' . $type . '.php';

if (file_exists($path_custom))
{
require_once $path_custom;
}
elseif (file_exists($path))
{
require_once $path;
}
else
{
throw new RuntimeException('Unable to load renderer class', 500);
}
}

if (!class_exists($class))
{
return null;
}

$instance = new $class($this);

return $instance;
}

实际上,新代码正在您的模板目录中查找渲染文件。

现在,您可以将 libraries/joomla/document/html/renderer/head.php复制到 templates/TEMPLATE_NAME/html/renderer/head.php并对其进行修改。

如果要使用这些:
<jdoc:include type="head" name="head" />
<jdoc:include type="head" name="foot" />

templates/TEMPLATE_NAME/html/renderer/head.php更新到此版本 here

关于php - 通过renderer/head.php编辑jdoc:include type = head的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29145806/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com