Для сбора даты изготовления, когда клиенты открывают новые выпуски, я добавил настраиваемое поле к моей установке Mantis (cur ver) с типом "дата". Я не указывал значения по умолчанию или возможные значения.
Mantis создает следующий HTML самостоятельно:
<tr class="row-2">
<td class="category"><span class="required">*</span>Date of Manufacture</td>
<td>
<select tabindex="6" name="custom_field_3_year">
<option value="0"></option>
<option value="2011">2011</option>
...snip...
<option value="2019">2019</option>
</select>
<select tabindex="7" name="custom_field_3_month">
<option value="0"></option>
<option value="1">January</option>
...snip...
<option value="12">December</option>
</select>
<select tabindex="8" name="custom_field_3_day">
<option value="0"></option>
<option value="1">1</option>
...snip...
<option value="31">31</option>
</select>
</td>
</tr>
Биты месяца и дня в порядке, и мы не особо заботимся о том, что пользователь вводит невозможный день, например, 30 февраля.
Однако годы завинчиваются. По какой-либо причине он начинается в 2011 году и продлится до 2019 года. Поскольку это поле выбора, вы не можете вручную вводить даты.
Что определяет диапазон года? Как я могу настроить его на что-то подходящее?
Я нашел ответ на свою проблему на форуме помощи MantisBT здесь.
Добавьте эти строки в файл config_inc.php и настройте на свои нужды
/**
* Number of years in the past that custom date fields will display in
* drop down boxes.
* @global int $g_backward_year_count
*/
$g_backward_year_count = 4;
/**
* Number of years in the future that custom date fields will display in
* drop down boxes.
* @global int $g_forward_year_count
*/
$g_forward_year_count = 4;