首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Symfony cmf v1.1升级

Symfony cmf v1.1升级
EN

Stack Overflow用户
提问于 2014-05-21 05:32:17
回答 1查看 144关注 0票数 0

在我们的项目中,我试图将symfony cmf包从1.0升级到v1.1。

升级前的composer.json

代码语言:javascript
复制
    "doctrine/phpcr-odm": "1.1.0-RC1 as 1.0",
    "doctrine/phpcr-bundle": "1.1.0-beta1 as 1.0",
    "phpcr/phpcr-utils": "1.1.0 as 1.0",        

    "symfony-cmf/routing-auto-bundle": "1.0.*@alpha",
    "symfony-cmf/menu-bundle": "1.0.*",
    "symfony-cmf/block-bundle": "1.0.*",
    "symfony-cmf/routing-bundle": "1.1.*",

    "jackalope/jackalope-jackrabbit": "1.1.*",
    "sonata-project/doctrine-phpcr-admin-bundle": "1.0.*",

升级后的composer.json

代码语言:javascript
复制
    "doctrine/phpcr-bundle": "1.1.*",
    "doctrine/phpcr-odm": "1.1.*",

    "symfony-cmf/routing-auto-bundle": "1.0.*@alpha",
    "symfony-cmf/routing-bundle": "1.2.0 as 1.1.0",
    "symfony-cmf/core-bundle": "1.1.0 as 1.0.0",
    "symfony-cmf/menu-bundle": "1.1.*",
    "symfony-cmf/block-bundle": "1.1.*",

    "jackalope/jackalope-jackrabbit": "1.1.*",
    "sonata-project/doctrine-phpcr-admin-bundle": "1.1.*",

如您所见,为了能够使用symfony-cmf/routing-auto-bundle.,我在两处都使用了composer别名这种混叠方法是我能够使用symfony-cmf/路由-自动包的唯一方法。

因此,在对上面的更改做了作曲家更新之后,我在项目的奏鸣曲管理区域进行了一些失败的测试。通过进行一些调试,我看到了下面的更改。

  • 截图
  • 截图

下面是我如何加载网页夹具。

代码语言:javascript
复制
    <?php // load Page fixtures

    protected function create($dm, $class, $parent_path, $data_file)
    {
        $parent = $dm->find(null, $parent_path);
        $data = $this->getData($data_file);

        foreach ($data as $item)
        {
            $doc = new $class();
            $doc->setParent($parent);

            if (is_array($item['title'])) {
                foreach ($item['title'] as $locale => $title) {

                    $doc = $this->createDoc($doc, $title, $item['body'][$locale], $locale);

                    $dm->persist($doc);
                    $dm->bindTranslation($doc, $locale);
                }
            } else {
                $doc = $this->createDoc($doc, $item['title'], $item['body']);

                $dm->persist($doc);
            }
        }

        $dm->flush();
    }

    protected function createDoc($doc, $title, $body, $locale = 'en')
    {
        $doc->setTitle($title);
        $doc->setContent($body);
        $doc->setlocale($locale);

        return $doc;
    }

我的问题是:

  1. 我在我的夹具中使用了bindTranslation()方法。这个方法在cmf v1.1中有改变吗?这就是为什么我看不到管理界面中的字段吗?(我不使用简单的-cms包或内容包。)
  2. 这和上面没有关系。我应该继续使用RoutingAutoBundle吗?(因为我看不出有多少关于它的问题。因此,我认为也许人们并没有经常使用它)

对于在我们的项目中使用cmf包,我很感激您能给我的任何建议。

BTW:我也读过github问题更新到1.1.0-RC1的@lsmith77,所以请不要告诉我;)

请帮帮我!如果你需要更多细节的话我就来了。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-21 07:25:48

bindTranslation不应该改变,所以如果这是问题所在,那将是一个倒退。您可以通过查看app/console doctrine:phpcr:node:dump --props /parent/path的输出来研究这些夹具是否有问题,或者以后再进行检查。不管您请求哪种语言,列表是否为空?

您在cmf_core和doctrine_phpcr上配置了multilang吗?

您可以通过在控制器或命令中加载文档并检查在这种情况下内容文档包含的内容来进一步调查。

对于路由自动绑定的讨论,最好到mailinglist http://groups.google.com/group/symfony-cmf-devs。它仍然应该发生,但我们似乎错过了一个人来完成它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23774706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档