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']]
]) ?>