【问题标题】:Where is the list of scripts to be loaded stored?要加载的脚本列表存储在哪里?
【发布时间】:2022-01-09 09:30:31
【问题描述】:

在模板中,有些部分调用 Joomla 函数来加载多个 javascript 文件,而其他部分则调用 css 文件。 js 文件没有硬编码在模板文件中,AFAIK。 Joomla 在哪里存储 Javascript 文件的路径列表?


编辑


我正在寻找模板中这样使用的列表的来源:

$app = JFactory::getApplication();
$doc = JFactory::getDocument();
$this->language = $doc->language;

$load_favthb = true;
$lscripts = $doc->_scripts;

foreach ($lscripts as $k => $v) {
  if (strpos($k, 'favth-bootstrap') !== false) { $load_favthb = false; break; }
}

$doc->_scripts 的源存储在哪里?

【问题讨论】:

  • 如果所有 Joomla 问题都发布在 Joomla Stack Exchange 上,那将是最有帮助的。当通过无数渠道、平台和社交网络共享支持时,未来的研究人员将更难/更慢地找到他们需要的知识。请帮助我发展 JSE,Sloan。
  • 谢谢@mickmackusa。以后会做的。

标签: templates joomla3.0 script-tag


【解决方案1】:

如果您指的是由您的模板加载的 javascript 文件(而不是您网站上的扩展名),那么这些文件的路径通常位于您的模板文件之一中。

构建 Joomla 模板的方法有很多种,因此这些路径不会在每个模板的相同位置指定。但你总是从/templates/template-in-question/index.php顶部附近开始看

例如,您可能在 Joomla 3 网站上安装了 Beez3 模板。

从打开 /templates/beez3/index.php 开始,如果您从顶部往下看,您会发现 Javascript 文件在第 80-83 行加载

有些模板不是在 index.php 中加载 javascript 文件,而是将它们包含在插入到 index.php 中的辅助文件(通常名为“params”或“head”或“includes”)中。

无论哪种方式,从模板的 index.php 文件顶部向下扫描开始

编辑

$doc->_scripts 的源存储在哪里?

如果您想了解所有详细信息,请谷歌<jdoc: include type=”head” />,但大多数来自site-root/media/jui/site-root/media/system/

如果您要直接编辑其中一个文件,您的编辑可能会被 Joomla 更新覆盖。

更安全的方法是删除不需要的 js 脚本,然后添加替换。

// remove unwanted script . Path is relative to site root
unset($doc->_scripts[$this->baseurl.'/path/to/unwanted-script']);  
  
// add your replacement script. Path is relative to template root
$doc->addScript($tpath.'/js/new-script');

【讨论】:

  • 感谢您的信息。我找到了那些代码。我已经使用模板中的代码示例更新了问题,并对问题进行了一些澄清。基本上,我想替换一个正在加载的用于字段验证的脚本。
  • 感谢您的更新和示例!效果很好!
  • 太好了,我很高兴这有帮助。谢谢你告诉我!
猜你喜欢
  • 2017-11-17
  • 1970-01-01
  • 1970-01-01
  • 2010-11-03
  • 2022-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-07
相关资源
最近更新 更多