Dropdown content can be static (pre-built in HTML) or dynamic (loaded via ajax).

Dropdown elements are created using the «dropdown» method of class «ui::».

Example 1.

$dropdown_pars = array();
$dropdown_pars['btn_text'] = 'My dropdown';
$dropdown_pars['body'] = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus volutpat lacinia nunc, eget tincidunt est maximus eu.';
$str .= ui::dropdown($dropdown_pars);

Example 2.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus volutpat lacinia nunc, eget tincidunt est maximus eu.
$dropdown_pars = array();
$dropdown_pars['btn_text'] = 'My dropdown';
$dropdown_pars['body'] = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus volutpat lacinia nunc, eget tincidunt est maximus eu.';
$dropdown_pars['init_open'] = true;
$str .= ui::dropdown($dropdown_pars);

To load dropdown content via ajax, the parameter «handler_dropdown» must be specified, which defines the server handler for generating dropdown content.
In the server handler, use the helper «oj_dropdown()» to return content.

Example 1.

$dropdown_pars = array();
$dropdown_pars['btn_text'] = 'My dropdown by ajax';
$dropdown_pars['init_open'] = true;
$dropdown_pars['handler_dropdown'] = 'my_dropdown_by_ajax_1';
$str .= ui::dropdown($dropdown_pars);
public function my_dropdown_by_ajax_1() {
	$dropdown_content = e_p('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus volutpat lacinia nunc, eget tincidunt est maximus eu.');
	$dropdown_content .= e_p('DATETIME: '.e_datetime());
	oj_dropdown($dropdown_content);
}

Example 2.

In this example, we do not use «init_open».
Dropdown content is not loaded until the user clicks the button to open the dropdown menu.

We also disable the content reload button with the parameter «use_btn_reload» set to FALSE.

$dropdown_pars = array();
$dropdown_pars['btn_text'] = 'My dropdown by ajax';
$dropdown_pars['handler_dropdown'] = 'my_dropdown_by_ajax_2';
$dropdown_pars['use_btn_reload'] = false;
$str .= ui::dropdown($dropdown_pars);
public function my_dropdown_by_ajax_2() {
	$dropdown_content = e_p('Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus volutpat lacinia nunc, eget tincidunt est maximus eu.');
	$dropdown_content .= e_p('DATETIME: '.e_datetime());
	oj_dropdown($dropdown_content);
}