cakephp: plumSearch - изменение метки фильтра в параметрах - PullRequest
0 голосов
/ 03 июля 2018

Используя плагин PlumSearch, в его документации упоминается, что мы можем изменить 'label':

formConfig: содержит параметры формы :: input $, такие как класс, тип ввода, имя метки ...

В моем контроллере / initialize () мне нужно изменить метку некоторых полей («IP-адрес» вместо «IP-адрес», «Статус» вместо «Состояние актива»):

public function initialize()
{
parent::initialize();

$parameters = [
    ['name' => 'serial_number', 'className' => 'Input'],
    ['name' => 'model_number', 'className' => 'Input'],
    ['name' => 'ip_address', 'label' => 'IP Address', 'className' => 'Input'],
];
if ($this->request->param('action') == 'reportFacility') {
    $statuses = $this->AssetsAssignations->AssetStatuses->find('list')->order(['name' => 'asc']);
    $this->set(compact('asset_statuses'));
    $parameters = [
        ['name' => 'asset_status_id', 'className' => 'Select', 'label' => 'Status',
            'finder' => $statuses
        ],
    ];
}   elseif ($this->request->param('action') == 'reportClient') {
    $clients = $this->AssetsAssignations->Clients->find('list')->order(['last_name' => 'asc', 'first_name' => 'asc']);
    $this->set(compact('clients'));
    $parameters = [
        ['name' => 'client_id', 'className' => 'Select', 'label' => 'Client',
            'finder' => $clients
        ],
    ];
} elseif ($this->request->param('action') == 'reportRoom') {
    $rooms = $this->AssetsAssignations->Rooms->find('list')->order(['name' => 'asc']);
    $this->set(compact('rooms'));
    $parameters = [
        ['name' => 'room_id', 'className' => 'Select', 'label' => 'Room',
            'finder' => $rooms
        ],
    ];
}
$this->loadComponent('PlumSearch.Filter', ['parameters' => $parameters]);

} `

Приведенный выше код не работает для меток.

Мне сказали использовать следующий код:

 $inputOptions = [
        'search' => [
            'placeholder' => __('Type to search...'),
            'class' => 'form-control',
            'label' => 'Search'
        ]
    ];
    $this->set(compact('inputOptions'));

но мне не удалось определить, где и как в моем коде.

Любая помощь, пожалуйста?

1 Ответ

0 голосов
/ 04 июля 2018

просто вы должны добавить его в массив $parameters таким образом

$parameters = [
    /* other fields here */
    [
        'name' => 'ip_address', 
        'className' => 'Input', 
        'formConfig' => ['label' => 'IP Address']
    ],
];
...