在Yii框架中,我应该把自定义小部件文件放在哪里?

8

从这个页面开始,

http://www.yiiframework.com/wiki/23/how-to-create-a-breadcrumb-widget/

看起来建议我们把文件放在组件文件夹中。但是如果我的小部件包含 JavaScript 和 CSS 文件,这些文件应该放在哪里?

顺便问一下,我将其创建为扩展是否是个好主意?如果我这样做,所有小部件文件都将更自包含地放在扩展文件夹内的一个文件夹中。但由于我要开发的小部件非常定制化,不太可能对其他人或我的其他项目有用。将其作为扩展似乎有点奇怪。

我知道只要我在代码中使用的路径正确,放置这些文件的位置并不重要,但我想了解常见的实践方法。

2个回答

11

我认为通常的做法是将widget放置在扩展文件夹中,其中js和css文件位于名为asset的文件夹中。在php类文件中,您首先要通过Yii资产管理器发布资产来进行初始化。 文件结构可能如下所示:

extensions/
   widget_name/
     widget.class.php
     assets/
         plugin.js
         style.css

1
请问您能否解释一下如何发布这些文件并在视图文件中使用它们。 - hemc4
当我输入use app...\WidgetName.php时,扩展文件夹没有被看到。如何将其添加到那里? - Tebe

8

我建议将小部件放在/protected/extensions目录下。 我稍微详细地说明了资产的位置:/protected/extensions/WidgetClassName/assets/,小部件视图文件在/protected/extensions/WidgetClassName/views/...

不要忘记编辑你的/protected/config/main.php并在“import”部分中添加一行(用于自动加载小部件):'ext.WidgetClassName.WidgetClassName.*'


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