1

我正在使用 symfony 4 做一个站点。我从这个框架开始,但我的站点存在设计问题。我一直在寻找它可能来自哪里,但我找不到我想删除的代码。

我想删除的代码部分如下,因为结果非常难看: 在此处输入图像描述

在此处输入图像描述

我在我的代码中找不到这个:

在我的控制器中:

/**
 * @return Response
 */
public function newLetterAction(Request $request): Response
{
    $form = $this->createForm(CustomerNewsletterType::class, new Customer());
    $form->handleRequest($request);

    $facebook = $this->manager->getRepository(ExternalUrl::class)->findOneByCode('facebook');
    $instagram = $this->manager->getRepository(ExternalUrl::class)->findOneByCode('instagram');

    return $this->templatingEngine->renderResponse('@SyliusShop/Homepage/_newsletter.html.twig', [
        'facebook' => $facebook,
        'instagram' => $instagram,
        'form' => $form->createView(),
        'rova_refonte' => (in_array($this->container->get('request_stack')->getMasterRequest()->attributes->get('_route'),["sylius_shop_homepage"]) ? true : false)
    ]);
}

在我的表单类型中:

    class CustomerNewsletterType extends AbstractResourceType
{
    /**
     * @param FormBuilderInterface $builder
     * @param array $options
     */
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('email', EmailType::class, [
                'label' => 'app.ui.newsletter',
                'attr' => [
                    'placeholder' => 'app.ui.email'
                ]
            ])
        ;
    }

    /**
     * {@inheritdoc}
     */
    public function getBlockPrefix(): string
    {
        return 'app_customer_newsletter';
    }
}

在我的树枝上:

{{ render(controller('app.controller.shop_homepage:newLetterAction')) }}

如果有人能告诉我如何找到代码,那将对我有很大帮助。

谢谢

4

2 回答 2

0

当您调用时,一切都在后台完成$form->createView()
总而言之,表单中的每种类型的字段都有一个使用树枝块的基本渲染(表单本身也是如此),它可以被覆盖。这就是所谓的形式主题,有一个基础主题,通常是树枝桥中的这个主题。

您可以创建新主题、扩展现有主题或事件创建特定表单所需的内容(提示:getBlockPrefix表单类型中的函数用于此目的)。

您可以在此处找到有关表单呈现的所有文档:
https ://symfony.com/doc/current/form/form_customization.html

本文档中描述的大多数功能实际上都是调用表单主题的树枝块,您可以在此处找到有关此的文档:
https ://symfony.com/doc/current/form/form_themes.html

请记住:删除这样的类/ div 可能会破坏现有的 CSS、错误呈现或在针对此类的 javascript 中完成的所有操作。

于 2019-10-01T08:12:47.467 回答
0

您很可能使用引导 3/4 表单主题,并且可以使用标准form_row 模板布局

要自定义当前表单/其他表单元素,请使用“如何使用表单主题”教程

于 2019-10-01T08:19:42.083 回答