The settings UI maps taxonomy fields to page contexts. `Drupal\acquia_perz\Service\Context\PageContext` then creates a context string of term names from this mapping. However it uses the node term index to do this and only uses the selected field to determine which taxonomies from this index to allow. This will produce unexpected results in more complex entity reference setups. See Steps to reproduce for an example.
tags
, create two entity reference views that return disjoint subsets of tags
.set_a
and set_b
, which target tags
and each use one of the views created above.The user would expect that if only set_a
is used in a mapping that only the terms referenced in set_a
would appear, but in fact the terms in set_a
and the terms in set_b
will be used.
Simplify the code to take advantage of EntityReferenceFieldItemListInterface::referencedEntities
which loads all the referenced entities in one query, and collect the term labels.
PageContext::getAvailableFieldVocabularyNames
and PageContext::getAvailableFieldVocabularyNames
are left in place currently for comparision. They are unused in this revision and should be removed before merging if this approach is acceptable.
None
None
None
Needs review
4.1
Code
Not all content is available!
It's likely this issue predates Contrib.social: some issue and comment data are missing.