当前位置: 网学 > 编程文档 > PHP > 正文

openPNE常用方法分享

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/06/20

网学网为广大网友收集整理了,openPNE常用方法分享,希望对大家有所帮助!

复制代码 代码如下:
<?php include_partial(''sidemenu'',array(''form''=>''asdfgasgsad''));?>这句话意思是包含''_sidemenu.php''并往其页面传一系列参数,''_sidemenu.php''页即可直接使用$form变量中的值
<?php
op_include_box(''vote_question_create_box'',''<strong>asdfasdf</strong>'',array(''title''=>''创建问题'',''moreInfo''=>array(''创建问题'',link_to(''创建问题2'',''@my_index''))));
?>
<?php
op_include_box(''vote_question_create_box'',get_slot(''pager''),array(''title''=>''创建问题'',''moreInfo''=>array(''创建问题'',link_to(''创建问题2'',''@my_index''))));
?>
''vote_question_create_box''只是一个标记,''<strong>asdfasdf</strong>''或 get_slot(''pager'')则是要输出到页面上标题下的信息(这个方法里要包含slot只能用get_slot()不能用include_slot(),
而在页面中要包含slot则必须使用include_slot())
第三个数组参数中的键值名称title是固定的,是该段''vote_question_create_box''显示的标题,后面的''moreInfo''键名也是固定键值对应的数组则是罗列显示的内容列表

<?php slot(''pager''); ?>设定一个slot段落
<?php echo ''asdfasgsadfasdfaaaaaaaaaaaaaaaaaaaaaa'' ?>
<?php end_slot() ?>
<?php include_slot(''pager''); ?>包含指定的slot段落,设定的slot段落必须通过包含才能在页面上显示

<?php
op_include_form(''vote_question_from'',$form,array(''title''=>''编辑问题'',''url''=>url_for(''@vote_update?id=''.$form->getObject()->getId()),));
?>包含一个表单对象,''vote_question_from''为标识名,$form为对应动作传来的表单对象,第三个数组参数title键值也url键值是固定的,分别对应显示的标题名和表单提交路径
对应动作内容为
<?php
public function executeEdit(sfWebRequest $request){
$object = $this->getRoute()->getObject();
//如果不是作者屏幕上显示404
$this->forward404Unless($this->getUser()->getMemberId() == $object->getMemberId());//$object->getMemberId()为传递过来的id值对应的那条记录的member_id字段值
$this->form = new VoteQuestionForm($object);
//访问此动作路径http://localhost/openpne/web/vote/edit/1
}
?>

<?php op_include_pager_navigation($pager, ''@tasks_list?page=%d''); ?>用于分页时前后翻页的超链接
$pager来自动作里的 $this->pager = Doctrine::getTable(''VoteQuestion'')->getListPager($request->getParameter(''page''));
PluginVoteQuestionTable类getListPager()方法里的内容↓
<?php
class PluginVoteQuestionTable extends Doctrine_Table
{
public function getListPager($page = 1,$size = 20)
{
$query = $this->createQuery()->orderBy(''updated_at DESC'');
$pager = new sfDoctrinePager(''VoteQuestion'',$size);//创建一个某表的分页对象,并传一个每页显示多少记录值
$pager->setQuery($query);//传一个查询语句对象
$pager->setPage($page);//设返回显示的页数
$pager->init();
return $pager;
}
}
?>
对应前台页面对分页结果集的沥遍
<?php foreach($pager->getResults() as $item): //利用openPNE分页机制获取指定分页结果集并沥遍每一条记录?>
<dl>
<dt><?php echo op_format_date($item->getUpdatedAt(),''f'') //''f''代表一种显示格式?></dt><!--op_format_dat

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号