我有一个社区,用户可以在其中创建自己的主题,也可以使用希伯来语或阿拉伯语等国际语言
我有主题的“名称”字段,我想从中生成 slugs
现在我已经使用 stofdoctrineBundle 和 Doctrine 扩展用阿拉伯语对其进行了测试
我像这样设置了 slug
/**
* @Gedmo\Slug(fields={"name"})
* @ORM\Column(length=255, unique=true, nullable=false)
*/
private $slug;
当我尝试用阿拉伯语创建一个新主题时,说这个字符串“??????”,sluggable 学说生成了以下slug: ly-qr
所以我的目标是拥有像这样的完整网址
http://www.mysite.com/查看-阿尔拉
出于搜索引擎优化的原因。
最佳答案
Florian,我尝试了你的方法,但它看起来对我的需求来说太复杂了,所以我走了一条更简单的路:
完全禁用学说扩展
在Utils\MyFunctions下新建一个类,并放入基于symfony2博客教程的静态方法slugify。
设置名称时,我还设置了 slug
public function setName($name) { $this->name = $name; $this->setSlug($this->name); } public function setSlug($slug) { //now we generate the slug, from the utilities my function $slug = Myfunctions::slugify($slug); $this->slug = $slug; }
问题已解决,阿拉伯语现在显示得像蛞蝓一样好。
关于utf-8 - Symfony2、Doctrine2 : non english/letin slug,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9248556/