Korzystam z Zend_Form i utknąłem w sytuacji. Mam tablicę niektórych wartości, takich jak poniżej:
$feeTypes = array(1,2,3,4);
i chcę utworzyć 6 elementów tekstowych w formie zend, które powinny być renderowane w następujący sposób:
<input type="text" name="class_fee_type[1]" />
<input type="text" name="class_fee_type[2]" />
<input type="text" name="class_fee_type[3]" />
<input type="text" name="class_fee_type[4]" />
Próbowałem następującego kodu, ale nie wiem, jak powiązać powyższą tablicę $ feeType.
$class_fee_type = $this->CreateElement("text","class_fee_type")
->setRequired(false)
->setAllowEmpty(false)
->setIsArray(true)
->setRegisterInArrayValidator(false)
->setDecorators(array( array("ViewHelper")
));
Nie używam żadnego podformularza w tej formie. Jest to absolutnie prosta forma zend. Dzięki.
Odpowiedzi:
0 dla odpowiedzi № 1Mówię z punktu widzenia ZF1:
Wygląda na to, że nie ma standardowego sposobu robienia tego, czego potrzebujesz. Polecam więc do tego napisanie własnego elementu formularza i pomocnika widoku elementu. I przekazanie tablicy indeksów jako opcji do elementu.
Uwaga: aby użyć setRegisterInArrayValidator - Twój element formularza Zend powinien rozszerzać Zend_Form_Element_Multi.