symfony – 如何结合DoctrineExtensions中的Translatable和Slugg
发布时间:2020-12-14 19:33:43 所属栏目:Java 来源:网络整理
导读:我已经安装了 https://github.com/stof/StofDoctrineExtensionsBundle并在Country实体的特定字段上使用Translatable和Sluggable: ...class Country{ ... /** * @GedmoTranslatable * @GedmoSlug(fields={"name"}) * @ORMColumn(length=255,nullable=fals
我已经安装了
https://github.com/stof/StofDoctrineExtensionsBundle并在Country实体的特定字段上使用Translatable和Sluggable:
... class Country { ... /** * @GedmoTranslatable * @GedmoSlug(fields={"name"}) * @ORMColumn(length=255,nullable=false) */ private $slug; 对于英语用户,页面的URL应为… / country / france;对于德语用户,页面的URL应为… / land / frankreich. 在一个控制器中,我得到了特定语言的slug,并通过这个特定于语言环境的slug进行过滤,我想要检索一个国家实体. 我在这里或文档中没有找到任何关于如何做到这一点的内容. 感谢有关如何解决这个问题的任何提示! 解决方法
刚刚找到了
solution in this blog article.解决方案是使用TranslationWalker的ORM查询提示自动加入转换表,因此您可以按任意翻译字段排序或过滤.这很棒!
然后代码看起来像: ... ->createQuery('SELECT...FROM MyFooBundle:Country c WHERE c.slug = :slug...) ->setParameter('slug',$slug) ->setHint( DoctrineORMQuery::HINT_CUSTOM_OUTPUT_WALKER,'GedmoTranslatableQueryTreeWalkerTranslationWalker' ) ->getSingleResult(); 顺便说一下:如果你想使用回退(即如果没有特定的翻译可用,请使用默认的字符串/文本),然后通过setTranslationFallback方法调用(在doctrine_extensions.yml中)为你的gedmo.listener.translatable服务配置它. . (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- java – 用于其他平台的Launch4j的可执行文件
- java – “尝试使用不兼容的返回类型”与接口继承
- java – 了解从HashSet生成的流中元素的顺序
- java – Spring XML tx:相当于@TransactionConfiguration的
- javax.imageio.IIOException:无法从URL获取输入流!
- java – 如何用mybatis运行任意sql?
- java – JPopupMenu上的JComboBox
- java – 如何单元测试Spring ResourceHandlerRegistry提供的
- java – 找不到spring-aspects-4依赖
- java – Eclipse – 如何运行2个junit测试