zepluf/plugin-ricjloader

"CSS - JS 加载器"插件

安装次数: 70

依赖: 1

建议者: 0

安全: 0

星标: 6

关注者: 2

分支: 3

开放问题: 1

语言:JavaScript

类型:zepluf-plugin

dev-master 2013-02-23 16:26 UTC

This package is not auto-updated.

Last update: 2024-09-28 13:32:12 UTC


README

riCjLoader 是 RubikIntegration.com 的产品。该插件/模块旨在用于 Zencart 电子商务框架

功能

  • 允许不同的插件最小化 JavaScript 冲突
  • 通过最小化和合并 CSS/JavaScript 文件来加速网站性能
  • 加载位于根文件夹外的文件
  • 从模板文件内部加载文件
  • 尽可能晚地加载 JavaScript 文件(以加快页面渲染速度)

安装

先决条件

您必须先安装我们的 Zencart 插件框架(ZePLUF),才能使用此插件:https://github.com/yellow1912/ZenCartPluginFramework

如果您没有 ZePLUF,请使用此模块的主分支,它适用于没有 ZePLUF 的用户

安装非常简单

  • 只需将此插件放入 plugins/ 文件夹中(如果您安装了 ZePLUF,则应该有此文件夹)
  • 打开 plugins/settings.yaml 文件,并将 riCjLoader 添加到前端预加载列表中(我们正在努力使此步骤更加简单)
  • 打开 includes/templates/your-current-templates/common/html_header.php 文件。如果没有,可以从 template_default/ 文件夹中复制。

查找

/**
* load all template-specific stylesheets, named like "style*.css", alphabetically
*/

删除找到 </head> 之前的所有内容

如需帮助和专业安装,请联系我们:http://helpdesk.rubikintegration.com

用法

从任何模板文件中加载

$view['loader']->load(array($array_of_files_to_load), $location, $silent)

$location 是可选的,您可以传递 "head"、"footer" 或什么都不传。注意,CSS 文件始终在头部加载。

$silent 是可选的,您可以传递布尔值,默认值为 false。此参数允许您告诉 cjloader 不要在该特定位置打印出加载器容器,更多内容将在后面解释。

正确格式的 $array_of_files_to_load

array('filename1.php' => array('type' => 'css'), 'filename3.css', 'filename2.js')

每个文件名之后的数组是可选的,通常仅在您想加载 PHP 文件时需要,此时您必须指定文件的类型

注意

  • 文件可能不会在确切的位置加载,加载器可能会决定在可能的位置加载文件。
  • 文件将按照数组中给出的确切顺序加载。例如,如果您传递 array('abc.js', 'def.js'),则 abc.js 将在 def.js 之前加载。
  • 如果多个插件/模板文件请求加载同一个文件,则该文件只会在最早的位置加载一次,以确保可供其他程序使用。
  • 如果您在一个位置需要加载一个文件,比如 my_file.js,并且该文件需要 abc.lib js 运行,那么您应该始终将 abc.js 也放入加载列表中(即使您可能知道之前已经请求了 jquery.js)。不要担心,加载器会做艰苦的工作,并决定为您加载的位置,并且只会加载一次。

加载内联 CSS/JS

您可以使用我们的加载器轻松加载内联 CSS 和 JS,有两种方法

假设我们需要在这里加载内联 JS,同时也使用 jQuery:$view['loader']->load(array('jquery.lib', 'inline.js' => array('inline' => '$("#test".html("test"))')))

请注意,在上面的示例代码中,我们将 inline.js 放在了文件名中,你可以使用任何名称,但必须使用正确的扩展名(js 或 css)。如果你在多个加载位置使用了相同的名称 inline.js,请不要担心,它们都会被加载。

第二种方式加载内联 css/js

使用上述示例

$view['loader']->load(array('jquery.lib'));
$view['loader']->startInline();
?>
  $("#test".html("test"))
<?php
$view['loader']->endInline();

如果你查看上述示例,可能会注意到有时我使用了 jquery.lib,.lib 扩展名将告诉加载器加载 jquery 库(所有库目前都定义在 riCjLoader/configs/ 文件夹中。库允许你指定多个版本以及多个文件(包括 css 和 js)。例如,请求 jquery.ui.lib 将为你加载 css 和 js 文件。