如何为 CakePHP 4 的 Bootstrap-UI 3 中的水平控件设置默认对齐方式?

How do I set default alignment for horizontal controls in Bootstrap-UI 3 for CakePHP 4?

这是一个关于 CakePHP 的 Boostrap-UI 插件的特别晦涩的问题,但我希望有人能提供帮助。

我正在使用 Bootstrap-UI (https://github.com/FriendsOfCake/bootstrap-ui) 3.0 版,所以使用 Bootstrap 4.6.

我正在尝试使用此处自述文件中的示例创建一个具有与其标签水平对齐的控件的表单 -

这工作正常,除了我看不到如何定义默认列分布,即标签和控件容器的 类 类似于 col-4col-8 没有定义任何断点。

如果我尝试类似 -

              'align' => [
                'left' => 4,
                'middle' => 8,
              ]

创建的 类 是 col-md-4col-md-8 即它似乎默认为 md 作为列的断点。

我知道这有点晦涩,但是有人知道如何做我想做的事吗?

目前不支持的 AFAICT,这意味着您只能生成默认的 mb 断点,或者您自己指定断点。

您可以在 GitHub 打开一个问题以获取功能请求。作为解决方法,您可以扩展插件的表单帮助程序并覆盖 FormHelper::_gridClass() 以修改生成的 class 列表,类似于此,这将从生成的 class 字符串中删除默认断点:

namespace App\View\Helper;

class FormHelper extends \BootstrapUI\View\Helper\FormHelper
{
    protected function _gridClass(string $position, bool $offset = false): string
    {
        return str_replace('-md', '', parent::_gridClass($position, $offset));
    }
}
public function initialize(): void
{
    parent::initialize();

    $this->initializeUI();

    $this->helpers['Form'] = [
        'className' => \App\View\Helper\FormHelper::class
    ];
}

另见 https://book.cakephp.org/4/en/views/helpers.html#creating-helpers