当前位置: 首页>>代码示例>>PHP>>正文


PHP FieldItemBase::calculateDependencies方法代码示例

本文整理汇总了PHP中Drupal\Core\Field\FieldItemBase::calculateDependencies方法的典型用法代码示例。如果您正苦于以下问题:PHP FieldItemBase::calculateDependencies方法的具体用法?PHP FieldItemBase::calculateDependencies怎么用?PHP FieldItemBase::calculateDependencies使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Drupal\Core\Field\FieldItemBase的用法示例。


在下文中一共展示了FieldItemBase::calculateDependencies方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: calculateDependencies

 /**
  * {@inheritdoc}
  */
 public static function calculateDependencies(FieldDefinitionInterface $field_definition)
 {
     $dependencies = parent::calculateDependencies($field_definition);
     $manager = \Drupal::entityManager();
     $target_entity_type = $manager->getDefinition($field_definition->getFieldStorageDefinition()->getSetting('target_type'));
     // Depend on default values entity types configurations.
     if ($default_value = $field_definition->getDefaultValueLiteral()) {
         foreach ($default_value as $value) {
             if (is_array($value) && isset($value['target_uuid'])) {
                 $entity = \Drupal::entityManager()->loadEntityByUuid($target_entity_type->id(), $value['target_uuid']);
                 // If the entity does not exist do not create the dependency.
                 // @see \Drupal\Core\Field\EntityReferenceFieldItemList::processDefaultValue()
                 if ($entity) {
                     $dependencies[$target_entity_type->getConfigDependencyKey()][] = $entity->getConfigDependencyName();
                 }
             }
         }
     }
     // Depend on target bundle configurations. Dependencies for 'target_bundles'
     // also covers the 'auto_create_bundle' setting, if any, because its value
     // is included in the 'target_bundles' list.
     $handler = $field_definition->getSetting('handler_settings');
     if (!empty($handler['target_bundles'])) {
         if ($bundle_entity_type_id = $target_entity_type->getBundleEntityType()) {
             if ($storage = $manager->getStorage($bundle_entity_type_id)) {
                 foreach ($storage->loadMultiple($handler['target_bundles']) as $bundle) {
                     $dependencies[$bundle->getConfigDependencyKey()][] = $bundle->getConfigDependencyName();
                 }
             }
         }
     }
     return $dependencies;
 }
开发者ID:318io,项目名称:318-io,代码行数:36,代码来源:EntityReferenceItem.php


注:本文中的Drupal\Core\Field\FieldItemBase::calculateDependencies方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。