Joomla - 如何将 .js 和 .css 文件插入到一个单独的 Joomla 文章中?

8

一个Joomla网站的单个页面是否可以包含自己的定制.js和.css文件?

我想为特定页面添加两个自定义JavaScript和CSS文件,但不希望这些文件包含在任何其他Joomla页面中。

欢迎提出任何建议。

谢谢!

3个回答

1

Soygul的解决方案不会产生正确的HTML,因为这些语句/包含属于HTML头部。

使用:http://extensions.joomla.org/extensions/edition/custom-code-in-modules/11936 该插件允许将内容插入到Joomla网站的头部部分。

然后,您可以使用菜单分配功能将其添加到特定页面。


编写一个简单的模块非常容易,但既然已经有现成的,就使用那个吧。如果不符合您的需求:

您只需要一个包含以下两个语句的“空/你好世界”模块: (http://docs.joomla.org/Creating_a_Hello_World_Module_for_Joomla_1.5) (http://docs.joomla.org/Adding_JavaScript_and_CSS_to_the_page)

// Add a reference to a Javascript file
// The default path is 'media/system/js/'
JHTML::script($filename, $path, $mootools);

// Add a reference to a CSS file
// The default path is 'media/system/css/'
JHTML::stylesheet($filename, $path);

1

尝试使用自定义代码扩展,例如JUMI。它专门为此目的而设计。

从描述中可以看出:使用Jumi,您可以将php、html、javascript脚本包含到模块位置、文章、类别或部分描述中,或者包含到您自己制作的自定义组件页面中。


链接已失效...不太鼓舞人心。 - pufferfish

0

我不太喜欢在 Joomla 上添加新的扩展,除非绝对必要。如果您这样做,请确保它不在 Joomla 的易受攻击扩展列表中。每个第三方扩展/插件都是黑客潜在的后门。

要为页面添加自定义 CSS,您可以编辑模板的主 CSS 文件,或者创建自己的文件并将其链接到项目。以下是如何操作:

首先,确定如何调用您的 CSS 文件。实际文件名肯定会因您使用的模板而异,但让我们看一下 Joomla 系统模板,它位于 templates/system。index.php 文件控制所有内容,因此打开它,您会找到以下行:

<?php
include dirname(__FILE__).DIRECTORY_SEPARATOR.'component.php';
?>

打开 component.php 文件,你会看到一些类似于这样的代码:

<head>
    <jdoc:include type="head" />
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/general.css" type="text/css" />

您可以在第三行看到包含CSS文件的调用。您只需要添加另一行调用您创建的CSS文件即可。创建一个名为/templates/system/css/custom.css(或任何您喜欢的名称)的新文件,并将component.php中的代码段重写为以下内容:

<head>
    <jdoc:include type="head" />
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/general.css" type="text/css" />
    <link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/system/css/custom.css" type="text/css" />

现在,您可以在新创建的custom.css文件中编写自己的CSS代码。您可以使用RocketTheme或YooTheme的任何模板系统轻松完成此操作。实际上,如果您使用它们的模板之一,它们可能已经有了一个custom.css文件,您只需将自己的代码添加到其中即可。但是请注意,如果您以这种方式进行操作,然后稍后更新模板,您将失去代码添加。这就是为什么我更喜欢编写自己的文件。您可能可以做类似的事情来包含自定义JS代码,但我倾向于避免JS,所以其他人将不得不解决如何链接到自定义JS文件的问题。

3
您的方法会将代码添加到每个页面,但问题指定了只将代码添加到特定页面。 - Brent Friar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接