光二极管 / pimcore-rest-api-zf3
Requires
- php: >=7.1
- netresearch/jsonmapper: ^1.0
- zendframework/zend-http: ~2.5
Suggests
- zendframework/zend-cache: Using Zend cache to minimize REST API calls
README
通过其REST API访问 pimcore 的Zend Framework 3模块。
安装
此模块使用composer进行安装。有关composer文档,请参阅 getcomposer.org。
php composer.phar require leuchtdiode/pimcore-rest-api
然后,将 PimcoreRestApi
添加到您的 config/application.config.php
文件中。
使用方法
目前包含以下功能
- 通过ID检索文档
- 通过其路径检索文档
- 搜索文档
- 用于打印文档纯文本的视图助手
设置
为了使用API,您必须在您的应用程序中指定一个配置集 pimcoreRestApi
(例如,在 config/autoload/local.php
中)
您必须设置以下参数
host
:您的pimcore API所在的主机(例如,cms.company.com)ssl
:默认为false。将其设置为true将通过SSL请求API。(例如,https://cms.company.com)apiKey
:您在pimcore中为您的用户生成的API密钥
例如
<?php $config = [ ... 'pimcoreRestApi' => [ 'host' => 'cms.company.com', 'ssl' => false, 'apiKey' => '1233298asd89as9das89d9as9d8as89da9sd98as9dad', ], ... ];
服务
我们建议不要直接使用API,而是通过服务定位器使用模块提供的服务。目前仅包含一个文档服务。
您可以使用服务定位器中的 PimcoreRestApi\Service\Documents
来检索文档
- 通过ID获取一个文档
getById($documentId)
- 通过路径获取一个文档
getByPath($documentPath)
- 通过路径获取所有文档
getAllByPath($path)
视图助手
该模块还提供了一个视图助手,用于显示给定文档路径的纯文本。
PraDocument
通过在您的视图中调用 $this->praDocument()
,您可以获得一个文档视图助手的实例,目前提供以下方法
为路径打印文本
$this->praDocument()->printTextForPath($path)
此方法尝试通过路径获取文档,搜索所有其WYSIWYG元素,将它们连接起来并输出文本。如果无法获取文档或找到WYSIWYG元素,则返回 null
。
缓存
为了最小化通过其REST API对外部pimcore系统进行的API调用,我们建议设置一个由 zend-cache 提供的存储缓存。
模块已经实现了缓存。您只需告诉他即可。
设置非常简单,只需在服务定位器中定义一个工厂,该工厂返回一个 Zend\Cache\Storage\StorageInterface
,键为 PimcoreRestApi\StorageCache
,即可。
将内容同步到本地系统
您可以使用 PimcoreRestApi\Service\ConfigSynchronizing
将特定的CMS路径同步到您的本地系统。同步内容时可以采用几种策略。方法 synchronize($rootPath)
从配置中加载策略并执行同步操作。其中,$rootPath
是您想要同步的CMS根路径及其所有子路径。
目前,只有FileSystemStrategy(文件系统策略)。您需要在配置文件中指定要使用的策略。使用数组键 synchronizing
。
文件系统
以下是FileSystem策略的一个配置示例。
'synchronizing' => [
'type' => 'fileSystem',
'directory' => 'data/pimcoreRestApi'
]