Download the PHP package leuchtdiode/pimcore-rest-api-zf3 without Composer
On this page you can find all versions of the php package leuchtdiode/pimcore-rest-api-zf3. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download leuchtdiode/pimcore-rest-api-zf3
More information about leuchtdiode/pimcore-rest-api-zf3
Files in leuchtdiode/pimcore-rest-api-zf3
Package pimcore-rest-api-zf3
Short Description Zend Framework 3 module for accessing pimcore via its REST API
License MIT
Homepage https://github.com/leuchtdiode/pimcore-rest-api-zf3
Informations about the package pimcore-rest-api-zf3
pimcore (REST API) module for Zend Framework 3
Zend Framework 3 module for accessing pimcore via its REST API.
Installation
Installation of this module uses composer. For composer documentation, please refer to getcomposer.org.
Then add PimcoreRestApi
to your config/application.config.php
.
Usage
Currently there are the following features included:
- Retrieve document by ID
- Retrieve document by its path
- Search documents
- A view helper to print freetext of a document
Set up
In order to use the API, you have to specify a config set pimcoreRestApi
somewhere in your application (e.g. config/autoload/local.php
)
You have to set the following parameters:
host
: The host where your pimcore API resides (e.g. cms.company.com)ssl
: Defaults to false. Setting it to true will request API through SSL. (e.g. https://cms.company.com)apiKey
: The API-Key you generated in pimcore for your user
For example:
Services
We are suggesting not to use the API directly, but the services the module is providing through service locator. At the moment there is only a document service included.
You can use PimcoreRestApi\Service\Documents
from service locator for retrieving documents:
- Get one document by ID
getById($documentId)
- Get one document by path
getByPath($documentPath)
- Get all documents by path
getAllByPath($path)
View helpers
The module is also providing a view helper for displaying freetext of a given document path.
PraDocument
By calling $this->praDocument()
in your view you can get an instance of the document view helper which provides the following methods at the moment:
Print text for path
$this->praDocument()->printTextForPath($path)
This method tries to fetch a document by its path, searching for all of its WYSIWYG elements, concatenates them and outputs the text. null
gets returned if there was a problem fetching the document or finding WYSIWYG elements.
Caching
To minimize the API calls to the external pimcore system via its REST API we are suggesting setting up a storage cache provided by zend-cache.
The module has already implemented caching. You only have to tell him.
Setting up is as simple as defining a factory in service locator which is returning a Zend\Cache\Storage\StorageInterface
for key PimcoreRestApi\StorageCache
,
Synchronize contents to local system
You can use PimcoreRestApi\Service\ConfigSynchronizing
to synchronize specific CMS paths to your local system. There can be several strategies where the content is being synchronized too. The method synchronize($rootPath)
loads the strategy from the config and executes the synchronization. $rootPath
is the root path in the CMS you want to synchronize with all its children.
For now, there is only the FileSystemStrategy. You have to specify in your config file which strategy you want to use. Use the array key synchronizing
.
FileSystem
Here is an example config for the FileSystem strategy.