从外部脚本引导C5

时间:2013-02-23 13:53:27

标签: php concrete5

我正在编写一个导入脚本,以便为C5安装添加一些外部内容。

我不确定我需要包含哪些文件才能获得C5 API(没有像加载页面那样的任何操作)?

/concrete/dispatcher.php进行了大量的初始化,但我不确定需要哪些初始化。只包括dispatcher.php会导致脚本导航到安装对话框。

是否有规范的方法在外部工具中初始化C5?我在developer docs.

中找不到任何内容

2 个答案:

答案 0 :(得分:2)

您可以定义一个C5_ENVIRONMENT_ONLY常量,之后您可以包含“index.php”文件以获取c5系统,而无需为特定页面或主题提供服务。

<?php
define('C5_ENVIRONMENT_ONLY', true);
include("index.php");

//C5 should be loaded now, so you can interact with the API...

我刚刚在最新版本(5.6.1)上对此进行了测试,它运行得很好 - 我能够通过Loader :: db()查询数据库,并能够与登录的用户对象进行交互(全球$ u)。所以我假设如果这两件事有效,那么一切都会奏效。

我确实从不久前找到了这两个论坛帖子:

...表示你还需要声明DIR_BASE常量...但这可能是一个旧的要求,因为我让我的测试在没有它的情况下运行得很好。

答案 1 :(得分:1)

要编写导入脚本,我建议在仪表板中添加一个页面,如here所述。它真的很简单,并且会为你处理引导。