symfonycontrib/confirm-bundle

Symfony 确认表单扩展包。

此包的官方仓库似乎已不存在,因此该包已被冻结。

v2.0.2 2016-08-24 14:09 UTC

This package is not auto-updated.

Last update: 2024-06-19 10:12:58 UTC


README

此代码是 SymfonyContrib 社区的一部分。

Symfony2 ConfirmBundle

提供简单的确认表单和页面以确认操作。

使用场景

如果您要删除一个对象并想与用户确认他们确实想要删除该对象,通常会将他们发送到确认页面进行验证。

这是一个非常常见的场景,也是代码容易重复的一个领域。

安装

安装与正常扩展包相同。 https://symfony.com.cn/doc/current/cookbook/bundles/installation.html

  • 将扩展包添加到 composer
composer require symfonycontrib/confirm-bundle
  • 将扩展包添加到 AppKernel.php
new SymfonyContrib\Bundle\ConfirmBundle\ConfirmBundle(),

使用

使用 ConfirmBundle 非常简单。简而言之,您只需将带有一些选项的请求进行转发。

示例

public function objectDeleteAction($object)
{
    $options = [
        'message' => 'Are you sure you want to DELETE this?',
        'warning' => 'This can not be undone!',
        'confirmButtonText' => 'Delete',
        'confirmAction' => [$this, 'delete'],
        'confirmActionArgs' => [
            'object' => $object,
        ],
        'cancelLinkText' => 'Cancel',
        'cancelUrl' => $this->generateUrl('acme_home'),
    ];

    return $this->forward('ConfirmBundle:Confirm:confirm', ['options' => $options]);
}

public function delete($args)
{
    // delete object
    // set flash message
    // redirect
}

选项

  • message: (字符串) 显示给用户的消息。
  • warning: (可选) (字符串) 显示给用户的警告。
  • confirmButtonText: (字符串) 正确认认按钮的文本。
  • confirmAction: (混合) PHP 可调用对象。 https://php.ac.cn/manual/en/language.types.callable.php
  • confirmActionArgs: (可选) (数组) 传递给 confirmAction 可调用对象的数组参数。
  • cancelLinkText: (字符串) 负确认链接的文本。
  • cancelUrl: (字符串) 用于取消操作链接的 URL。

视图

提供了 3 个 twig 模板以覆盖表单和页面的外观。

  • layout.html.twig: 简单的模板,可以覆盖以轻松更改扩展的基础模板。
  • confirm-form.html.twig: 确认表单的模板。
  • confirm.html.twig: 包围确认表单的包装模板。