Bonjour,
Pour un module custom qui reprend le fonctionnement du carousel en plus poussé, j'ai besoin de pouvoir gérer des dates.
Mon schema.xml ressemble à ça :
<table name="background">
<column autoIncrement="true" name="id" primaryKey="true" required="true" type="INTEGER" />
<column name="file" type="VARCHAR" size="255" />
<column name="position" type="INTEGER" />
<column name="alt" size="255" type="VARCHAR" />
<column name="url" size="255" type="VARCHAR" />
<column name="title" size="255" type="VARCHAR" />
<column name="description" type="CLOB" />
<column name="chapo" type="LONGVARCHAR" />
<column name="postscriptum" type="LONGVARCHAR" />
<column name="type" size="15" type="VARCHAR" required="true" defaultValue="carousel" />
<column name="start" type="DATE" required="false" />
<column name="end" type="DATE" required="false" />
<column name="active" type="BOOLEAN" required="true" defaultValue="false" />
<column name="lang" size="15" type="VARCHAR" required="true" defaultValue="fr_FR" />
<behavior name="timestampable" />
<behavior name="i18n">
<parameter name="i18n_columns" value="alt, title, description, chapo, postscriptum" />
</behavior>
</table>
Ce schéma me donne cette table SQL :
La déclaration de mon form :
protected function buildForm()
{
$formBuilder = $this->formBuilder;
$backgrounds = BackgroundQuery::create()->orderByPosition()->find();
/** @var Background $background */
foreach ($backgrounds as $background) {
$id = $background->getId();
$formBuilder->add(
... blabla ...
)->add('start'.$id, 'date', array(
'label' => Translator::getInstance()->trans('Date de début'),
'label_attr' => array(
'for' => 'start'.$id
),
'required' => false
))->add('end'.$id, 'date', array(
'label' => Translator::getInstance()->trans('Date de fin'),
'label_attr' => array(
'for' => 'end'.$id
),
'required' => false
));
}
}
Mon template Back Office :
</div>
{render_form_field field="start{$ID}" value=$START}
{render_form_field field="end{$ID}" value=$END}
<div>
Et la tête qu'il a, avec le problème qui survient quand j'essaie de lui donner une date via le datepicker qui se met automatiquement :
C'est lorsque j'essaie d'enregistrer cette modif que j'obtiens cette erreur en rouge sur l'image. Je pense que le format de la date ne lui va pas, mais je ne trouve ni réponse dans le forum, ni exemple dans la doc sur une utilisation d'un form avec une date... Un petit coup de pouce serait le bienvenu.
Last edited by HeishPi (17-06-2019 09:36:31)