public function render()
{
$args = $this->arguments;
PhpQuery::newDocument();
$this->markup = PhpQuery::pq($this->template);
$label = $this->markup['label'];
$this->box = $this->markup['.checkbox'];
$checkboxes = array_get($args, 'checkboxes');
$nameGlobal = array_get($args, 'name');
$labelText = array_get($args, 'label');
if ($labelText !== null) {
$label->removeClass('hidden')->html($labelText);
}
// checkbox가 따로 있을 경우
if ($checkboxes !== null) {
foreach ((array) $checkboxes as $arg) {
$checkboxObj = PhpQuery::pq("<label class=\"checkbox-inline\"><input type=\"checkbox\"><span></span></label>");
$arg = array_add($arg, 'name', $nameGlobal . '[]');
$this->appendCheckbox($checkboxObj, $arg);
}
// checkbox가 따로 없을 경우
} else {
$checkboxObj = PhpQuery::pq("<input type=\"checkbox\">");
foreach ($args as $key => $arg) {
switch ($key) {
case 'class':
$checkboxObj->addClass($arg);
break;
case 'id':
$label->attr('for', $arg);
// pass to default
// pass to default
default:
$checkboxObj->attr($key, $arg);
break;
}
}
}
return parent::render();
}