En general voy bastante bien pero estoy atascado con el tema de los campos en formatos DATE, DATETIME y por el estilo.
En mi módulo he creado un formulario para guardar todos los campos que necesito y hay varios que son fechas, se introducen y se guardan bien pero a la hora de listar los distintos registros que tengo guardados no me deja filtrar por fechas y es importante que me permitiera hacerlo pero no tengo ni idea después buscar información acerca de esto.
Aquí os dejo en bucle que se utiliza en el fichero list.php de mi modulo, en el último "elseif" se excluyen a los campos de tipo date, timestamp de que les aparezca un recuadro de tipo input para buscar, aunque cambie ese "elseif" les aparece el recuadro pero evidentemente no consigue obtener resultados porque supongo que al ser de tipo DATE se tendrá que buscar de otra manera pero no se como hacerlo.
Código: Seleccionar todo
// Fields title search
// --------------------------------------------------------------------
print '<tr class="liste_titre">';
foreach ($object->fields as $key => $val)
{
$cssforfield = (empty($val['css']) ? '' : $val['css']);
if ($key == 'status') $cssforfield .= ($cssforfield ? ' ' : '').'center';
elseif (in_array($val['type'], array('date', 'datetime', 'timestamp'))) $cssforfield .= ($cssforfield ? ' ' : '').'center';
elseif (in_array($val['type'], array('timestamp'))) $cssforfield .= ($cssforfield ? ' ' : '').'nowrap';
elseif (in_array($val['type'], array('double(24,8)', 'double(6,3)', 'integer', 'real', 'price')) && $val['label'] != 'TechnicalID') $cssforfield .= ($cssforfield ? ' ' : '').'right';
if (!empty($arrayfields['t.'.$key]['checked']))
{
print '<td class="liste_titre'.($cssforfield ? ' '.$cssforfield : '').'">';
if (is_array($val['arrayofkeyval'])) print $form->selectarray('search_'.$key, $val['arrayofkeyval'], $search[$key], $val['notnull'], 0, 0, '', 1, 0, 0, '', 'maxwidth75');
elseif (strpos($val['type'], 'integer:') === 0) {
print $object->showInputField($val, $key, $search[$key], '', '', 'search_', 'maxwidth150', 1);
}
elseif (! preg_match('/^(date|timestamp)/', $val['type'])){
print '<input type="text" class="flat maxwidth75" name="search_'.$key.'" value="'.dol_escape_htmltag($search[$key]).'">';
}
print '</td>';
}
}