我正在尝试使用这些(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
我的错误在哪里?
有些天使可以帮助我吗?
诉P>
答案 0 :(得分:0)
正如错误消息所示,您还必须构建&#34; CountryTranslation&#34;实体。
要做到这一点,您需要仔细遵循与您安装的版本相关的bundle documentation。
为了避免意外行为,请记住检查您已经拥有的A2lix软件包版本与stofbundle中包含的Gedmo版本(显然是symfony版本)的兼容性,因为有一些依赖性。 如有必要,您可以考虑升级(或降级)所需组件。
如果我的英语不太好,我希望能够保持清醒和抱歉: - )。