Ruční vykreselní checkoxListu
- Radkos
- Člen | 62
Ahoj, snažím se ručně vykreslit checkox list, předem neznám jeho obsah, ten se dozvním až v šabloně:
{foreach $deliveryMethods[$editedDeliveryMethod->id]->paymentMethods as $paymentMethod}
<label n:name="paymentMethods:$paymentMethod->id">
<input n:name="paymentMethods:$paymentMethod->id" value="{$paymentMethod->id}">
{$paymentMethod->name}
</label>
{/foreach}
Vyhazuje mi to chybu Undefined offset: 1
Díky
- Radkos
- Člen | 62
Ondřej Kubíček napsal(a):
a co je v
$deliveryMethods
? protože tam není žádný klíč 1
V $deliveryMethods je např. toto:
`
Array
(
[1] ⇒ stdClass Object
(
[id] ⇒ 1
[name] ⇒ PPL
[price] ⇒ 85
[paymentMethods] ⇒ Array
(
[1] ⇒ stdClass Object
(
[id] ⇒ 1
[name] ⇒ Dobírka
[price] ⇒ 30
[isSupported] ⇒ 1
)
[2] ⇒ stdClass Object
(
[id] ⇒ 2
[name] ⇒ Platební kartou
[price] ⇒ 0
[isSupported] =>
)
[3] ⇒ stdClass Object
(
[id] ⇒ 3
[name] ⇒ Hotově na prodejně
[price] ⇒ 0
[isSupported] =>
)
)
)
)
`
- David Matějka
- Moderator | 6445
a existuje polozka s danym id v radiolistu (nebo co to je) paymentMethods?
- David Matějka
- Moderator | 6445
nn, nejde. to deliveryMethods ale preci musis znat uz v presenteru, ne?
ale mohl bys pouzit low level formulare: https://doc.nette.org/cs/forms#…
- David Matějka
- Moderator | 6445
nejsnazsim resenim je vypsat tam vsechny moznosti, respektive treba pro kazdou delivery method tam vykreslit rovnou checkboxlist s platebnima metodama a jen je javascriptem skryvat/zobrazovat (pres toggle treba)
pokud bys ten checkboxlist chtel plnit dynamicky, tak je to slozitejsi problem, ale na internetu najdes spoustu clanku na tema „nette dependent selectbox“ (bude to velmi podobny i s checkboxlistem), treba https://zlml.cz/…t-select-box