Jak zrobić, żeby w formularzu zamówienia opcja "proszę o fakturę" po zaznaczeniu rozwijała trzy pola dane do faktury: tj. nazwa do faktury, adres oraz NIP. Chciałbym, żeby te trzy pola opcjonalnie były niewidoczne, a rozwijały się po kliknięciu w pole 'proszę o fakturę".
Osiągnięcie tego efektu opiera się na użyciu javascript i wymaga modyfikacji szablonu Shop:order.html.php, która sprowadza się do modyfikacji pętli:
{% foreach ($form->getFields() as $field): %}
<tr>
<th>{% echo $field->renderLabel() %}</th>
<td>{% echo $field->render() . $field->renderError() %}</td>
</tr>
{% endforeach %}
na:
{% foreach ($form->getFields() as $fname => $field): %}
<tr id="tr_{{ $fname }}">
<th>{% echo $field->renderLabel() %}</th>
<td>{% echo $field->render() . $field->renderError() %}</td>
</tr>
{% endforeach %}
oraz dodania kodu (na samym końcu) w takiej postaci:
<script type="text/javascript">
if (jQuery) { jQuery('#tr_invoice_name').hide(); jQuery('#tr_invoice_address').hide(); jQuery('#tr_invoice_vat_id').hide(); jQuery('#order_form_invoice_status').change(function(){ if (jQuery(this).is(':checked')) { jQuery('#tr_invoice_name').show(500); jQuery('#tr_invoice_address').show(500); jQuery('#tr_invoice_vat_id').show(500); } else { jQuery('#tr_invoice_name').hide(); jQuery('#tr_invoice_address').hide(); jQuery('#tr_invoice_vat_id').hide(); } }); };
</script>