vamtam-tabs.php 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <?php
  2. /**
  3. * @class VamtamTabsModule
  4. */
  5. class VamtamTabsModule extends FLBuilderModule {
  6. /**
  7. * @method __construct
  8. */
  9. public function __construct() {
  10. $path = trailingslashit( 'modules/' . basename( dirname( __FILE__ ) ) );
  11. parent::__construct(array(
  12. 'name' => __( 'Tabs', 'vamtam-elements-b' ),
  13. 'description' => __( 'Display a collection of tabbed content.', 'vamtam-elements-b' ),
  14. 'category' => __( 'VamTam Modules', 'vamtam-elements-b' ),
  15. 'partial_refresh' => true,
  16. 'dir' => VAMTAMEL_B_DIR . $path,
  17. 'url' => VAMTAMEL_B_URL . $path,
  18. ));
  19. $this->add_css( 'font-awesome' );
  20. }
  21. }
  22. /**
  23. * Register the module and its form settings.
  24. */
  25. FLBuilder::register_module('VamtamTabsModule', array(
  26. 'items' => array(
  27. 'title' => __( 'Items', 'vamtam-elements-b' ),
  28. 'sections' => array(
  29. 'general' => array(
  30. 'title' => '',
  31. 'fields' => array(
  32. 'items' => array(
  33. 'type' => 'form',
  34. 'label' => __( 'Item', 'vamtam-elements-b' ),
  35. 'form' => 'items_form', // ID from registered form below
  36. 'preview_text' => 'label', // Name of a field to use for the preview text
  37. 'multiple' => true,
  38. ),
  39. ),
  40. ),
  41. ),
  42. ),
  43. 'style' => array(
  44. 'title' => __( 'Style', 'vamtam-elements-b' ),
  45. 'sections' => array(
  46. 'general' => array(
  47. 'title' => '',
  48. 'fields' => array(
  49. 'layout' => array(
  50. 'type' => 'select',
  51. 'label' => __( 'Layout', 'vamtam-elements-b' ),
  52. 'default' => 'horizontal',
  53. 'options' => array(
  54. 'horizontal' => __( 'Horizontal', 'vamtam-elements-b' ),
  55. 'vertical' => __( 'Vertical', 'vamtam-elements-b' ),
  56. ),
  57. ),
  58. 'border_color' => array(
  59. 'type' => 'vamtam-color',
  60. 'label' => __( 'Border Color', 'vamtam-elements-b' ),
  61. 'default' => 'accent7',
  62. ),
  63. ),
  64. ),
  65. ),
  66. ),
  67. ));
  68. /**
  69. * Register a settings form to use in the "form" field type above.
  70. */
  71. FLBuilder::register_settings_form('items_form', array(
  72. 'title' => __( 'Add Item', 'vamtam-elements-b' ),
  73. 'tabs' => array(
  74. 'general' => array(
  75. 'title' => __( 'General', 'vamtam-elements-b' ),
  76. 'sections' => array(
  77. 'general' => array(
  78. 'title' => '',
  79. 'fields' => array(
  80. 'label' => array(
  81. 'type' => 'text',
  82. 'label' => __( 'Label', 'vamtam-elements-b' ),
  83. ),
  84. ),
  85. ),
  86. 'content' => array(
  87. 'title' => __( 'Content', 'vamtam-elements-b' ),
  88. 'fields' => array(
  89. 'content' => array(
  90. 'type' => 'editor',
  91. 'label' => '',
  92. ),
  93. ),
  94. ),
  95. ),
  96. ),
  97. ),
  98. ));