【问题标题】:HMVC in Codeigniter - assets folderCodeigniter 中的 HMVC - 资产文件夹
【发布时间】:2016-03-04 09:57:28
【问题描述】:

我正在使用 HMVC 在 Codeigniter 中开发一个应用程序。现在我有这个文件夹结构:

-Aplication
-Assets
--Module1
---js
---css
--Module2
-System 

但我想将每个资产模块迁移到模块文件夹中

-Application
--Modules
---Module1
----assets
----controllers
----views
----models

我正在尝试一切,但没有成功。我无法访问放置在模块内的资产文件夹。

知道如何访问该文件夹吗?

【问题讨论】:

  • 所以在你的应用程序中会有另一个像assets这样的文件夹,在模块中制作文件夹的逻辑是什么
  • 因为我想让它在模块中分开。从管理面板安装模块会更好。就像在 wordpress 插件中一样,每个插件都有自己的资产文件夹
  • 我会在应用程序文件夹之外拥有资产。建议这样做。应用程序文件夹中的 htaccess 阻止它。
  • @wolfgang1983 OP 没有提到任何关于在应用程序文件夹之外也没有资产的事情。他的观点是在同一个模块文件夹中获取与模块相关的特定资产,这是有道理的,我有兴趣自己了解解决方案。顺便说一句,你可以在任何你想要的地方拥有 .htaccess 文件,如果你想要阻止所有资产的文件夹,你可以为每个资产文件夹拥有一个 .htaccess 或使用 <Directory> directives 指向根 .htaccess 中的每个模块...

标签: javascript php codeigniter assets hmvc


【解决方案1】:
<a href="<?php echo base_url() ?>application/modules/modules1/assets/css/style.css">Link</a>

【讨论】:

  • 当然,但在源文件夹中,您将能够看到整个应用程序路径。这个应用程序有两个界面用户和管理员
  • 如果我明白你的要求...在资产内创建一个名为 admin 的文件夹,并为用户创建另一个文件夹。在哪里添加你需要的东西..我希望这是有道理的
  • 我想要一个模块化应用程序,我可以在其中安装滑块等模块。我想要做的是将模块包放入模块文件夹中,其中包含所有资产视图和逻辑。并在应用程序的特定位置调用该模块。但我无法访问放置在模块文件夹中的资产,我不想让用户知道应用程序结构文件夹
【解决方案2】:

我在 Module 类中添加了一个数组来存储资产和两个函数来存储/检索项目。这是源代码(更新的 Modules.php)

        #Reigister your assets
        public static function register_asset( $asset )
        {
           if( in_array($asset,self::$assets) === FALSE )
           {
              self::$assets[] = $asset;
           }
        }

       public static function assets()
       {
             return self::$assets;
       }

现在你可以像这样在你的模块中注册你的资产

Modules::register_asset('myslider.js');

您可以使用

检索所有资产
Modules:assets();

这将返回一个可以根据情况处理的资产数组。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-09
    • 1970-01-01
    • 1970-01-01
    • 2013-08-26
    • 1970-01-01
    • 2013-08-21
    • 2013-11-18
    • 1970-01-01
    相关资源
    最近更新 更多