возникает проблема при использовании loadModules в нашем файле ветки - PullRequest
1 голос
/ 06 августа 2020

Возникает проблема при использовании loadModules в файле ветки, возникает ошибка loadModules не определено Я не знаю, что делаю неправильно. Я правильно настраиваю маршрут. с контроллера.

/**
     * @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>

пожалуйста, помогите мне, как у меня пробовал все, что могу, но проблема все еще возникает.

1 Ответ

1 голос
/ 06 августа 2020

Вероятно, ваш встроенный сценарий выполняется до загрузки основного сценария. (layout-build/" ~ context["theme"] ~ "/app.js" загружается в конец страницы).

Тем не менее, я бы рекомендовал избегать использования встроенных скриптов, это плохая практика. См. Статью https://doc.oroinc.com/3.1/frontend/javascript/how-to-replace-inline-javascript-with-component/

...