<?php
/**
* @class FLAccordionModule
*/
class FLAccordionModule extends FLBuilderModule {
/**
* @method __construct
*/
public function __construct()
{
parent::__construct(array(
'name' => __('下拉内容框', 'fl-builder'),
'description' => __('Display a collapsible accordion of items.', 'fl-builder'),
'category' => __('高级模块', 'fl-builder'),
'partial_refresh' => true
));
$this->add_css('font-awesome');
}
}
/**
* Register the module and its form settings.
*/
FLBuilder::register_module('FLAccordionModule', array(
'items' => array(
'title' => __('Items', 'fl-builder'),
'sections' => array(
'general' => array(
'title' => '',
'fields' => array(
'items' => array(
'type' => 'form',
'label' => __('Item', 'fl-builder'),
'form' => 'accordion_items_form', // ID from registered form below
'preview_text' => 'label', // Name of a field to use for the preview text
'multiple' => true
)
)
)
)
),
'style' => array(
'title' => __('Style', 'fl-builder'),
'sections' => array(
'general' => array(
'title' => '',
'fields' => array(
'border_color' => array(
'type' => 'color',
'label' => __('Border Color', 'fl-builder'),
'default' => 'e5e5e5',
'preview' => array(
'type' => 'css',
'selector' => '.fl-accordion-item',
'property' => 'border-color'
)
),
'label_size' => array(
'type' => 'select',
'label' => __('Label Size', 'fl-builder'),
'default' => 'small',
'options' => array(
'small' => _x( 'Small', 'Label size.', 'fl-builder' ),
'medium' => _x( 'Medium', 'Label size.', 'fl-builder' ),
'large' => _x( 'Large', 'Label size.', 'fl-builder' )
),
'preview' => array(
'type' => 'none'
)
),
'item_spacing' => array(
'type' => 'text',
'label' => __('Item Spacing', 'fl-builder'),
'default' => '10',
'maxlength' => '2',
'size' => '3',
'description' => 'px',
'preview' => array(
'type' => 'none'
)
),
'collapse' => array(
'type' => 'select',
'label' => __('Collapse Inactive', 'fl-builder'),
'default' => '1',
'options' => array(
'1' => __('Yes', 'fl-builder'),
'0' => __('No', 'fl-builder')
),
'help' => __('Choosing yes will keep only one item open at a time. Choosing no will allow multiple items to be open at the same time.', 'fl-builder'),
'preview' => array(
'type' => 'none'
)
),
'open_first' => array(
'type' => 'select',
'label' => __('Expand First Item', 'fl-builder'),
'default' => '0',
'options' => array(
'0' => __('No', 'fl-builder'),
'1' => __('Yes', 'fl-builder')
),
'help' => __('Choosing yes will expand the first item by default.', 'fl-builder')
)
)
)
)
)
));
/**
* Register a settings form to use in the "form" field type above.
*/
FLBuilder::register_settings_form('accordion_items_form', array(
'title' => __('Add Item', 'fl-builder'),
'tabs' => array(
'general' => array(
'title' => __('General', 'fl-builder'),
'sections' => array(
'general' => array(
'title' => '',
'fields' => array(
'label' => array(
'type' => 'text',
'label' => __('Label', 'fl-builder')
)
)
),
'content' => array(
'title' => __('Content', 'fl-builder'),
'fields' => array(
'content' => array(
'type' => 'editor',
'label' => '',
'wpautop' => false
)
)
)
)
)
)
));