add_docs_view.php 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <?php
  2. use Drupal\views\Entity\View;
  3. // "dokumendid" vaade: filedepot_folder node nimekiri, path /docs.
  4. $view = View::load('dokumendid');
  5. if (!$view) {
  6. $base = [
  7. 'id' => 'dokumendid',
  8. 'label' => 'Dokumendid',
  9. 'module' => 'views',
  10. 'description' => 'Dokumentide kataloog',
  11. 'tag' => '',
  12. 'base_table' => 'node_field_data',
  13. 'base_field' => 'nid',
  14. 'status' => true,
  15. 'langcode' => 'en',
  16. ];
  17. $display = [
  18. 'default' => [
  19. 'id' => 'default', 'display_title' => 'Master', 'display_plugin' => 'default', 'position' => 0,
  20. 'display_options' => [
  21. 'title' => 'Dokumendid',
  22. 'fields' => [
  23. 'title' => [
  24. 'id' => 'title', 'table' => 'node_field_data', 'field' => 'title',
  25. 'entity_type' => 'node', 'entity_field' => 'title', 'plugin_id' => 'field',
  26. 'label' => 'Nimetus', 'exclude' => false,
  27. '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],
  28. 'element_type' => '', 'element_class' => '', 'element_label_type' => '', 'element_label_class' => '', 'element_label_colon' => true,
  29. 'element_wrapper_type' => '', 'element_wrapper_class' => '', 'element_default_classes' => true,
  30. 'empty' => '', 'hide_empty' => false, 'empty_zero' => false, 'hide_alter_empty' => true,
  31. 'click_sort_column' => 'value', 'type' => 'string', 'settings' => ['link_to_entity' => true],
  32. '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,
  33. ],
  34. ],
  35. 'pager' => ['type' => 'full', 'options' => ['offset' => 0, 'items_per_page' => 50]],
  36. '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']],
  37. 'access' => ['type' => 'perm', 'options' => ['perm' => 'access content']],
  38. 'cache' => ['type' => 'tag', 'options' => []],
  39. 'empty' => [],
  40. 'sorts' => [
  41. '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],
  42. ],
  43. 'arguments' => [],
  44. 'filters' => [
  45. 'status' => ['id' => 'status', 'table' => 'node_field_data', 'field' => 'status', 'entity_type' => 'node', 'entity_field' => 'status', 'plugin_id' => 'boolean', 'value' => '1', 'group' => 1, 'expose' => ['operator' => '']],
  46. 'type' => ['id' => 'type', 'table' => 'node_field_data', 'field' => 'type', 'entity_type' => 'node', 'entity_field' => 'type', 'plugin_id' => 'bundle', 'value' => ['filedepot_folder' => 'filedepot_folder'], 'expose' => ['operator_limit_selection' => false, 'operator_list' => []]],
  47. ],
  48. 'style' => ['type' => 'table', 'options' => ['grouping' => [], 'row_class' => '', 'default_row_class' => true, 'columns' => ['title' => 'title'], 'default' => 'title', 'info' => ['title' => ['sortable' => true, 'default_sort_order' => 'asc', 'align' => '', 'separator' => '', 'empty_column' => false, 'responsive' => '']], 'override' => true, 'sticky' => true, 'summary' => '', 'empty_table' => true, 'caption' => '', 'description' => '']],
  49. 'row' => ['type' => 'fields', 'options' => []],
  50. 'query' => ['type' => 'views_query', 'options' => ['query_comment' => '', 'disable_sql_rewrite' => false, 'distinct' => false, 'replica' => false, 'query_tags' => []]],
  51. 'relationships' => [], 'header' => [], 'footer' => [], 'display_extenders' => [],
  52. ],
  53. ],
  54. 'page' => [
  55. 'id' => 'page', 'display_title' => 'Page', 'display_plugin' => 'page', 'position' => 1,
  56. 'display_options' => ['path' => 'docs'],
  57. ],
  58. ];
  59. $view = View::create($base);
  60. $view->set('display', $display);
  61. $view->save();
  62. echo "dokumendid view loodud\n";
  63. }
  64. echo "done\n";