我正在编写一个导入脚本来将一些外部内容添加到 C5 安装中。
我不确定我需要包含哪些文件才能使 C5 API 可用(无需像加载页面这样的任何操作)?
/concrete/dispatcher.php
做了一大堆初始化,但我不确定哪些是必需的。仅包括dispatcher.php
会导致脚本导航到安装对话框。
是否有在外部工具中初始化 C5 的规范方法?我在开发人员文档中找不到任何内容。
您可以定义一个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 )。所以我假设如果这两件事有效,那么任何事情都会有效。
不久前我确实找到了这两个论坛主题:
...which indicate you also need to declare the DIR_BASE
constant... but this may be an old requirement because I got my tests to run just fine without it.
要编写导入脚本,我建议向仪表板添加一个页面,如此处所述。这真的很简单,将为您处理引导。