Symfony 2 - Symfony CMF SearchBundle 安装

Symfony 2 - Symfony CMF SearchBundle installation

我正在尝试在干净的 Symfony 2.3 上安装 Symfony CMF SearchBundle,但是 installation instructions 非常不完整。它似乎有一些需要在 composer.json 中手动添加的依赖项。几个小时后我得到了这个:

"jackalope/jackalope-doctrine-dbal": "1.1.2",
"jackalope/jackalope": "1.1.7",
"doctrine/phpcr-odm": "1.2.*",
"doctrine/phpcr-bundle": "1.2.*",
"symfony-cmf/routing-bundle": "1.3.3",
"symfony-cmf/search-bundle": "1.1.1"

我也在 AppKernel.php 添加了这个包:

new Liip\SearchBundle\LiipSearchBundle(),
new Symfony\Cmf\Bundle\SearchBundle\CmfSearchBundle(),
new Symfony\Cmf\Bundle\RoutingBundle\CmfRoutingBundle(),
new Doctrine\Bundle\PHPCRBundle\DoctrinePHPCRBundle(),

然而,我仍然无法让它工作。我得到这个:

ServiceNotFoundException: The service "cmf_search.phpcr_controller" has a dependency on a non-existent service "cmf_routing.dynamic_router".

这就是我卡住的地方。

是否有人成功安装了 SearchBundle,也许可以给我一些指导?现在我觉得我正试图将这个包用于一些不应该做的事情。我所需要的只是一个可以帮助我快速设置对某些实体的搜索的包。我做错了吗?

你检查过symfony-cmf/symfony-cmf在composer.json

中的最低稳定性吗

你到底想做什么?你想在教义中搜索吗?那么这个捆绑包还没有为您准备好。

现在,它所支持的只是在 Doctrine PHPCR-ODM 数据库中搜索从 CmfRoutingBundle 实现 RouteReferrersReadInterface 的文档(如果您有实体有 URL 关联)。如果您的实体可以实现该接口,那么添加对此的支持应该相当简单 - 如果是这种情况,请在 CmfSearchBundle 中打开一个问题以获得一些帮助。

如果您的实体与CMF无关,我建议您查看2.0版本的LiipSearchBundle和add your own search service。主要部分是您需要为您的实体生成一个 URL 并从中提取标题和描述。