Sulu\Component\Tag\Request\TagRequestHandlerInterface::getTags PHP Method

getTags() public method

Determine tags from current request.
public getTags ( string $tagsParameter = 'tags' ) : string[]
$tagsParameter string
return string[]
    public function getTags($tagsParameter = 'tags');

Usage Example

コード例 #1
0
ファイル: ContentType.php プロジェクト: Silwereth/sulu
 /**
  * {@inheritdoc}
  */
 public function getContentData(PropertyInterface $property)
 {
     // check memoize
     $hash = spl_object_hash($property);
     if (array_key_exists($hash, $this->cache)) {
         return $this->cache[$hash];
     }
     /** @var PropertyParameter[] $params */
     $params = array_merge($this->getDefaultParams($property), $property->getParams());
     // prepare filters
     $filters = $property->getValue();
     $filters['excluded'] = [$property->getStructure()->getUuid()];
     // default value of tags/category is an empty array
     if (!array_key_exists('tags', $filters)) {
         $filters['tags'] = [];
     }
     if (!array_key_exists('categories', $filters)) {
         $filters['categories'] = [];
     }
     // extends selected filter with requested tags
     $filters['websiteTags'] = $this->tagRequestHandler->getTags($params['tags_parameter']->getValue());
     $filters['websiteTagsOperator'] = $params['website_tags_operator']->getValue();
     // extends selected filter with requested categories
     $filters['websiteCategories'] = $this->categoryRequestHandler->getCategories($params['categories_parameter']->getValue());
     $filters['websiteCategoriesOperator'] = $params['website_categories_operator']->getValue();
     // resolve tags to id
     if (!empty($filters['tags'])) {
         $filters['tags'] = $this->tagManager->resolveTagNames($filters['tags']);
     }
     // resolve website tags to id
     if (!empty($filters['websiteTags'])) {
         $filters['websiteTags'] = $this->tagManager->resolveTagNames($filters['websiteTags']);
     }
     // get provider
     $provider = $this->getProvider($property);
     $configuration = $provider->getConfiguration();
     // prepare pagination, limitation and options
     $page = 1;
     $limit = array_key_exists('limitResult', $filters) && $configuration->hasLimit() ? $filters['limitResult'] : null;
     $options = ['webspaceKey' => $property->getStructure()->getWebspaceKey(), 'locale' => $property->getStructure()->getLanguageCode()];
     if (isset($params['max_per_page']) && $configuration->hasPagination()) {
         // is paginated
         $page = $this->getCurrentPage($params['page_parameter']->getValue());
         $pageSize = intval($params['max_per_page']->getValue());
         // resolve paginated filters
         $data = $provider->resolveResourceItems($filters, $params, $options, !empty($limit) ? intval($limit) : null, $page, $pageSize);
     } else {
         $data = $provider->resolveResourceItems($filters, $params, $options, !empty($limit) ? intval($limit) : null);
     }
     // append view data
     $filters['page'] = $page;
     $filters['hasNextPage'] = $data->getHasNextPage();
     $filters['referencedUuids'] = $data->getReferencedUuids();
     $filters['paginated'] = $configuration->hasPagination();
     $property->setValue($filters);
     // save result in cache
     return $this->cache[$hash] = $data->getItems();
 }
All Usage Examples Of Sulu\Component\Tag\Request\TagRequestHandlerInterface::getTags