1

我按照文档一步一步安装了所有的奏鸣曲捆绑包。我仍然有一些错误需要修复一些操作,例如删除图像。我现在面临的所有错误似乎都是相关的。

我提交了两期,一期 SonataMediaBundle和一期SonataClassificationBundle

试图在类“Sonata\AdminBundle\Form\FormMapper”上调用方法“ifTrue”。在第 27 行的 vendor/sonata-project/classification-bundle/Admin/ContextAdmin.php

当我尝试访问路线“/classification/context/create”或“../edit”时。

protected function configureFormFields(FormMapper $formMapper)
{
    $formMapper
        ->ifTrue($this->getSubject()->getId() === null)
        ->add('id')
        ->ifEnd()
        ->add('name')

1 - 调试 - 路由器 Sonata\PageBundle\Route\CmsPageRouter 无法匹配,消息“未定义站点”

“没有定义站点”让我猜我应该对此做点什么。我确实使用 SonataPageBundle(添加到数据库中)创建了一个默认页面。我不知道配置中是否有特定的参数要添加。正如我所说,我一步一步地遵循文档,我没有看到任何与定义站点相关的内容。但是我不确定“未定义站点”是否与主要错误有关。

在这里我的 composer.json 以防万一它有用。

"require": {
    "php": ">=5.3.3",
    "symfony/symfony": "2.6.",
    "doctrine/orm": "~2.2,>=2.2.3",
    "doctrine/doctrine-bundle": "~1.2",
    "twig/extensions": "~1.0",
    "symfony/assetic-bundle": "~2.3",
    "symfony/swiftmailer-bundle": "~2.3",
    "symfony/monolog-bundle": "~2.4",
    "sensio/distribution-bundle": "~3.0.12",
    "sensio/framework-extra-bundle": "~3.0",
    "incenteev/composer-parameter-handler": "~2.0",
    "sonata-project/core-bundle": "~2.2@dev",
    "sonata-project/notification-bundle": "~2.3",
    "knplabs/knp-markdown-bundle": "~1.2",
    "videlalvaro/php-amqplib": "~2.4",
    "liip/monitor-bundle": "~2.0",
    "symfony-cmf/routing-bundle": "1.4.@dev",
    "jms/serializer-bundle": "0.13.*@dev",
    "sonata-project/formatter-bundle": "~2.3",
    "sonata-project/markitup-bundle": "~2.1",
    "sonata-project/intl-bundle": "~2.2",
    "sonata-project/cache-bundle": "~2.2",
    "sonata-project/seo-bundle": "~1.1",
    "sonata-project/easy-extends-bundle": "~2.1",
    "sonata-project/admin-bundle": "~2.3",
    "sonata-project/doctrine-orm-admin-bundle": "~2.3",
    "sonata-project/user-bundle": "~2.2",
    "sonata-project/classification-bundle": "dev-master",
    "sonata-project/news-bundle": "dev-master",
    "sonata-project/timeline-bundle": "~2.2@dev",
    "sonata-project/media-bundle": "~2.4@dev",
    "sonata-project/page-bundle": "~2.3@dev"
}

任何解决方案或提示?

4

3 回答 3

1

The method ifTrue or ifFalse are going to land in the 2.4 release of SonataAdminBundle. Please use stable version of bundles.

于 2015-02-02T15:57:14.167 回答
1

[编辑] 错误评论见:https ://github.com/sonata-project/SonataAdminBundle/pull/2664/files

ifTrueand方法在ifFalsemaster 分支中存在不到一个月,现在已被删除。您引用的代码似乎没有更新。

在未来,请使用稳定版本,否则您可能会发现一些 WIP 错误。

于 2015-02-02T15:34:43.273 回答
1

类 FormMapper 中不存在 ifTrue 方法:https ://github.com/sonata-project/SonataAdminBundle/blob/2.3/Form/FormMapper.php 。

我不知道你在哪里找到你可以使用它。

你应该这样做:

protected function configureFormFields(FormMapper $formMapper)
{
    if ($this->getSubject()->getId() === null) {
      $formMapper->add('id');
    } 
    $formMapper
         ->add('name')
}

另外我不知道你为什么要定义 id,它应该在创建时自动设置。

关于您的第二个错误,异常来自此类https://github.com/sonata-project/SonataPageBundle/blob/2.3.8/Route/CmsPageRouter.php#L158,我从未使用过此捆绑包,但我的第一个猜测是您忘记创建站点:

php app/console sonata:page:create-site

文档中解释了更多详细信息:http: //sonata-project.org/bundles/page/master/doc/reference/getting_started.html

于 2015-02-02T15:28:04.057 回答