2017-09-23 5 views
0

J'utilise Sonata Admin avec certains champs du type DateTime et je veux utiliser sonata_type_datetime_picker comme décrit here. Cela a très bien fonctionné il y a quelques jours, mais maintenant il a cessé de fonctionner et je n'ai aucune idée, pourquoi. Passez presque une journée là-dessus sans progrès.Thème de formulaire pour "sonata_type_datetime_picker" non chargé dans sonata admin

twig.yml:

twig: 
    debug: '%kernel.debug%' 
    form_themes: 
     - 'SonataCoreBundle:Form:datepicker.html.twig' 
    strict_variables: '%kernel.debug%' 

Utilisation dans ma classe admin:

->add(
    'creationDate', 
    'sonata_type_datetime_picker', 
    [ 
     'required' => false 
    ] 
) 

Mais il est rendu comme ça (donc je pense que le form_theme n'est pas chargée du tout, car il des solutions de repli un peu à sonata-ba-field-standard-natural?)

<div class="form-group" id="sonata-ba-field-container-s59c611aaec3a3_creationDate"> 
    <label class=" control-label" for="s59c611aaec3a3_creationDate"> 
     Erstelldatum 
    </label> 
    <div class="sonata-ba-field sonata-ba-field-standard-natural"> 
     <input type="text" id="s59c611aaec3a3_creationDate" name="s59c611aaec3a3[creationDate]" class="sonata-medium-date form-control" value="20.09.2017, 15:41:43"> 
    </div> 
</div> 

Mes twig.yml est définitivement chargé car il se bloque lorsque j'ajoute quelques erreurs. Mais quand je modifie datepicker.html.twig directement dans le dossier du vendeur en mal orthographiant du code de brindille, rien ne se bloque - même lorsque je supprime le dossier de cache par moi-même.

Quelqu'un a-t-il une idée de ce qui pourrait éventuellement se tromper ou d'où je pourrais commencer à creuser encore plus profond? versions Bundle:

"php":          "7.0.*", 
"symfony/symfony":       "3.3.*", 
"api-platform/core":      "^2.0", 
"doctrine/orm":        "^2.5", 
"doctrine/doctrine-bundle":     "^1.6", 
"doctrine/doctrine-cache-bundle":   "^1.2", 
"symfony/swiftmailer-bundle":    "^2.3", 
"symfony/monolog-bundle":     "^3.0", 
"sensio/distribution-bundle":    "^5.0", 
"sensio/framework-extra-bundle":   "^3.0.2", 
"incenteev/composer-parameter-handler":  "^2.0", 
"dunglas/action-bundle":     "^0.3", 
"nelmio/cors-bundle":      "^1.4", 
"phpdocumentor/reflection-docblock":  "^3.0", 
"sonata-project/admin-bundle":    "^3.21", 
"sonata-project/doctrine-orm-admin-bundle": "^3.1", 
"friendsofsymfony/user-bundle":    "~2.0", 
"doctrine/data-fixtures":     "^1.2", 
"nelmio/api-doc-bundle":     "^2.11.2", 
"sonata-project/intl-bundle":    "^2.3", 
"knplabs/knp-gaufrette-bundle":    "~0.4", 
"sonata-project/user-bundle":    "dev-add_support_for_fos_user2" 

Mise à jour: Ne fonctionne pas non plus avec symfony 3.2:

"php":          "7.0.*", 
"symfony/symfony":       "3.2.*", 
"api-platform/core":      "^2.0", 
"doctrine/orm":        "^2.5", 
"doctrine/doctrine-bundle":     "^1.6", 
"doctrine/doctrine-cache-bundle":   "^1.2", 
"symfony/swiftmailer-bundle":    "^2.3", 
"symfony/monolog-bundle":     "^3.0", 
"sensio/distribution-bundle":    "^5.0", 
"sensio/framework-extra-bundle":   "^3.0.2", 
"incenteev/composer-parameter-handler":  "^2.0", 
"dunglas/action-bundle":     "^0.3", 
"nelmio/cors-bundle":      "^1.4", 
"phpdocumentor/reflection-docblock":  "^3.0", 
"sonata-project/admin-bundle":    "^3.21", 
"sonata-project/doctrine-orm-admin-bundle": "^3.1", 
"friendsofsymfony/user-bundle":    "~2.0", 
"doctrine/data-fixtures":     "^1.2", 
"nelmio/api-doc-bundle":     "^2.11.2", 
"sonata-project/intl-bundle":    "^2.3", 
"knplabs/knp-gaufrette-bundle":    "~0.4", 
"sonata-project/user-bundle":    "dev-add_support_for_fos_user2" 

Répondre

1

Ok, je trouve la question. Pour une raison quelconque, SonataUserBundle requiert le paramètre (obsolète?) twig.form.resources. Donc, je viens d'ajouter twig.form.resources: [] dans mon parameters.yml pour contourner ce problème.

Mais pour une raison quelconque, cela complètement réenregistrés ma configuration brindille:

twig: 
    form_themes: 
     - 'SonataCoreBundle:Form:datepicker.html.twig' 

Alors comme solution de contournement, je fais maintenant ceci:

twig.form.resources: ['SonataCoreBundle:Form:datepicker.html.twig']