【发布时间】:2011-06-04 03:05:11
【问题描述】:
我正在开发一个 CMS,它不是自动生成页面,而是生成代码并将其提供给用户以添加到他们的 php 页面。
我正在将应用程序迁移到 CI,但正在为如何设置此过程而苦恼。
通过制作 2 个 codeigniter 索引页面(一个用于主应用程序,另一个用于连接更改初始控制器和索引路径),这几乎可以正常工作,我想要的是这样的:
<?php include("cms/connector.php"); ?>
<html>
..
<body>
<h1>Static</h1>
<?php echo($cms['data']); ?>
</body>
它正确地拉取文件并运行被调用的视图,但视图中的变量没有保存。
不过,我还需要能够定位他们试图获取的 cms 页面:
<?php include("cms/connector.php/cms/2"); ?>
不再工作(我猜是因为没有扩展?)如果我可以让这部分工作我不需要担心变量,因为我可以直接在页面上包含视图
任何想法都会很棒
该应用程序可以托管在各种设置上,所以如果我可以绕过包含直接 url (http) 的需要,我希望它,因为它可能并不总是默认打开。此外,我不想使用 ajax,因为我希望内容能够被搜索引擎很好地提取
【问题讨论】:
-
您能否澄清“它正确地提取文件并运行被调用的视图,但视图中的变量未保存。”视图中的变量是什么意思?你的意思是什么时候提交表格?或者你的意思是你的视图文件中的变量没有显示出来? “2个codeigniter索引页”是什么意思?你是说两个控制器吗?
-
对不起,当我说变量没有保存时,我只是说它们没有传输到包含它们的页面,但是如果我在页面上显示的视图中回显某些内容,则视图正在工作。我不希望变量被传递,但不确定是否有办法将它们传递给包含它们的文件。
-
由于我的第二个问题,我正在弄乱两个代码点火器索引页面(根索引页面),试图通过访问 /cms/index2.php 而让第二个进入不同的控制器,其中包含似乎仅适用于索引页面,之后不适用于任何控制器
-
我很困惑你为什么要访问两个 index.php 文件。 Codeigniter 使用 url 来指定控制器/函数/参数。如果您需要将用户引导到另一个“页面”,为什么不将它们发送到特定的控制器并加载您想要显示的视图?这可能是您的变量未显示的原因...您是否在使用 $this->load->view('myview',$data_to_send_to_view);?
-
我正在使用的脚本不在 codeigniter 中。我的 codeigniter cms 应用程序理想情况下会吐出用户放在他们网页上的代码。该代码将从mysql中提取内容。
标签: php codeigniter path include