CAKEPHP 3.0
我已将此搜索插件用于我正在处理的帮助中心。 https://github.com/FriendsOfCake/search
所以我已经在论坛页面上集成了这个插件,它可以准确地成功过滤搜索到的关键字。但是,当我从搜索结果https://gyazo.com/b53046571a26c8dfea624b1e7aee88d7中单击主题的“查看”按钮时,URL将更改为/ index /?view = view& forum_thread_id = 10并且无法找到其所在的View页面to / 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() ?>
答案 0 :(得分:0)
出于某种原因,您正在使用表单重定向到视图页面
假设这是期望的行为(您实际上想要将POST数据发送到视图),那么您必须告诉表单哪个是动作
<?= $this->Form->create($viewCounter, ['url' => ['action' => 'view']) ?>
否则它会将数据发送到您所在的页面(index
页面),然后搜索插件的PRG组件将POST数据转换为GET参数
如果您不需要发送POST数据,您只需创建链接
即可<?= $this->Html->link('view', [
'action' => 'view',
'?' => ['forum_thread_id' => $forumThread['id']]
]) ?>