Symfony 2 - Sylius - Doctrine 不可用

3

我在composer更新后遇到了一个大问题。

实际上,我正在使用symfony2(2.8.3)上的sylius电子商务系统。

几分钟前,我进行了composer更新,我的symfony版本从2.8.3更新为2.8.4-dev,我的sylius电子商务项目不再工作。实际上,我收到了这个错误消息:

在SyliusWebBundle:Frontend:layout.html.twig的第97行中,渲染模板时抛出了一个异常(“Doctrine不可用。”)

SYLIUS版本为v0.17.0

请帮助我解决这个问题。

谢谢


1
我遇到了同样的问题,我的composer将symfony设置为2.8.3,但今天更新到了2.8.4-dev。同时也在使用Sylius。 - mr12086
1个回答

0

Sylius 0.17版本中有一个已知的错误(我将亲自在接下来的几天内修复它)。

同时,你可以通过手动启用Doctrine PHPCR来修复它:

app/config/config.yml:

cmf_core:
    persistence:
        phpcr:
            enabled: true

另一个临时解决方法是打开 src/Sylius/Bundle/WebBundle/Resources/Frontend/layout.html.twig 并删除 {% block slideshow_sidebar %}{% endblock %} 和接下来的 ~16 行,但不包括 {% endblock %}
         {# delete these lines only #}
            {% block slideshow_sidebar %}{% endblock %}

            {% set links = cmf_children(cmf_find('/cms/pages')) %}
            {% if links is not empty %}
            <h2>{{ 'sylius.ui.links'|trans }}</h2>
            <ul>
              {% for link in links %}
                {% if cmf_is_linkable(link) %}
                    <li>
                      <a href="{{ path(link) }}">{{ link.title|striptags }}</a>
                    </li>
                {% endif %}
              {% endfor %}
            </ul>
            {% endif %}

我宁愿不安装symfony-cmf,因为我自己没有使用它,Sylius真的需要吗?似乎Sylius与太多依赖项绑定在一起。 - mr12086
它将通过Composer安装,但您可以通过编辑主页模板或覆盖它来避免使用它-请参见更新的答案。 - Adam Elsodaney
@AdamElsodaney,非常感谢您的建议和解决方案,临时解决方案对我有用,但我想问一下,在我想使用您的解决方案1(编辑app/config/config.yml文件)的情况下,我应该把那个代码块放在哪里?“cmf_core: persistence: phpcr: enabled:true” - user6067265
@billy_56 不用担心。是的,您可以将其放在任何您喜欢的地方,文件底部似乎是更明显的选择,除非已经有一个针对 cmf_core 的配置,但我怀疑这种情况。 - Adam Elsodaney
@AdamElsodaney 谢谢你,伙计,祝你有美好的一天! :) - user6067265

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接