我已经选择了zend框架并正在玩它,这是我想要的情况
实现。
我有default
和user
modules
,用户使用user_layout
加载predispatch
个用户模块的广告NovelsController
。 user_layout中的一个小表单,post
日期(从和到)显示为NovelsController的showAction。
这是代码
<!-- the form inside user_layout -->
<form method="get" action="/user/novels/show">
<table class="font">
<tr>
<td> <label for="to">From:</label></td>
<td class="simple_margin_left"><input type="text" id="from" name="from" size="12"/></td>
</tr>
<tr>
<td> <label for="to">To:</label></td>
<td class="simple_margin_left"><input type="text" id="to" name="to" size="12" /></td>
</tr>
<tr>
<td> </td>
<td></td>
</tr>
<tr>
<td colspan="2" align="center"><button type="submit" style="padding-left:10px; padding-right:10px; margin-left:0px" class="classy">Check</button> </td>
</tr>
</table>
</form>
我使用以下内容
$input = new Zend_Filter_Input($filters, $validators);
$input->setData($this->getRequest()->getPost());
到目前为止一切正常我现在想要启用show.phtml.so的分页我将表单操作更改为在我的application.ini中获取和定义路由,如此
resources.router.routes.user-show.route = /user/novels/show/:page/:from/:to
resources.router.routes.user-show.defaults.controller = novels
resources.router.routes.user-show.defaults.module = user
resources.router.routes.user-show.defaults.action = show
resources.router.routes.user-show.defaults.page = 1
resources.router.routes.user-show.defaults.from = ""
resources.router.routes.user-show.defaults.to = ""
如何使表单操作遵循该规则,因为到目前为止它只是一个带有问号和变量=值的普通查询字符串。
我怎样才能实现这一目标?感谢您阅读本文。
答案 0 :(得分:1)
由于浏览器的工作方式,这不能用ZF完成(并且不值得做)。
当以任何语言提交GET表单时,浏览器会将查询字符串构建为键值对,并将其附加到操作中指定的URL。
如果您坚持所有网址都“漂亮”,您可以选择以下几种方式: