addRadioList nespravny label

japlavaren
Člen | 404
+
0
-

ahoj

mam radio list:

<?php
$form->addRadioList('hasCommitment', 'Viazanosť', [
            'yes' => 'Áno',
            'no' => 'Nie',
        ]);
?>

a v sablone chcem rucne vykreslit labely:

<label n:name="hasCommitment:yes"/>
<label n:name="hasCommitment:no"/>

problem je ze sa mi vykreslia nespravne ako:

<label for="hasCommitment-yes">Viazanosť</label>
<label for="hasCommitment-no">Viazanosť</label>

a ocakavany vystup je:

<label for="hasCommitment-yes">Áno</label>
<label for="hasCommitment-no">Nie</label>

ked sa pozrem do generovanej sablony vidim tam:

<?php
 <label class="left"<?php
		$_input = end($this->global->formsStack)["hasCommitment"];
		echo $_input->getLabelPart("yes")->addAttributes(array (
		'class' => NULL,
		))->attributes() ?>><?php echo $_input->getLabelPart()->getHtml() ?></label>
?>

co je predpokladam nespravne pretoze v prvom pripade sa pouzije spravne getLabelPart("yes") ale pre vypisanie html hodnoty je to uz iba getLabelPart(). Robim niekde chybu alebo sa jedna o bug?

BTW: preco sa vola ->addAttributes(array ('class' => NULL))? Pride mi to ako zbytocny kod

japlavaren
Člen | 404
+
0
-

ma niekto napad/riesenie?

h4kuna
Backer | 740
+
+2
-

Ahoj, tento případ je ukázaný v manuálu

V tvém případě to bude takto

{foreach $form[hasCommitment]->items as $key => $label}
	<label n:name="hasCommitment:$key"><input n:name="hasCommitment:$key"> {$label}</label>
{/foreach}