光二极管/pimcore-rest-api-zf3

该包已被弃用且不再维护。作者建议使用 leuchtdiode/laminas-pimcore-rest-api 包。

通过其REST API访问pimcore的Zend Framework 3模块

0.1.4 2018-09-06 19:21 UTC

This package is auto-updated.

Last update: 2023-02-17 19:23:55 UTC


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'
]