【发布时间】: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]
|
我的主页(模板)是main.php 在view 目录中。我想将文件story_html5.html作为嵌入内容动态地放在main.php中。因此,内容页面可以随着用户单击主页上的任何链接而动态变化。它可以切换到另一个模块内的另一个story_html5.html,或ContentB目录。
并且story_html5.html 已经在其名为mobile 和story_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->load->view('Module....', array('css' => 'somecss.css', 'js' => 'somejs.js'))与 (1) 基本相同。 -
@Alex 感谢您的帮助,非常感谢您的评论。我最后只是将我现有的模块移动到“应用程序”目录之外。然后我仍然在我的
main.php视图侧使用像这样<object type="text/html" data="<?php echo base_url(); ?>Module01/ContentA/story_html5.html" ></object>的html 元素代码。
标签: php codeigniter