Find the Exponential Software extensions you want
UNIX name | Owner | Status |
---|---|---|
AwEzpFetchBundle | eZ Ecosystem | stable |
Version | Compatible with |
---|---|
N/A | N/A |
This project is no longer maintained
AwEzpFetchBundle is a facade for the search service. It brings a content query language for eZ Publish 5.
The bundle documentation is available in Resources/doc/index.rst
With Composer add the following to your composer.json file, then run composer update command:
{
require: {
"aw/ezp-fetch-bundle": "dev-master",
}
}
Register AwEzpFetchBundle by adding following to EzPublishKernel.php file:
// EzPublishKernel.php
$bundles = array(
// ...
new Aw\Ezp\FetchBundle\AwEzpFetchBundle(),
// ...
);
// In controller get the fetch service
$fetcher = $this->get('aw_ezp_fetch');
$query = "{filter: {parent_location_id {EQ 2}}, limit: 20, sort: {date_modified DESC}}";
$result = $fetcher->fetch($query);
// In controller get the fetch service
$fetcher = $this->get('aw_ezp_fetch');
$query = "{filter: {AND [subtree: {EQ '/1/2'}, visibility: {EQ true}]}, limit: 20}";
$result = $fetcher->fetch($query);
// In controller get the fetch service
$fetcher = $this->get('aw_ezp_fetch');
$query = <<filter:
AND:
- parent_location_id: {IN [2, 60]}
- date_metadata.modified: {BETWEEN [2012-12-14, 2013-01-25]}
- visibility: {EQ true}
- OR:
- field.name: {EQ News}
- full_text: {LIKE 'Press Release*'}
sort: {field.landing_page/name ASC, date_modified DESC}
limit: 12
offset: 14
EOS;
$result = $fetcher->fetch($query);
// In controller get the fetch service
$fetcher = $this->get('aw_ezp_fetch');
$query = <<filter:
AND:
- parent_location_id: {IN [2, 60]}
- date_metadata.modified: {BETWEEN [2012-12-14, 2013-01-25]}
- visibility: {EQ true}
- OR:
- field.name: {EQ News}
- full_text: {LIKE Press Release*}
sort:
field.landing_page/name: ASC
date_modified: DESC
limit: 12
offset: 14
EOS;
$result = $fetcher->fetch($query);
// In controller get the fetch service
$fetcher = $this->get('aw_ezp_fetch');
$query = "{filter: {AND [subtree: {EQ @subtree}, visibility: {EQ true}]} , limit: @limit, offset: @offset}";
$preparedFetch = $fetcher->prepare($query);
$preparedFetch->bindParam('@subtree', '/1/2');
$preparedFetch->bindParam('@offset', 0);
$preparedFetch->bindParam('@limit', 20);
$result = $preparedFetch->fetch();
//you can rebind any parameter and refetch
$preparedFetch->bindParam('@offset', 20);
$result = $preparedFetch->fetch();
The code is released under the MIT License. You can find in Resources/meta/LICENCE