如何缓存脚本?

时间:2014-05-13 09:43:15

标签: javascript php jquery caching yii

在我的应用程序中,有一个视图Upload.php

我想缓存负责在页面上生成文件列表的脚本,因为它非常静态,不会经常更改。

代码:

<!-- DOWNLOAD TEMPLATE -->      
<script id="template-download" type="text/x-tmpl">
{% for (var i=0, file; file=o.files[i]; i++) { %}
    <tr class="template-download fade" search-name="{%=file.name%}">
    {% if (file.error) { %}
        <td class="name">
            <span class="delete"><input type="checkbox" name="delete" value="1" class="nomargin"></span>
            <span >{%=file.name%}</span>
        </td>
        <td class="size right"><span>{%=o.formatFileSize(file.size)%}</span></td>
        <td class="error" colspan="2"><span class="label label-important">Error</span> {%=file.error%}</td>
    {% } else { %}
        <td class="name">
        <span class="delete"><input type="checkbox" name="delete" value="1" class="nomargin"></span>

        {% if (file.status_code == 2 || file.status_code == 3) { %}                             

            <!-- TRACE IN PROCESSED / PARTIALLY PROCESSED STATE -->

            <span class="clickcursor {% if (!file.shared_in) { %} filename {% } %}" title="Click here to Analyze" data-file="{%=file.name%}"
            data-target="[tracefile]" data-id="{%=file.id%}"
            data-idtarget="[trace_id]" data-formid="dashboard">
            {%=file.name%}
            </span>

            <!-- SHARED IN / SHARED OUT ICON -->

            {% if (file.shared_in) { %}
                <span class="shared-by" title="Shared by {%=file.shared_by%}">&nbsp;&nbsp;<img src="<?php echo $baseURL
                ?>/wizshark/img/shared.png"/></span>
            {% } %}
            {% if (file.shared_out) { %}
                <span class="shared-with" title="Shared with {%=file.shared_with%}">&nbsp;&nbsp;<img src="<?php echo $baseURL
                ?>/wizshark/img/shared.png"/></span>
            {% } %}

            <!-- NOTES EMPTY / NOTES FILLED ICON -->

            {% if (file.notes == '') { %}
                <span class="notes empty clickcursor" title="Add notes" style="display:none;">&nbsp;&nbsp;<img src="<?php echo $baseURL
                ?>/wizshark/img/notes_empty.png"/></span>
            {% } else { %}
                <span class="notes clickcursor" title="View notes">&nbsp;&nbsp;<img src="<?php echo $baseURL
                ?>/wizshark/img/notes_filled.png"/></span>
            {% } %}
        {% } else { %}

正如你所看到的,这里使用了很多数据绑定,无论如何,我想将整个脚本/模板保存在缓存中,有没有办法实现呢?
通过任何框架或记忆技术在这里..

1 个答案:

答案 0 :(得分:0)

您可以使用CAssetManager将任何类型的文件发布到assets文件夹;

请参阅此处的发布功能http://www.yiiframework.com/doc/api/1.1/CAssetManager#publish-detail

发布后,您可以使用返回的publish()

网址在视图中加载脚本