在ez publish中每创建或修改完成一个节点的内容,按发布按钮提交后,页面总会跳转到其父节点而不是我们创建或编辑本身节点。其实在ez publish中已经考虑到了用户这种需求。我们在kernel/content/edit.php的第90行开始可以看到这样一串代码:
// Remember redirection URI in session for later use. // Note: This code is safe to place before permission checking. if ( $http->hasPostVariable( 'RedirectURIAfterPublish' ) ) { $http->setSessionVariable( 'RedirectURIAfterPublish', $http->postVariable( 'RedirectURIAfterPublish' ) ); } if ( $http->hasPostVariable( 'RedirectIfDiscarded' ) ) { $http->setSessionVariable( 'RedirectIfDiscarded', $http->postVariable( 'RedirectIfDiscarded' ) ); }
这告诉我们只要在编辑页面加入'RedirectURIAfterPublish'和’RedirectIfDiscarded‘两个PostVariable便可实现我们的需求,于是在design/admin2/templates/content/edit.tpl(这里ezpublish4.4)加入:
<input type="hidden" name="RedirectIfDiscarded" value="{ezhttp( 'LastAccessesURI', 'session' )}" /> <input type="hidden" name="RedirectURIAfterPublish" value="{ezhttp( 'LastAccessesURI', 'session' )}" />
完成!