【问题标题】:how to create dynamic content explicitly in the main views on codeigniter如何在 codeigniter 的主视图中显式创建动态内容
【发布时间】:2017-12-27 05:37:12
【问题描述】:

我需要帮助来完成一个包含一些现有 html 页面的网页。我需要使用许多现有的 html 页面动态加载我的新网页。现有的是带有每个自己的资产文件夹的html格式。因此,我使用 CodeIgniter 框架作为我的新主网页。

我的 Web 文件夹结构如下:

Project
|
|-->application
    |        
    |-->controllers
    |-->views
        |
        |-->main.php [Main index file]
        |-->Module01 [sub content (Dynamic) directory of main.php]
            |
            |-->ContentA [Section 1 of Module01]
                |
                |-->story_html5.html [I want to be sub content of main.php]
                |-->mobile [assets of story_html5.html]
                |-->story_content [resources of story_html5.html]
            |
            |-->ContentB [Section 2 of Module01]
                |

Web Structure Folder 1

Web Structure Folder 2

我的主页(模板)是main.phpview 目录中。我想将文件story_html5.html作为嵌入内容动态地放在main.php中。因此,内容页面可以随着用户单击主页上的任何链接而动态变化。它可以切换到另一个模块内的另一个story_html5.html,或ContentB目录。 并且story_html5.html 已经在其名为mobilestory_content 目录的同一位置目录(子目录)上有资源和资产。它包含一些js、css和flash文件。

问题是,我可以使用 CodeIgniter 加载也位于 view 目录中的动态内容(及其资源)吗?或者有没有更好的方法来做到这一点? 我可以在没有 php / 框架的情况下使用这样的对象元素来做到这一点:

<object type="text/html" data="Module01/ContentA/story_html5.html"></object>

但我需要一些安全性和一些url参数规则,所以我使用php框架。

** 我已经从控制器中为我的左侧菜单制作了动态页面,如本页所述:load view within div tag using codeigniter

====== 已编辑 ======

我已经像这样从我的控制器中抛出了这个变量:

$data['content'] = $this->load->view('Module01/ContentA/story_html5.html');

但问题是,页面内容(story_html5.html)没有加载其内容资源(js、css和flash文件)。

问候,

【问题讨论】:

  • 我有点困惑,我把这个问题读了两遍。我知道您想根据用户规范在视图中加载不同的“模块”,并且由于某种原因您的内容资源没有被加载,但我没有看到您的任何视图文件代码。 (1) 为什么不将内容资源包含在顶部的say story_html5.html 资源中? (2) 如果这不是您想要做的,请将其设为 .php 文件并通过控制器传递变量,例如$this-&gt;load-&gt;view('Module....', array('css' =&gt; 'somecss.css', 'js' =&gt; 'somejs.js')) 与 (1) 基本相同。
  • @Alex 感谢您的帮助,非常感谢您的评论。我最后只是将我现有的模块移动到“应用程序”目录之外。然后我仍然在我的main.php 视图侧使用像这样&lt;object type="text/html" data="&lt;?php echo base_url(); ?&gt;Module01/ContentA/story_html5.html" &gt;&lt;/object&gt; 的html 元素代码。

标签: php codeigniter


【解决方案1】:

我终于能够解决这个问题,只需将我的所有模块目录移动到application 目录之外。然后从我的观点来看,即main.php,我可以使用object 元素调用模块,如下所示:

&lt;object type = "text/html" data = "&lt;?php echo base_url(); ?&gt;Module01/ContentA/story_html5.html"&gt;&lt;/object&gt;

所以,我不需要为 html 模块中的数百个文件更改任何代码。正常加载了css和js等资源。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-29
    • 1970-01-01
    相关资源
    最近更新 更多