[英]Sonata admin can't get translation to work with sortable
我正在嘗試使用Gedmo配置翻譯,但我之前啟用的可排序行為似乎正在以某種方式:
在渲染模板期間拋出異常(“在鏈配置的命名空間中找不到類'Sonata \\ TranslationBundle \\ Model \\ AbstractTranslatable'Gedmo \\ Translatable \\ Entity,Gedmo \\ Translator \\ Entity,Gedmo \\ Loggable \\ Entity, Gedmo \\ Tree \\ Entity,AppBundle \\ Entity,Vich \\ UploaderBundle \\ Entity,Sonata \\ MediaBundle \\ Entity,Application \\ Sonata \\ MediaBundle \\ Entity,Sonata \\ UserBundle \\ Entity,Application \\ Sonata \\ UserBundle \\ Entity,Sonata \\ NewsBundle \\ Entity, Sonata \\ ClassificationBundle \\ Entity,Application \\ Sonata \\ NewsBundle \\ Entity,Application \\ Sonata \\ ClassificationBundle \\ Entity,FOS \\ UserBundle \\ Model“)。
拋出此異常的模板是為處理可排序按鈕而配置的模板:
/Pix/SortableBehaviorBundle/Resources/views/Default/_sort.html.twig (line 3)
它在第3行失敗,它正在嘗試設置last_position(對象)
{% if admin.isGranted('EDIT', object) and admin.hasRoute('edit') %}
{% set current_position = currentObjectPosition(object) %}
{% set last_position = lastPosition(object) %}
{% set enable_top_bottom_buttons = field_description.options.actions.move.enable_top_bottom_buttons ?? true %}
{% if enable_top_bottom_buttons and current_position < last_position %}
<a class="btn btn-sm btn-default" href="{{ admin.generateObjectUrl('move', object, {'position': 'bottom'}) }}" title="{{ 'move_to_bottom'|trans }}">
<i class="fa fa-angle-double-down"></i>
我正在關注這個翻譯教程: https : //sonata-project.org/bundles/translation/master/doc/reference/orm.html
Doctrine ORM Mappings:
orm:
auto_generate_proxy_classes: '%kernel.debug%'
entity_managers:
default:
naming_strategy: doctrine.orm.naming_strategy.underscore
auto_mapping: true
mappings:
gedmo_translatable:
type: annotation
prefix: Gedmo\Translatable\Entity
dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Translatable/Entity"
alias: GedmoTranslatable # (optional) it will default to the name set for the mapping
is_bundle: false
gedmo_translator:
type: annotation
prefix: Gedmo\Translator\Entity
dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Translator/Entity"
alias: GedmoTranslator # (optional) it will default to the name set for the mapping
is_bundle: false
gedmo_loggable:
type: annotation
prefix: Gedmo\Loggable\Entity
dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Loggable/Entity"
alias: GedmoLoggable # (optional) it will default to the name set for the mapping
is_bundle: false
gedmo_tree:
type: annotation
prefix: Gedmo\Tree\Entity
dir: "%kernel.root_dir%/../vendor/gedmo/doctrine-extensions/lib/Gedmo/Tree/Entity"
alias: GedmoTree # (optional) it will default to the name set for the mapping
is_bundle: false
學說轉儲:映射:信息
Found 36 mapped entities:
[OK] Gedmo\Translatable\Entity\MappedSuperclass\AbstractTranslation
[OK] Gedmo\Translatable\Entity\Translation
[OK] Gedmo\Translatable\Entity\MappedSuperclass\AbstractPersonalTranslation
[OK] Gedmo\Translator\Entity\Translation
[OK] Gedmo\Loggable\Entity\MappedSuperclass\AbstractLogEntry
[OK] Gedmo\Loggable\Entity\LogEntry
[OK] Gedmo\Tree\Entity\MappedSuperclass\AbstractClosure
[OK] AppBundle\Entity\TeamBio
[OK] AppBundle\Entity\User
[OK] AppBundle\Entity\NewsItemSource
[OK] AppBundle\Entity\NewsItem
[OK] AppBundle\Entity\NewsItemTranslation
[OK] Sonata\MediaBundle\Entity\BaseMedia
[OK] Sonata\MediaBundle\Entity\BaseGallery
[OK] Sonata\MediaBundle\Entity\BaseGalleryHasMedia
[OK] Application\Sonata\MediaBundle\Entity\GalleryHasMedia
[OK] Application\Sonata\MediaBundle\Entity\Gallery
[OK] Application\Sonata\MediaBundle\Entity\Media
[OK] Sonata\UserBundle\Entity\BaseUser
[OK] Sonata\UserBundle\Entity\BaseGroup
[OK] Application\Sonata\UserBundle\Entity\Group
[OK] Application\Sonata\UserBundle\Entity\User
[OK] Sonata\NewsBundle\Entity\BaseComment
[OK] Sonata\NewsBundle\Entity\BasePost
[OK] Sonata\ClassificationBundle\Entity\BaseTag
[OK] Sonata\ClassificationBundle\Entity\BaseCollection
[OK] Sonata\ClassificationBundle\Entity\BaseCategory
[OK] Sonata\ClassificationBundle\Entity\BaseContext
[OK] Application\Sonata\NewsBundle\Entity\Comment
[OK] Application\Sonata\NewsBundle\Entity\Post
[OK] Application\Sonata\ClassificationBundle\Entity\Collection
[OK] Application\Sonata\ClassificationBundle\Entity\Category
[OK] Application\Sonata\ClassificationBundle\Entity\Tag
[OK] Application\Sonata\ClassificationBundle\Entity\Context
[OK] FOS\UserBundle\Model\Group
[OK] FOS\UserBundle\Model\User
確認您已在AppKernel.php
(symfony 2/3)或bundles.php
(symfony 4)中加載了SonataTranslationBundle。
確認您已在symfony配置中啟用了gedmo擴展:
sonata_translation:
gedmo:
enabled: true
看起來像sonata翻譯的教條實體映射目錄“sonata-project / translation-bundle / src / Model”缺失。 嘗試明確添加它:
mappings:
MyAdditionalSonataMapping:
mapping: true
type: annotation
dir: "%kernel.root_dir%/../vendor/sonata-project/translation-bundle/src/Model"
alias: 'Sonata\TranslationBundle\Model'
prefix: 'Sonata\TranslationBundle\Model'
is_bundle: false
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.