Skip to content

ParentLocationId Criterion

The ParentLocationId Search Criterion searches for content based on the Location ID of its parent.

Arguments

  • value - int(s) representing the parent location IDs

Example

PHP

1
$query->query = new Criterion\ParentLocationId([54, 58]);

REST API

1
2
3
4
5
<Query>
    <Filter>
        <ParentLocationIdCriterion>[81, 82]</ParentLocationIdCriterion>
    </Filter>
</Query>
1
2
3
4
5
"Query": {
    "Filter": {
        "ParentLocationIdCriterion": [69, 72]
    }
}

Use case

You can use the ParentLocationId Search Criterion to list blog posts contained in a blog:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
$query = new LocationQuery();
$query->query = new Criterion\LogicalAnd([
    new Criterion\Visibility(Criterion\Visibility::VISIBLE),
    new Criterion\ParentLocationId($locationId),
]);

$results = $this->searchService->findLocations($query);
$posts = [];
foreach ($results->searchHits as $searchHit) {
    $posts[] = $searchHit;
}

return $this->render('full/blog.html.twig', [
    'posts' => $posts,
]);
1
2
3
4
5
6
<p>Posts:</p>
<ul>
    {% for post in posts %}
        <li>{{ post.valueObject.contentInfo.name }}</li>
    {% endfor %}
</ul>