|
@@ -4,22 +4,25 @@ use Drupal\Core\Field\BaseFieldDefinition;
|
|
|
use Drupal\Core\Field\FieldStorageDefinitionInterface;
|
|
|
use Drupal\mymodule\Plugin\Field\FieldType\MyFieldComputed;
|
|
|
|
|
|
-/**
|
|
|
- * Implements hook_theme().
|
|
|
- */
|
|
|
-// function materio_home_theme($existing, $type, $theme, $path) {
|
|
|
-// // @see https://www.drupal.org/docs/8/theming/twig/create-custom-twig-templates-from-custom-module
|
|
|
-//
|
|
|
-// return array(
|
|
|
-// 'materio_home' => array(
|
|
|
-// // 'render element' => '',
|
|
|
-// 'file' => 'includes/materio_home.inc',
|
|
|
-// 'variables' => array(
|
|
|
-// 'frontpage_node' => NULL,
|
|
|
-// ),
|
|
|
-// ),
|
|
|
-// );
|
|
|
-// }
|
|
|
+
|
|
|
+// https://www.drupal.org/project/drupal/issues/2916266#comment-12301574
|
|
|
+
|
|
|
+// $key_value_factory = \Drupal::service('keyvalue');
|
|
|
+// $field_map_kv_store = $key_value_factory->get('entity.definitions.bundle_field_map');
|
|
|
+// $node_map = $field_map_kv_store->get('node');
|
|
|
+
|
|
|
+// unset($node_map['field_workflow']['bundles']['breve']);
|
|
|
+// unset($node_map['field_visuel']['bundles']['breve']);
|
|
|
+// unset($node_map['field_video']['bundles']['breve']);
|
|
|
+// unset($node_map['field_thesaurus']['bundles']['breve']);
|
|
|
+// unset($node_map['field_tags']['bundles']['breve']);
|
|
|
+// unset($node_map['field_source']['bundles']['breve']);
|
|
|
+// unset($node_map['field_showroom']['bundles']['breve']);
|
|
|
+// unset($node_map['field_migration']['bundles']['breve']);
|
|
|
+// unset($node_map['field_linked_materials']['bundles']['breve']);
|
|
|
+// unset($node_map['field_memo']['bundles']['breve']);
|
|
|
+
|
|
|
+// $field_map_kv_store->set('node', $node_map);
|
|
|
|
|
|
/**
|
|
|
* Implement hook_entity_bundle_field_info().
|
|
@@ -99,6 +102,50 @@ function materio_home_entity_bundle_field_info(EntityTypeInterface $entity_type,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+/**
|
|
|
+ * Implement hook_cron().
|
|
|
+ *
|
|
|
+ */
|
|
|
+function materio_home_cron(){
|
|
|
+ $logger = \Drupal::logger('materio_home');
|
|
|
+ // recompile every 5 minutes
|
|
|
+ // $request_time = \Drupal::time()->getRequestTime();
|
|
|
+ // if ($request_time - \Drupal::state()->get('materio_home.last_recompute') >= 300) {
|
|
|
+ // Short-running operation example, not using a queue
|
|
|
+ $query = \Drupal::entityQuery('node')
|
|
|
+ ->condition('status', 1)
|
|
|
+ ->condition('type', 'frontpage');
|
|
|
+ $nids = $query->execute();
|
|
|
+ $nodes = entity_load_multiple('node', $nids);
|
|
|
+ foreach ($nodes as $nid => $node) {
|
|
|
+ $logger->notice('cron | regenerating computed fields for '.$nid);
|
|
|
+ $node->save();
|
|
|
+ }
|
|
|
+ // \Drupal::state()->set('materio_home.last_recompute', $request_time);
|
|
|
+ // }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+/**
|
|
|
+ * Implements hook_theme().
|
|
|
+ */
|
|
|
+// function materio_home_theme($existing, $type, $theme, $path) {
|
|
|
+// // @see https://www.drupal.org/docs/8/theming/twig/create-custom-twig-templates-from-custom-module
|
|
|
+//
|
|
|
+// return array(
|
|
|
+// 'materio_home' => array(
|
|
|
+// // 'render element' => '',
|
|
|
+// 'file' => 'includes/materio_home.inc',
|
|
|
+// 'variables' => array(
|
|
|
+// 'frontpage_node' => NULL,
|
|
|
+// ),
|
|
|
+// ),
|
|
|
+// );
|
|
|
+// }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
// /**
|
|
|
// * implements hook_entity_extra_field_info
|
|
|
// *
|
|
@@ -117,19 +164,19 @@ function materio_home_entity_bundle_field_info(EntityTypeInterface $entity_type,
|
|
|
// // ];
|
|
|
// return $extra;
|
|
|
// }
|
|
|
-
|
|
|
-/**
|
|
|
- * Implements hook_install().
|
|
|
- */
|
|
|
-function materio_home_install() {
|
|
|
- $entity_type = \Drupal::service('entity_type.manager')->getDefinition('node');
|
|
|
- \Drupal::service('entity.definition_update_manager')->updateEntityType($entity_type);
|
|
|
-}
|
|
|
-
|
|
|
-/**
|
|
|
- * Implements hook_uninstall().
|
|
|
- */
|
|
|
-function materio_home_uninstall() {
|
|
|
- $entity_type = \Drupal::service('entity_type.manager')->getDefinition('node');
|
|
|
- \Drupal::service('entity.definition_update_manager')->updateEntityType($entity_type);
|
|
|
-}
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * Implements hook_install().
|
|
|
+// */
|
|
|
+// function materio_home_install() {
|
|
|
+// $entity_type = \Drupal::service('entity_type.manager')->getDefinition('node');
|
|
|
+// \Drupal::service('entity.definition_update_manager')->updateEntityType($entity_type);
|
|
|
+// }
|
|
|
+//
|
|
|
+// /**
|
|
|
+// * Implements hook_uninstall().
|
|
|
+// */
|
|
|
+// function materio_home_uninstall() {
|
|
|
+// $entity_type = \Drupal::service('entity_type.manager')->getDefinition('node');
|
|
|
+// \Drupal::service('entity.definition_update_manager')->updateEntityType($entity_type);
|
|
|
+// }
|