add_more_views.php 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?php
  2. // Loo puuduvad vaated/display'd: liikmed/nimekiri, synnipaevad, docs.
  3. use Drupal\views\Entity\View;
  4. // 1. liikmed vaatele lisa page "liikmed/nimekiri" (sama nagu /liikmed).
  5. $view = View::load('liikmed');
  6. if ($view) {
  7. $displays = $view->get('display');
  8. if (!isset($displays['page_nimekiri'])) {
  9. $displays['page_nimekiri'] = [
  10. 'id' => 'page_nimekiri',
  11. 'display_title' => 'Nimekiri',
  12. 'display_plugin' => 'page',
  13. 'position' => 2,
  14. 'display_options' => ['path' => 'liikmed/nimekiri'],
  15. ];
  16. $view->set('display', $displays);
  17. $view->save();
  18. echo "liikmed page_nimekiri lisatud\n";
  19. }
  20. }
  21. // 2. synnipaevad view (emal_liige, sort field_sunnipaev).
  22. $synnipaevad = View::load('synnipaevad');
  23. if (!$synnipaevad) {
  24. $base = [
  25. 'id' => 'synnipaevad',
  26. 'label' => 'Sünnipäevad',
  27. 'module' => 'views',
  28. 'description' => 'Sünnipäevad nimekiri',
  29. 'tag' => '',
  30. 'base_table' => 'node_field_data',
  31. 'base_field' => 'nid',
  32. 'status' => true,
  33. 'langcode' => 'en',
  34. ];
  35. $display = [
  36. 'default' => [
  37. 'id' => 'default',
  38. 'display_title' => 'Master',
  39. 'display_plugin' => 'default',
  40. 'position' => 0,
  41. 'display_options' => [
  42. 'title' => 'Sünnipäevad',
  43. 'fields' => [
  44. 'title' => [
  45. 'id' => 'title', 'table' => 'node_field_data', 'field' => 'title',
  46. 'entity_type' => 'node', 'entity_field' => 'title', 'plugin_id' => 'field',
  47. 'label' => 'Nimi', 'exclude' => false,
  48. 'alter' => ['alter_text' => false, 'text' => '', 'make_link' => false, 'path' => '', 'absolute' => false, 'external' => false, 'replace_spaces' => false, 'path_case' => 'none', 'trim_whitespace' => false, 'alt' => '', 'rel' => '', 'link_class' => '', 'prefix' => '', 'suffix' => '', 'target' => '', 'nl2br' => false, 'max_length' => 0, 'word_boundary' => true, 'ellipsis' => true, 'more_link' => false, 'more_link_text' => '', 'more_link_path' => '', 'strip_tags' => false, 'trim' => false, 'preserve_tags' => '', 'html' => false],
  49. 'element_type' => '', 'element_class' => '', 'element_label_type' => '', 'element_label_class' => '', 'element_label_colon' => true,
  50. 'element_wrapper_type' => '', 'element_wrapper_class' => '', 'element_default_classes' => true,
  51. 'empty' => '', 'hide_empty' => false, 'empty_zero' => false, 'hide_alter_empty' => true,
  52. 'click_sort_column' => 'value', 'type' => 'string', 'settings' => ['link_to_entity' => true],
  53. 'group_column' => 'value', 'group_columns' => [], 'group_rows' => true, 'delta_limit' => 0, 'delta_offset' => 0, 'delta_reversed' => false, 'delta_first_last' => false, 'multi_type' => 'separator', 'separator' => ', ', 'field_api_classes' => false,
  54. ],
  55. 'field_e_mail' => [
  56. 'id' => 'field_e_mail', 'table' => 'node__field_e_mail', 'field' => 'field_e_mail',
  57. 'plugin_id' => 'field', 'label' => 'E-mail', 'exclude' => false,
  58. 'alter' => ['alter_text' => false, 'text' => '', 'make_link' => false, 'path' => '', 'absolute' => false, 'external' => false, 'replace_spaces' => false, 'path_case' => 'none', 'trim_whitespace' => false, 'alt' => '', 'rel' => '', 'link_class' => '', 'prefix' => '', 'suffix' => '', 'target' => '', 'nl2br' => false, 'max_length' => 0, 'word_boundary' => true, 'ellipsis' => true, 'more_link' => false, 'more_link_text' => '', 'more_link_path' => '', 'strip_tags' => false, 'trim' => false, 'preserve_tags' => '', 'html' => false],
  59. 'element_type' => '', 'element_class' => '', 'element_label_type' => '', 'element_label_class' => '', 'element_label_colon' => true,
  60. 'element_wrapper_type' => '', 'element_wrapper_class' => '', 'element_default_classes' => true,
  61. 'empty' => '', 'hide_empty' => false, 'empty_zero' => false, 'hide_alter_empty' => true,
  62. 'click_sort_column' => 'value', 'type' => 'basic_string', 'settings' => [],
  63. 'group_column' => 'value', 'group_columns' => [], 'group_rows' => true, 'delta_limit' => 0, 'delta_offset' => 0, 'delta_reversed' => false, 'delta_first_last' => false, 'multi_type' => 'separator', 'separator' => ', ', 'field_api_classes' => false,
  64. ],
  65. ],
  66. 'pager' => ['type' => 'full', 'options' => ['offset' => 0, 'items_per_page' => 50]],
  67. 'exposed_form' => ['type' => 'basic', 'options' => ['submit_button' => 'Otsi', 'reset_button' => false, 'reset_button_label' => 'Reset', 'exposed_sorts_label' => 'Sort by', 'expose_sort_order' => false, 'sort_asc_label' => 'Asc', 'sort_desc_label' => 'Desc']],
  68. 'access' => ['type' => 'perm', 'options' => ['perm' => 'access content']],
  69. 'cache' => ['type' => 'tag', 'options' => []],
  70. 'empty' => [],
  71. 'sorts' => [
  72. 'title' => ['id' => 'title', 'table' => 'node_field_data', 'field' => 'title', 'entity_type' => 'node', 'entity_field' => 'title', 'plugin_id' => 'standard', 'order' => 'ASC', 'expose' => ['label' => '', 'field_identifier' => ''], 'exposed' => false],
  73. ],
  74. 'arguments' => [],
  75. 'filters' => [
  76. 'status' => ['id' => 'status', 'table' => 'node_field_data', 'field' => 'status', 'entity_type' => 'node', 'entity_field' => 'status', 'plugin_id' => 'boolean', 'value' => '1', 'group' => 1, 'expose' => ['operator' => '']],
  77. 'type' => ['id' => 'type', 'table' => 'node_field_data', 'field' => 'type', 'entity_type' => 'node', 'entity_field' => 'type', 'plugin_id' => 'bundle', 'value' => ['emal_liige' => 'emal_liige'], 'expose' => ['operator_limit_selection' => false, 'operator_list' => []]],
  78. ],
  79. 'style' => ['type' => 'table', 'options' => ['grouping' => [], 'row_class' => '', 'default_row_class' => true, 'columns' => ['title' => 'title', 'field_e_mail' => 'field_e_mail'], 'default' => 'title', 'info' => ['title' => ['sortable' => true, 'default_sort_order' => 'asc', 'align' => '', 'separator' => '', 'empty_column' => false, 'responsive' => ''], 'field_e_mail' => ['sortable' => false, 'default_sort_order' => 'asc', 'align' => '', 'separator' => '', 'empty_column' => false, 'responsive' => '']], 'override' => true, 'sticky' => true, 'summary' => '', 'empty_table' => true, 'caption' => '', 'description' => '']],
  80. 'row' => ['type' => 'fields', 'options' => []],
  81. 'query' => ['type' => 'views_query', 'options' => ['query_comment' => '', 'disable_sql_rewrite' => false, 'distinct' => false, 'replica' => false, 'query_tags' => []]],
  82. 'relationships' => [], 'header' => [], 'footer' => [], 'display_extenders' => [],
  83. ],
  84. ],
  85. 'page' => [
  86. 'id' => 'page', 'display_title' => 'Page', 'display_plugin' => 'page', 'position' => 1,
  87. 'display_options' => ['path' => 'synnipaevad'],
  88. ],
  89. 'page_1' => [
  90. 'id' => 'page_1', 'display_title' => 'Sünnipäevad', 'display_plugin' => 'page', 'position' => 2,
  91. 'display_options' => ['path' => 'liikmed/synnipaevad'],
  92. ],
  93. ];
  94. $synnipaevad = View::create($base);
  95. $synnipaevad->set('display', $display);
  96. $synnipaevad->save();
  97. echo "synnipaevad view loodud\n";
  98. }
  99. echo "done\n";