带有Stof DoctrineExtensionsBundle的A2lixTranslationFormBundle:500内部服务器错误 - ReflectionException

时间:2014-05-22 14:28:54

标签: symfony stofdoctrineextensions a2lix-translation

我正在尝试使用这些(composer.json)做一个简单的可转换实体:

    "php": ">=5.3.3",
    "symfony/symfony": "~2.4",
    "doctrine/orm": "~2.2,>=2.2.3",
    "doctrine/doctrine-bundle": "~1.2",
    "stof/doctrine-extensions-bundle": "~1.1@dev",
    "a2lix/translation-form-bundle": "2.*@dev"

我的实体(国家/地区)有一个字段(名称)可转换:

<?php

namespace Zen\MyBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Gedmo\Mapping\Annotation as Gedmo;
use Gedmo\Translatable\Translatable;

/**
 * @ORM\Entity
 */
class Country {

    /**
     * @ORM\Column(type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue
     */
    private $id;

    /**
     * @Gedmo\Translatable
     * @ORM\Column(name="name", type="string", length=128)
     */
    private $name;


    /**
     * @Gedmo\Locale
     * Used locale to override Translation listener`s locale
     * this is not a mapped field of entity metadata, just a simple property
     */
    private $locale;

    public function setTranslatableLocale($locale) {
        $this->locale = $locale;
    }

}

config.yml说:

stof_doctrine_extensions:
    default_locale: en_US
    orm:
        default: 
            tree: true        
            blameable: true
            translatable: true
            loggable: true
a2lix_translation_form:
    locales: [en, it]       
    required_locales: [en]
    manager_registry: doctrine      
    templating: "A2lixTranslationFormBundle::default.html.twig" 

现在我想在sonataAdmin中使用这个a2lix/TranslationFormBundle

protected function configureFormFields(FormMapper $formMapper)
    {
        $formMapper
                ->add('name', 'a2lix_translations');
        ;
    }

但是我在create(sonata admin)中遇到了这个错误:

Class Zen\MyBundle\Entity\CountryTranslation does not exist
500 Internal Server Error - ReflectionException

我的错误在哪里?

有些天使可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

正如错误消息所示,您还必须构建&#34; CountryTranslation&#34;实体。

要做到这一点,您需要仔细遵循与您安装的版本相关的bundle documentation

为了避免意外行为,请记住检查您已经拥有的A2lix软件包版本与stofbundle中包含的Gedmo版本(显然是symfony版本)的兼容性,因为有一些依赖性。 如有必要,您可以考虑升级(或降级)所需组件。

如果我的英语不太好,我希望能够保持清醒和抱歉: - )。