【问题标题】:Sylius: How to reference your own twig template in a grid?Sylius:如何在网格中引用您自己的树枝模板?
【发布时间】:2020-01-08 14:45:43
【问题描述】:

这不是 e.g. 的重复。 Referencing a template in Twig / Symfony2 因为不推荐/不再推荐将捆绑包创建为应用程序,因此答案不再适用。如何在 Sylius 网格中引用我自己的模板?

我尝试了什么:

1.

                options:
                    template: "@App/Order/Grid/Field/channel.html.twig"

2.

                options:
                    template: ":Order/Grid/Field:channel.html.twig"

3.

                options:
                    template: "templates/Order/Grid/Field/channel.html.twig"

4.

                options:
                    template: "Order/Grid/Field/channel.html.twig"

(我根据文档尝试了其中的一些:https://docs.sylius.com/en/1.6/components_and_bundles/bundles/SyliusGridBundle/field_types.html#twig-twighttps://docs.sylius.com/en/1.6/components_and_bundles/bundles/SyliusGridBundle/your_first_grid.html

在所有情况下,它都说找不到模板。有什么想法吗?

【问题讨论】:

    标签: symfony templates grid symfony4 sylius


    【解决方案1】:

    您如何创建网格或自定义它们?例如,我正在尝试自定义 Admin > Catalog > Options 网格,因此 this tutorial 将这些行放在 config/packages/_sylius.yaml 文件的末尾:

    sylius_grid:
        grids:
            sylius_admin_product_option:
                fields:
                    name:
                        type: twig
                        options:
                            template: "Grid/mytemplate.html.twig"
    

    其次,我在 /templates 中创建文件夹“Order”,然后在“Order”目录中创建“Grid”文件夹,然后在“Grid”目录中创建文件夹“Field”。在那里我创建了包含任何内容的文件“mytemplate.html.twig”。您是否尝试过类似的步骤?

    【讨论】:

    • 好的,谢谢!很奇怪,我现在和你一模一样: sylius_grid: grids: sylius_admin_order: fields: channel: path: 。选项:模板:“Order/Grid/Field/channel.html.twig” 我在模板/Order/Grid/Field/channel.html.twig 中有它。他找不到。
    • 并且该定义确实在 _sylius.yaml 中,并且 templates/ 文件夹位于项目根目录中。缓存被清理了,它说它甚至在那个确切的位置上看,但仍然找不到模板,尽管它无疑在那里。 “找不到模板“Order/Grid/Field/channel.html.twig”(查看:\vendor\knplabs\knp-menu\src\Knp\Menu/Resources/views、/templates、 /templates, \vendor\symfony\twig-bridge/Resources/views/Form)。”
    • 这确实很奇怪。我刚刚开始工作:我将 channel.html.twig 直接放在 templates/ 下,并相应地更改了网格定义中的模板路径。它奏效了!然后我把模板放在 templates/Order/ 下,它又可以工作了。然后我把它放在 templates/Order/Grid/ 下 - 包括更改路径定义并且它不再工作,再次把它放在 templates/Order/ 下使它工作。这是为什么?有任何想法吗?有没有我遗漏的规范?
    • 当你把它放在 templates/Order/Grid/ 下时,你的路径是什么样的?
    • template: "Order/Grid/channel.html.twig" 我现在将它放在 templates/Order 下并且它正在工作,尽管我宁愿将它放在 Order/Grid 下,由于某种原因可重现不工作。感谢您的帮助。
    猜你喜欢
    • 2013-08-07
    • 2012-07-27
    • 1970-01-01
    • 2011-08-20
    • 1970-01-01
    • 2011-11-11
    • 1970-01-01
    • 1970-01-01
    • 2017-07-22
    相关资源
    最近更新 更多