【问题标题】:How can I beautify asset URLs in Yii?如何美化 Yii 中的资产 URL?
【发布时间】:2011-12-10 18:23:39
【问题描述】:

Yii 有一个assets 的概念——资源,例如属于一个模块的图像、样式表和javascript。为了避免模块之间的命名冲突,Yii 会根据需要将模块的资源发布到 Web 应用资源文件夹的唯一命名的子文件夹中。

例如,由 yiic 自动生成的项目提供链接到 jquery 的 HTML 页面,如下所示:

<script type="text/javascript" src="/www/myproject/assets/b420fe6b/jquery.js"></script>

如何将“b420fe6b”更改为更具可读性的内容(同时仍然获得资产和模块的好处)?我希望人们在“查看源代码”中看到的内容清晰易读,而不仅仅是服务器上的源代码。

【问题讨论】:

    标签: php url yii


    【解决方案1】:

    http://www.yiiframework.com/wiki/148/understanding-assets/

    Yii 文档将这些资产 url 解释为“Yii 创建的唯一名称,不会与任何其他发布资产的模块发生冲突

    看起来这是一个可能无法美化的功能,因为它作为唯一标识符的功能性质...

    更新: 但是,如果您能够找到在您的 yii 代码中引用您的资产 url 的所有位置(最后包括文件夹名称本身),您也许可以将它们更改为更容易看到的东西。 (不推荐它,因为你永远不知道你可能会刹车!- 并且在 10,000,000,000 分之一的机会中,yii 创建的下一个资产 URL 与美化后的 URL 相同,哈哈

    【讨论】:

    • 有没有办法告诉资产经理使用我选择的可读 ID,我知道在我的项目中是唯一的? (或者使用模块名称作为默认 ID,除非出现两个同名模块的罕见情况?)
    • 查看 CAssetManager 文档,该类似乎没有提供任何允许您设置资产 url 的方法/属性...您可能只需要手动进行(之后自己重命名)创建,然后找到所有引用并重命名它们......)可能有效,但它会是一个黑客。
    • 我怀疑这可能是不可能的。感谢您确认。我会等一会儿,然后接受你的回答(除非有人想出了一个你我都忽略的惊人技巧)。
    • 没问题。如果有人对此有非黑客解决方案,那就太酷了——我很想看看它是如何完成的。
    猜你喜欢
    • 1970-01-01
    • 2014-11-22
    • 1970-01-01
    • 2012-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-01
    相关资源
    最近更新 更多