CakePHP3 - не работает ссылка формы плагина FriendsOfCake Search

CAKEPHP 3.0

Я использовал этот поисковый плагин для справочного центра, над которым я работаю. https://github.com/FriendsOfCake/search

Поэтому я уже интегрировал этот плагин на страницу форума, и он может успешно фильтровать искомое ключевое слово. Однако, когда я нажимаю кнопку "Просмотр" темы из результатов поиска https://gyazo.com/b53046571a26c8dfea624b1e7aee88d7, URL-адрес изменяется на /index/? View=view&forum_thread_id=10 и не может найти его страницу просмотра, которая должен быть /forum-threads/view/10

Кто-нибудь знает, почему этот плагин изменяет URL ссылки нажатой кнопки? Где проверить или какой файл я должен изменить, чтобы он мог успешно найти страницу просмотра? Спасибо за вашу помощь заранее.

[РЕДАКТИРОВАТЬ]

Шаблон \ForumThreads\index.ctp

<?= $this->Form->create($viewCounter) ?>
    <?= $this->Form->button('View', [
        'type' => 'submit', 
        'class'=>'btn btn-link btn-xs',
        'escape' => false, 
        'name' => 'view', 
        'value'=>'view' 
    ]) ?>
    <?= $this->Form->hidden('forum_thread_id', [
        'value' => $forumThread['id']
    ]) ?>
<?= $this->Form->end() ?>

1 ответ

По какой-то причине вы используете форму для перенаправления на страницу просмотра

если предположить, что это желаемое поведение (вы на самом деле хотите отправить данные POST в представление), тогда вы должны указать форме, которая является действием

<?= $this->Form->create($viewCounter, ['url' => ['action' => 'view']) ?>

в противном случае он отправит данные на страницу, на которой вы находитесь (index страница), а затем компонент PRG поискового плагина преобразует данные POST в параметры GET

если вам не нужно отправлять данные POST, вы можете просто создать ссылку

<?= $this->Html->link('view', [
    'action' => 'view', 
    '?' => ['forum_thread_id' => $forumThread['id']]
 ]) ?>
Другие вопросы по тегам