Skip to content

Latest commit

 

History

History
160 lines (118 loc) · 8.02 KB

File metadata and controls

160 lines (118 loc) · 8.02 KB

Button

The input element with a type attribute whose value is button represents a button with no more semantics.

Basic Usage

Instantiate the Button class using Button::widget().

$button = Button::widget();

Setting Attributes

Use the provided methods to set specific attributes for the a element.

// setting class attribute
$button->class('container');

Or, use the attributes method to set multiple attributes at once.

$button->attributes(['class' => 'container', 'style' => 'background-color: #eee;']);

Adding value

If you want to include value in the button element, use the value method.

$button->value('MyValue');

Rendering

Generate the HTML output using the render method, for simple instantiation.

$html = $button->render();

Or, use the magic __toString method.

$html = (string) $button;

Common use cases

Below are examples of common use cases:

// adding multiple attributes
$button->class('external')->value('Myvalue');

// using data attributes
$button->dataAttributes(['analytics' => 'trackClick']);

Explore additional methods for setting various attributes such as lang, name, style, title, etc.

Prefix and Suffix

Use prefix and suffix methods to add text before and after the button tag, respectively.

// adding a prefix
$html = $button->value('MyValue')->prefix('MyPrefix')->render();

// adding a suffix
$html = $button->value('MyValue')->suffix('MySuffix')->render();

Template

The template method allows you to customize the HTML output of the a element.

The following template tags are available:

Tag Description
{prefix} The prefix text.
{tag} The a element.
{suffix} The suffix text.
// using a custom template
$button->template('<div>{tag}</div>');

Attributes

Refer to the Attribute Tests for comprehensive examples.

The following methods are available for setting attributes:

Method Description
ariaDescribedBy() Set the aria-describedby attribute.
ariaLabel() Set the aria-label attribute.
attributes() Set multiple attributes at once.
autofocus() Set the autofocus attribute.
class() Set the class attribute.
dataAttributes() Set multiple data-attributes at once.
disabled() Set the disabled attribute.
form() Set the form attribute.
hidden() Set the hidden attribute.
id() Set the id attribute.
lang() Set the lang attribute.
name() Set the name attribute.
readOnly() Set the readonly attribute.
style() Set the style attribute.
tabIndex() Set the tabindex attribute.
title() Set the title attribute.
value() Set the value attribute.

Custom methods

Refer to the Custom Methods Tests for comprehensive examples.

The following methods are available for customizing the HTML output:

Method Description
container() Set enabled or disabled for the container element.
containerAttributes() Set attributes for the container element.
containerClass() Set the class attribute for the container element.
containerTag() Set the tag for the container element.
prefix() Add text before the textarea element.
prefixContainer() Set enabled or disabled for the prefix-container element.
prefixContainerAttributes() Set attributes for the prefix-container element.
prefixContainerClass() Set the class attribute for the prefix-container element.
prefixContainerTag() Set the tag for the prefix-container element.
render() Generates the HTML output.
suffix() Add text after the label element.
suffixContainer() Set enabled or disabled for the suffix-container element.
suffixContainerAttributes() Set attributes for the suffix-container element.
suffixContainerClass() Set the class attribute for the suffix-container element.
suffixContainerTag() Set the tag for the suffix-container element.
template() Set the template for the HTML output.
widget() Instantiates the Button::class.
                                                            |

Label methods

Refer to the Label Tests for comprehensive examples.

The following methods are available for customizing the HTML output:

Method Description
labelAttributes() Set attributes for the label element.
labelClass() Set the class attribute for the label element.
labelContent() Set the content within the label element.
labelFor() Set the for attribute for the label element.
notLabel() Set disabled for the label element.