2016-07-30 2 views
1

Ich versuche ckeditor in symfony3 zu verwenden, installierte ich es erfolgreich, aber eine Fehlermeldung erhalten, wenn ich uns es in meiner Form versuchen, wie in Tutorial beschrieben (https://symfony.com/doc/current/bundles/IvoryCKEditorBundle/index.html):mit ckeditor in symfony3

$builder->add('content', CKEditorType::class); 

aber das erzeugt dieser Fehler:

Type error: Argument 1 passed to Ivory\CKEditorBundle\Form\Type\CKEditorType::__construct() must be an instance of Ivory\CKEditorBundle\Model\ConfigManagerInterface, none given

es aussieht, gibt es ein Problem, weil ein Formtype nicht params in seinem Konstruktor verlangen sollte, bin ich falsch?

+0

Das scheint ein Fehler in IvoryCKEditorBundle zu sein. – felipsmartins

+0

@ felipsmartins Es ist nicht. – mblaettermann

Antwort

1

hatte ich den gleichen Fehler und löste es durch CKEditorBundle zu AppKernel hinzufügen. Dies wurde in den Kommentaren von CountZero's Antwort angegeben. Sie können IvoryCKEditorBundle Installationshinweise here finden.

class AppKernel extends Kernel 
{ 
    public function registerBundles() 
    { 
     $bundles = array(
      new Ivory\CKEditorBundle\IvoryCKEditorBundle(), 
      // ... 
     ); 

     // ... 
    } 
} 
1

Es gibt keine Fehler in IvoryCKEditorBundle. Wenn Sie Ihre composer.json, Ergebnisse der Befehle bin/console debug:container und bin/console config IvoryCKEditorBundle liefern, wird es mir wirklich helfen, Ihnen eine genauere Antwort zu geben.

it looks like, there is a problem because a FormType should not demand params in its constructor, am I wrong?

Sie haben sich geirrt, CKEditorType kann in seinem Konstruktor Parameter anfordern, und dies in der aktuellen Version. Es ist etwas falsch mit der Datei vendor/egeloen/ckeditor-bundle/Resources/config/form.xml Es sollte Dienstabhängigkeiten für CKEditorBundle konfigurieren (bereitstellen), aber es nicht.

Ich würde versuchen, Komponisten, klare Cache und Debug-Service-Container Konfiguration für dieses Bundle zu aktualisieren, es sollte wie folgt aussehen:

⇒ composer update 
⇒ bin/console cache:clear 
⇒ bin/console debug:container|grep ivory  
    ivory_ck_editor.config_manager          Ivory\CKEditorBundle\Model\ConfigManager              
    ivory_ck_editor.form.type           Ivory\CKEditorBundle\Form\Type\CKEditorType             
    ivory_ck_editor.plugin_manager          Ivory\CKEditorBundle\Model\PluginManager              
    ivory_ck_editor.renderer            Ivory\CKEditorBundle\Renderer\CKEditorRenderer            
    ivory_ck_editor.styles_set_manager         Ivory\CKEditorBundle\Model\StylesSetManager             
    ivory_ck_editor.template_manager          Ivory\CKEditorBundle\Model\TemplateManager             
    ivory_ck_editor.twig_extension          Ivory\CKEditorBundle\Twig\CKEditorExtension 
+2

Ja, für mich sieht es so aus, als hätte das OP vergessen, den CKEditorBundle in 'AppKernel' einzubinden. – mblaettermann

+0

@mblaettermann du hast Recht! Ich habe es nochmal überprüft, ich habe es nicht vergessen, aber den Appkernel in einem anderen Projekt geändert, doh. Danke. Übrigens, ich mag diesen Satz: "Es gibt keine Fehler in IvoryCKEditorBundle." :) – Asara

+0

Wenn einer von Ihnen eine Antwort gibt (um den Appkernel zu überprüfen), werde ich es als Lösung markieren – Asara