add_csv_export.php 5.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. <?php
  2. // Loo CSV eksport liikmed vaatele (path /liikmed/eksport).
  3. use Drupal\views\Entity\View;
  4. $view = View::load('liikmed');
  5. if (!$view) {
  6. echo "liikmed view puudub\n";
  7. return;
  8. }
  9. $displays = $view->get('display');
  10. if (!isset($displays['data_export'])) {
  11. $displays['data_export'] = [
  12. 'id' => 'data_export',
  13. 'display_title' => 'CSV eksport',
  14. 'display_plugin' => 'data_export',
  15. 'position' => 3,
  16. 'display_options' => [
  17. 'path' => 'liikmed/eksport',
  18. 'style' => [
  19. 'type' => 'data_export',
  20. 'options' => [
  21. 'formats' => ['csv' => 'csv'],
  22. 'csv_settings' => [
  23. 'delimiter' => ';',
  24. 'enclosure' => '"',
  25. 'escape_char' => '',
  26. 'strip_tags' => 1,
  27. 'trim' => 1,
  28. 'encoding' => 'utf8',
  29. 'utf8_bom' => 0,
  30. 'use_serializer_encode_only' => 1,
  31. ],
  32. ],
  33. ],
  34. 'defaults' => ['style' => false, 'row' => false, 'fields' => false],
  35. 'row' => ['type' => 'fields', 'options' => ['default_field_elements' => false, 'inline' => false, 'separator' => '', 'hide_empty' => false]],
  36. 'fields' => [
  37. 'title' => [
  38. 'id' => 'title', 'table' => 'node_field_data', 'field' => 'title',
  39. 'entity_type' => 'node', 'entity_field' => 'title', 'plugin_id' => 'field',
  40. 'label' => 'Nimi', 'exclude' => false,
  41. '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],
  42. 'element_type' => '', 'element_class' => '', 'element_label_type' => '', 'element_label_class' => '', 'element_label_colon' => true,
  43. 'element_wrapper_type' => '', 'element_wrapper_class' => '', 'element_default_classes' => true,
  44. 'empty' => '', 'hide_empty' => false, 'empty_zero' => false, 'hide_alter_empty' => true,
  45. 'click_sort_column' => 'value', 'type' => 'string', 'settings' => ['link_to_entity' => false],
  46. '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,
  47. ],
  48. 'field_isikukood' => [
  49. 'id' => 'field_isikukood', 'table' => 'node__field_isikukood', 'field' => 'field_isikukood',
  50. 'plugin_id' => 'field', 'label' => 'Isikukood', 'exclude' => false,
  51. '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],
  52. 'element_type' => '', 'element_class' => '', 'element_label_type' => '', 'element_label_class' => '', 'element_label_colon' => true,
  53. 'element_wrapper_type' => '', 'element_wrapper_class' => '', 'element_default_classes' => true,
  54. 'empty' => '', 'hide_empty' => false, 'empty_zero' => false, 'hide_alter_empty' => true,
  55. 'click_sort_column' => 'value', 'type' => 'string', 'settings' => [],
  56. '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,
  57. ],
  58. 'field_e_mail' => [
  59. 'id' => 'field_e_mail', 'table' => 'node__field_e_mail', 'field' => 'field_e_mail',
  60. 'plugin_id' => 'field', 'label' => 'E-mail', 'exclude' => false,
  61. '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],
  62. 'element_type' => '', 'element_class' => '', 'element_label_type' => '', 'element_label_class' => '', 'element_label_colon' => true,
  63. 'element_wrapper_type' => '', 'element_wrapper_class' => '', 'element_default_classes' => true,
  64. 'empty' => '', 'hide_empty' => false, 'empty_zero' => false, 'hide_alter_empty' => true,
  65. 'click_sort_column' => 'value', 'type' => 'basic_string', 'settings' => [],
  66. '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,
  67. ],
  68. ],
  69. ],
  70. ];
  71. $view->set('display', $displays);
  72. $view->save();
  73. echo "data_export display lisatud\n";
  74. } else {
  75. echo "data_export juba olemas\n";
  76. }
  77. echo "done\n";