khépîn/drupal-transliterator-bundle

Symfony 扩展包,用于使用 Drupal 转换(例如在 doctrine sluggable 扩展中)。

v1.0.2 2013-01-06 09:22 UTC

This package is not auto-updated.

Last update: 2024-09-14 12:26:13 UTC


README

此扩展包提供了一种比 Doctrine 扩展中包含的更好的转换器。如果您使用的是非字母语言,那么这对于 Sluggable 行为非常有用。Doctrine 扩展中的转换器对许多语言都很好,但我在中文上至少发现了一些限制。Drupal 提供了一个更高级的转换器。

转换是将文本从 北京 转换为 Bei Jing 的过程。以便之后进行 URL 格式化。

安装

通过添加依赖文件进行

[KhepinDrupalTransliteratorBundle]
    git=https://github.com/khepin/KhepinDrupalTransliteratorBundle.git
    target=/bundles/Khepin/DrupalTransliteratorBundle

运行您的供应商脚本 ./bin/vendors install

在您的 autoload.php 中注册 Khepin 命名空间

$loader->registerNamespaces(array(
    // ...
    'Khepin'           => __DIR__.'/../vendor/bundles',
    // ...
));

实际上没有必要注册扩展包,因为它只提供了一个具有静态方法的类来转换字符串。自动加载它就足够了。

用法

该扩展包提供了一个具有两个方法的 Transliterator 类

  • 一个用于仅转换文本:Khepin\DrupalTransliteratorBundle\Transliterator::transliterate
  • 一个与 doctrine 扩展声明直接兼容的方法:Khepin\DrupalTransliteratorBundle\Transliterator::sluggableTransliterate

该扩展包还覆盖了标准 Doctrine 扩展 Sluggable 监听器,以便它使用此转换方法而不是标准方法。要使用它,将您的 DoctrineExtensionBundle 改为使用新的监听器

stof_doctrine_extensions:
    class:
        sluggable: Khepin\DrupalTransliteratorBundle\Listener\SluggableListener
    mongodb:
        default: 
            sluggable: true
    # or
    orm:
        default:
            sluggable: true