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