我只需要将Panoramio javascript添加到Joomla网站的部分中。在WordPress中,我只需下载header.php模板并开始编写代码。
理解Joomla太困难了。我知道不能直接粘贴到“文章”页面上,所以我是否需要安装某种扩展或工具才能使其工作?
我看过一篇关于在我的模板中编辑index.php的文章,但我甚至找不到它。我是唯一一个完全不理解Joomla的人吗?即使是初学者文档也似乎假定我已经熟悉他们的系统。先谢谢你了。
在添加代码时,请注意要添加到哪些文件中。编辑模板文件夹中的index.php等核心文件可能不是最佳方案。如果存在模板更新,该文件将被覆盖。所以请记住这点。
在添加脚本之前,获取当前模板名称是一个好主意:
$app = JFactory::getApplication();
$template = $app->getTemplate();
.js
文件导入到<head>
标签中:$doc = JFactory::getDocument(); //only include if not already included
$doc->addScript(JUri::root() . 'templates/' . $template . '/file.js');
$doc = JFactory::getDocument();
$js = "
//javascript goes here
";
$doc->addScriptDeclaration($js);
你绝对不是唯一一个有这种情况的人。Joomla被设计成可以处理你需要它做的任何事情,这使得它变得相当复杂。
如果你希望脚本在整个站点中可用,你最好将脚本添加到你提到的模板index.php文件中。如果你只需要它用于特定的模块或组件,则应该在那里加载它。在你的情况下,由于你对Joomla还比较新,我们只需让它加载即可!
导航到你的基本Joomla目录(安装Joomla的位置)并寻找模板文件夹。在其中,你应该有几个文件夹。希望你知道你当前正在使用哪个模板,打开那个文件夹,里面应该有一个index.php文件。这个文件的顶部应该类似于Wordpress的header.php文件。在头元素中添加你的脚本标签,它就会加载。
如果你不知道你当前模板的名称,进入后端Extensions->Template Manager。那里应该有两个带右边星号的选项卡。一个应该标记为“administrator”,另一个应该标记为“site”。在templates文件夹中你要寻找的文件夹名称应该与“site”模板的名称相匹配。
以下是一个关于你需要做什么的快速教程:
/templates
文件夹中(找到你的模板)<head>
标签如何添加这个:
$doc->addScript($this->baseurl.'/templates/'.$this->template.'/javascript/YOURSCRIPT.js', 'text/javascript');
确保这行代码已经存在:
$doc = JFactory::getDocument();
注:因为你没有说明你使用的 Joomla! 版本,所以这个例子来自 Joomla! 2.5,当前的 LTS 版本。
P.S. 你也可以在 <head>
标签后面正常地插入脚本。
我不是JavaScript专家,但我有一个AJAX应用程序,而且在不修改任何模板文件的情况下完美运行。问题是它将JavaScript添加到页面底部,而不是头部。我不知道这是否是一个问题,但对我来说它有效。
1)转到“扩展”->“模块管理器”
2)创建一个新模块。将其命名为JavaScript Footer(例如)
3)在“详细信息”选项卡下,将“显示标题”设置为隐藏,将“位置”设置为调试,将“状态”设置为已发布,并将“访问权限”设置为公共
4)在“自定义输出”选项卡下,键入 <script type="text/javascript" src="http://yourdomain.com/yourscript.js"></script>
我从来没有理解为什么有些脚本在头部,而其他脚本在body底部(例如Google Analytics),但对我来说它有效。