| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192 |
- <?php
- // Loo täiendavad page display'd + menüülingid D7 struktuuri alusel.
- // Töötab otse config API-ga (Views display lisamine programmiliselt on keeruline,
- // seega kasutame lihtsamaid path-idega page display-sid YAML kaudu).
- use Drupal\Component\Serialization\Yaml;
- // 1. "kanded" vaatele lisa page display'd: liikmemaksud, projektid, tegevuskulud, saldod.
- $view = \Drupal::entityTypeManager()->getStorage('view')->load('kanded');
- if ($view) {
- $displays = $view->get('display');
- // kanded/liikmemaksud -> kande_tyyp=6 (liikmemaks)
- $displays['page_liikmemaksud'] = [
- 'id' => 'page_liikmemaksud',
- 'display_title' => 'Liikmemaksude kanded',
- 'display_plugin' => 'page',
- 'position' => 2,
- 'display_options' => [
- 'path' => 'kanded/liikmemaksud',
- 'filters' => [
- 'status' => ['id' => 'status', 'table' => 'node_field_data', 'field' => 'status', 'entity_type' => 'node', 'entity_field' => 'status', 'plugin_id' => 'boolean', 'value' => '1', 'group' => 1, 'expose' => ['operator' => '']],
- 'type' => ['id' => 'type', 'table' => 'node_field_data', 'field' => 'type', 'entity_type' => 'node', 'entity_field' => 'type', 'plugin_id' => 'bundle', 'value' => ['kanne' => 'kanne'], 'expose' => ['operator_limit_selection' => false, 'operator_list' => []]],
- 'field_kande_tyyp_target_id' => ['id' => 'field_kande_tyyp_target_id', 'table' => 'node__field_kande_tyyp', 'field' => 'field_kande_tyyp_target_id', 'relationship' => 'none', 'group_type' => 'group', 'admin_label' => '', 'entity_type' => 'node', 'entity_field' => 'field_kande_tyyp', 'plugin_id' => 'taxonomy_index_tid', 'operator' => 'or', 'value' => [6 => 6], 'group' => 1, 'exposed' => false, 'expose' => ['operator_id' => '', 'label' => '', 'description' => '', 'use_operator' => false, 'operator' => '', 'operator_limit_selection' => false, 'operator_list' => [], 'identifier' => '', 'required' => false, 'remember' => false, 'multiple' => false, 'remember_roles' => ['authenticated' => 'authenticated', 'anonymous' => 0, 'administrator' => 0]], 'is_grouped' => false, 'group_info' => ['label' => '', 'description' => '', 'identifier' => '', 'optional' => true, 'widget' => 'select', 'multiple' => false, 'remember' => 0, 'default_group' => 'All', 'default_group_multiple' => [], 'group_items' => []], 'vid' => 'kanne', 'type' => 'select', 'limit' => true, 'error_message' => false],
- ],
- 'defaults' => ['filters' => false],
- ],
- ];
- $displays['page_projektid'] = [
- 'id' => 'page_projektid',
- 'display_title' => 'Projektide kanded',
- 'display_plugin' => 'page',
- 'position' => 3,
- 'display_options' => [
- 'path' => 'kanded/projektid',
- 'filters' => [
- 'status' => ['id' => 'status', 'table' => 'node_field_data', 'field' => 'status', 'entity_type' => 'node', 'entity_field' => 'status', 'plugin_id' => 'boolean', 'value' => '1', 'group' => 1, 'expose' => ['operator' => '']],
- 'type' => ['id' => 'type', 'table' => 'node_field_data', 'field' => 'type', 'entity_type' => 'node', 'entity_field' => 'type', 'plugin_id' => 'bundle', 'value' => ['kanne' => 'kanne'], 'expose' => ['operator_limit_selection' => false, 'operator_list' => []]],
- 'field_kande_tyyp_target_id' => ['id' => 'field_kande_tyyp_target_id', 'table' => 'node__field_kande_tyyp', 'field' => 'field_kande_tyyp_target_id', 'relationship' => 'none', 'group_type' => 'group', 'admin_label' => '', 'plugin_id' => 'taxonomy_index_tid', 'operator' => 'or', 'value' => [8 => 8], 'group' => 1, 'exposed' => false, 'expose' => ['operator_id' => '', 'label' => '', 'description' => '', 'use_operator' => false, 'operator' => '', 'operator_limit_selection' => false, 'operator_list' => [], 'identifier' => '', 'required' => false, 'remember' => false, 'multiple' => false, 'remember_roles' => ['authenticated' => 'authenticated', 'anonymous' => 0, 'administrator' => 0]], 'is_grouped' => false, 'group_info' => ['label' => '', 'description' => '', 'identifier' => '', 'optional' => true, 'widget' => 'select', 'multiple' => false, 'remember' => 0, 'default_group' => 'All', 'default_group_multiple' => [], 'group_items' => []], 'vid' => 'kanne', 'type' => 'select', 'limit' => true, 'error_message' => false],
- ],
- 'defaults' => ['filters' => false],
- ],
- ];
- $displays['page_tegevuskulud'] = [
- 'id' => 'page_tegevuskulud',
- 'display_title' => 'Tegevuskulude kanded',
- 'display_plugin' => 'page',
- 'position' => 4,
- 'display_options' => [
- 'path' => 'kanded/tegevuskulud',
- 'filters' => [
- 'status' => ['id' => 'status', 'table' => 'node_field_data', 'field' => 'status', 'entity_type' => 'node', 'entity_field' => 'status', 'plugin_id' => 'boolean', 'value' => '1', 'group' => 1, 'expose' => ['operator' => '']],
- 'type' => ['id' => 'type', 'table' => 'node_field_data', 'field' => 'type', 'entity_type' => 'node', 'entity_field' => 'type', 'plugin_id' => 'bundle', 'value' => ['kanne' => 'kanne'], 'expose' => ['operator_limit_selection' => false, 'operator_list' => []]],
- 'field_kande_tyyp_target_id' => ['id' => 'field_kande_tyyp_target_id', 'table' => 'node__field_kande_tyyp', 'field' => 'field_kande_tyyp_target_id', 'relationship' => 'none', 'group_type' => 'group', 'admin_label' => '', 'plugin_id' => 'taxonomy_index_tid', 'operator' => 'or', 'value' => [29 => 29], 'group' => 1, 'exposed' => false, 'expose' => ['operator_id' => '', 'label' => '', 'description' => '', 'use_operator' => false, 'operator' => '', 'operator_limit_selection' => false, 'operator_list' => [], 'identifier' => '', 'required' => false, 'remember' => false, 'multiple' => false, 'remember_roles' => ['authenticated' => 'authenticated', 'anonymous' => 0, 'administrator' => 0]], 'is_grouped' => false, 'group_info' => ['label' => '', 'description' => '', 'identifier' => '', 'optional' => true, 'widget' => 'select', 'multiple' => false, 'remember' => 0, 'default_group' => 'All', 'default_group_multiple' => [], 'group_items' => []], 'vid' => 'kanne', 'type' => 'select', 'limit' => true, 'error_message' => false],
- ],
- 'defaults' => ['filters' => false],
- ],
- ];
- // saldod -> sama mis liikmemaksud/projektid, aga ilma (lihtsustatud).
- $displays['page_liikmemaksud_saldod'] = [
- 'id' => 'page_liikmemaksud_saldod',
- 'display_title' => 'Liikmemaksude saldod',
- 'display_plugin' => 'page',
- 'position' => 5,
- 'display_options' => [
- 'path' => 'kanded/liikmemaksud/saldod',
- 'filters' => $displays['page_liikmemaksud']['display_options']['filters'],
- 'defaults' => ['filters' => false],
- ],
- ];
- $displays['page_projektid_saldod'] = [
- 'id' => 'page_projektid_saldod',
- 'display_title' => 'Projektide saldod',
- 'display_plugin' => 'page',
- 'position' => 6,
- 'display_options' => [
- 'path' => 'kanded/projektid/saldod',
- 'filters' => $displays['page_projektid']['display_options']['filters'],
- 'defaults' => ['filters' => false],
- ],
- ];
- $view->set('display', $displays);
- $view->save();
- echo "kanded displays lisatud\n";
- }
- echo "done\n";
|