social_follow_taxonomy.api.php in Open Social 10.3.x
Hooks provided by the Social Follow Taxonomy Term module.
File
modules/social_features/social_follow_taxonomy/social_follow_taxonomy.api.phpView source
<?php
/**
* @file
* Hooks provided by the Social Follow Taxonomy Term module.
*/
use Drupal\Core\Entity\EntityInterface;
use Drupal\node\NodeInterface;
use Drupal\taxonomy\TermInterface;
/**
* @addtogroup hooks
* @{
*/
/**
* Provide a method to alter array of terms.
*
* @param array $term_ids
* An array of term ids.
* @param Drupal\Core\Entity\EntityInterface $entity
* Related entity.
*
* @return array
* Array of term ids.
*/
function hook_social_follow_taxonomy_terms_list_alter(array &$term_ids, EntityInterface $entity) {
/** @var \Drupal\node\Entity\Node $entity */
if ($entity instanceof NodeInterface) {
if ($entity
->hasField('field_terms') && !empty($entity
->get('field_terms')
->getValue())) {
$terms = $entity
->get('field_terms')
->getValue();
foreach ($terms as $term) {
$term_ids[] = $term['target_id'];
}
}
}
return $term_ids;
}
/**
* Provide a method to alter array of related items.
*
* @param array $items
* The input array of related entities.
* @param \Drupal\taxonomy\TermInterface $term
* Related taxonomy term.
*
* @return array
* Extended array of related entities.
*/
function hook_social_follow_taxonomy_related_items_alter(array &$items, TermInterface $term) {
$items = \Drupal::entityTypeManager()
->getStorage('node')
->getQuery()
->condition('field_terms', $term
->id())
->execute();
return $items;
}
/**
* Alter list of fields that need to check in activity context.
*
* @param array $fields_to_check
* List of field names.
*
* @see \Drupal\social_follow_taxonomy\Plugin\ActivityContext\FollowTaxonomyActivityContext
*
* @ingroup social_follow_taxonomy_api
*/
function hook_social_follow_taxonomy_fields_alter(array &$fields_to_check) {
$fields_to_check[] = 'social_tagging';
}
/**
* @} End of "addtogroup hooks".
*/
Functions
Name | Description |
---|---|
hook_social_follow_taxonomy_fields_alter | Alter list of fields that need to check in activity context. |
hook_social_follow_taxonomy_related_items_alter | Provide a method to alter array of related items. |
hook_social_follow_taxonomy_terms_list_alter | Provide a method to alter array of terms. |