我的主网站kansasoutlawwrestling.com
将使用Codeigniter,然后我也为自己创建了一个CMS,它是一个独立的实体,位于kansasoutlawwrestling.com/kowmanager
。
我的CMS将使用不同的CSS,javascript和图像文件,所以我想知道我是否应该只安装两个不同的CI。我试着查看PyroCMS,但文件夹太多,我在理解文件结构方面遇到了问题。适当的设置是什么?
答案 0 :(得分:5)
Codeigniter的基本结构是你的根文件夹中有2个文件夹和1个文件:
root/application/
root/system/
root/index.php
现在,显然,您可能还有更多文件和文件夹,但这些是每个Codeigniter应用程序运行的基础。
这些都做了什么?首先,每个页面请求都从 index.php 开始。这个页面设置了一些配置和一些常量,然后交给Codeigniter。
“Codeigniter”在哪里?这将是 system 文件夹。您或其他任何人都不应该触摸此文件夹。与您的应用相关的所有内容都存储在应用文件夹中。这包括您的所有配置,控制器,模型,视图,甚至库扩展(尽管您可以存储此文件夹之外的其他内容,例如images / css / js / fonts等。)
因此,设置商店的正确方法是:
root/application/
root/system/
root/index.php
root/kowmanager/application
root/kowmanager/index.php
但是,您必须通知您的kowmanager的 index.php system 文件夹不在同一目录中。因此,在 index.php (在 kowmanager 中),在第25行附近,您应该看到:
$system_path = "system";
只需将其更改为:
$system_path = "../system";
你已经完成了。
现在,您的应用程序(您的主站点和CMS)将共享相同的Codeigniter基础。在更新CI时,您将在主系统文件夹中执行此操作...
答案 1 :(得分:3)
我已经完成了几个Codeigniter CMS并采用了两种方式:
起初我喜欢集成方法的便利性:当我需要前端和后端的自定义库或图标文件时,它可以不用重复。我已经改变了主意。
我现在的意见是,经过4年左右的时间研究这些产品后,拥有集成CMS的好处是短暂的。
我的建议:单独安装。
答案 2 :(得分:3)
如果我是你,我可能不会去单独的应用程序路径。如果您正在共享呈现页面或登录用户的代码之类的内容,那么您将重复进行两次安装。显然,两个单独的安装只需要一个您共享的系统文件夹,因为系统中没有任何变化。如果是我,我可能只是在config/routes.php
文件中设置一条路线。
如下所示(假设您在控制器文件夹中名为'kowmanager'的文件夹中有一个名为'kowmanager'的控制器):
// This would redirect all calls to kansasoutlawwrestling.com/kowmanager
// to the kowmanager controller.
$route['kowmanager'] = "kowmanager/kowmanager";
// Redirects all kowmanager/method requests to the kowmanager folder
// and a particular controller
$route['kowmanager/(:any)'] = "kowmanager/$1";
// Redirects all kowmanager/method requests to the kowmanager folder and a
// particular controller and method inside controller.
$route['kowmanager/(:any)/(:any)'] = "kowmanager/$1/$2";
可能不是最佳选择,但这意味着您不会重复相同的代码两次,并且您基本上在一个内部创建了两个应用程序。还有很多其他方法可以做到这一点,包括.htaccess文件中的一些重写。
如果您想要更简单的选项,请单独安装并注意代码重复。坚持干(不要重复自己)的方法。