You are here

class VocabularyTreeGet in Services 9.0.x

Same name and namespace in other branches
  1. 8.4 src/Plugin/ServiceDefinition/VocabularyTreeGet.php \Drupal\services\Plugin\ServiceDefinition\VocabularyTreeGet

Plugin annotation


@ServiceDefinition(
  id = "vocabulary_tree_get",
  methods = {
    "GET"
  },
  translatable = true,
   title = @Translation("Taxonomy Vocabulary Get Tree"),
  description = @Translation("Returns term hierarchy."),
  category = @Translation("Taxonomy"),
  path = "taxonomy/{vocabulary}/get-tree"
)

Hierarchy

Expanded class hierarchy of VocabularyTreeGet

File

src/Plugin/ServiceDefinition/VocabularyTreeGet.php, line 25

Namespace

Drupal\services\Plugin\ServiceDefinition
View source
class VocabularyTreeGet extends ServiceDefinitionBase implements ContainerFactoryPluginInterface {

  /**
   * {@inheritdoc}
   */
  public static function create(ContainerInterface $container, array $configuration, $plugin_id, $plugin_definition) {
    return new static($configuration, $plugin_id, $plugin_definition);
  }

  /**
   * {@inheritdoc}
   */

  /*public function processRoute(Route $route) {
    // TODO - Check perms of taxonomy vocabulary access.
    //$route->setRequirement('_entity_access', $this->getDerivativeId() .'.view');
    }*/

  /**
   * {@inheritdoc}
   */
  public function processRequest(Request $request, RouteMatchInterface $route_match, SerializerInterface $serializer) {

    // The query string parameter 'path' must exist in order to load the
    // node that correlates to path value provided.

    /*if (!$request->query->has('vocabulary')) {
      throw new HttpException(404);
      }*/
    $vocabulary_id = $request
      ->get('vocabulary');

    /* @var $termStorage \Drupal\taxonomy\TermStorageInterface */
    $termStorage = \Drupal::entityTypeManager()
      ->getStorage('taxonomy_term');

    // Load taxonomy terms for tax menu vocab.

    /* @var $terms \Drupal\taxonomy\TermInterface[] */
    $terms = $termStorage
      ->loadTree($vocabulary_id);
    $terms_array = [];

    /* @var $term \Drupal\taxonomy\TermInterface */
    foreach ($terms as $term) {
      $terms_array[] = (array) $term;
    }
    return $terms_array;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
ContextAwarePluginBase::createContextFromConfiguration protected function Overrides ContextAwarePluginBase::createContextFromConfiguration
ContextAwarePluginBase::__construct public function Overrides \Drupal\Component\Plugin\PluginBase::__construct(). Overrides PluginBase::__construct
ContextAwarePluginTrait::$context protected property The data objects representing the context of this plugin.
ContextAwarePluginTrait::$initializedContextConfig protected property Tracks whether the context has been initialized from configuration.
ContextAwarePluginTrait::getCacheContexts public function 9
ContextAwarePluginTrait::getCacheMaxAge public function 7
ContextAwarePluginTrait::getCacheTags public function 4
ContextAwarePluginTrait::getContext public function
ContextAwarePluginTrait::getContextDefinition public function
ContextAwarePluginTrait::getContextDefinitions public function
ContextAwarePluginTrait::getContextMapping public function
ContextAwarePluginTrait::getContexts public function
ContextAwarePluginTrait::getContextValue public function
ContextAwarePluginTrait::getContextValues public function
ContextAwarePluginTrait::getPluginDefinition abstract protected function 1
ContextAwarePluginTrait::setContext public function 1
ContextAwarePluginTrait::setContextMapping public function
ContextAwarePluginTrait::setContextValue public function
ContextAwarePluginTrait::validateContexts public function
DependencySerializationTrait::$_entityStorages protected property
DependencySerializationTrait::$_serviceIds protected property
DependencySerializationTrait::__sleep public function 2
DependencySerializationTrait::__wakeup public function 2
PluginBase::$configuration protected property Configuration information passed into the plugin. 1
PluginBase::$pluginDefinition protected property The plugin implementation definition. 1
PluginBase::$pluginId protected property The plugin_id.
PluginBase::DERIVATIVE_SEPARATOR constant A string which is used to separate base plugin IDs from the derivative ID.
PluginBase::getBaseId public function Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface::getBaseId
PluginBase::getDerivativeId public function Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface::getDerivativeId
PluginBase::getPluginId public function Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface::getPluginId
PluginBase::isConfigurable public function Determines if the plugin is configurable.
ServiceDefinitionBase::getArguments public function Returns an array of service request arguments. Overrides ServiceDefinitionInterface::getArguments
ServiceDefinitionBase::getCategory public function Returns a translated string for the category. Overrides ServiceDefinitionInterface::getCategory
ServiceDefinitionBase::getDescription public function Returns a translated description for the constraint description. Overrides ServiceDefinitionInterface::getDescription
ServiceDefinitionBase::getMethods public function Return an array of allowed methods. Overrides ServiceDefinitionInterface::getMethods
ServiceDefinitionBase::getPath public function Returns the appended path for the service. Overrides ServiceDefinitionInterface::getPath
ServiceDefinitionBase::getTitle public function Returns a translated string for the service title. Overrides ServiceDefinitionInterface::getTitle
ServiceDefinitionBase::processResponse public function Allow plugins to alter the response object before it is returned. Overrides ServiceDefinitionInterface::processResponse
ServiceDefinitionBase::processRoute public function Checks access for the ServiceDefintion. Overrides ServiceDefinitionInterface::processRoute 7
ServiceDefinitionBase::supportsTranslation public function Returns a boolean if this service definition supports translations. Overrides ServiceDefinitionInterface::supportsTranslation
StringTranslationTrait::$stringTranslation protected property The string translation service. 4
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.
TypedDataTrait::$typedDataManager protected property The typed data manager used for creating the data types.
TypedDataTrait::getTypedDataManager public function Gets the typed data manager. 2
TypedDataTrait::setTypedDataManager public function Sets the typed data manager. 2
VocabularyTreeGet::create public static function Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface::create
VocabularyTreeGet::processRequest public function Processes the request and returns an array of data as appropriate. Overrides ServiceDefinitionInterface::processRequest