2

我在 twig 文件中使用 loadModules 时遇到问题,出现错误loadModules is not defined我不知道我做错了什么。我正在正确配置路线。从控制器。

/**
     * @Route(
            "/products/add", 
            name="wk_customer_frontend_seller_add_product",
            defaults={"type": "storefront"},
            methods={"GET", "POST"}
        )
     * @Layout
     *
     * @param Request $request
     * @return array|RedirectResponse
     */

在 layout.yml

layout:
    imports:
        -
            id: oro_customer_page

    actions:
        - '@setBlockTheme':
            themes: 'WebkulMarketplaceBundle:Product:createStepOne.html.twig'

        - '@add':
            id: main_content_add_product
            parentId: page_content
            blockType: body
            options:
                attr:
                    entity: '=data["entity"]'
                    form: '=data["form"]'
                    isWidgetContext: '=data["isWidgetContext"]'
                    src: '="layout-build/" ~ context["theme"] ~ "/app.js"'
                    publicPath: '="layout-build/" ~ context["theme"] ~ "/"'

现在在树枝文件中我这样称呼。

<script type="text/javascript">
      loadModules(['jquery'], function ($) {
          $('select[name^="oro_product_step_one[type]"] option[value="configurable"]').remove();
      });
</script>

请帮助我,因为我已经尝试了所有我能做的事情,但仍然遇到问题。

4

1 回答 1

1

可能您的内联脚本是在加载主脚本之前执行的。(layout-build/" ~ context["theme"] ~ "/app.js"在页面末尾加载)。

尽管如此,我还是建议避免使用内联脚本,这是不好的做法。请参阅文章https://doc.oroinc.com/3.1/frontend/javascript/how-to-replace-inline-javascript-with-component/

于 2020-08-06T16:33:45.900 回答