一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

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_date()方法只是把2011-11-10各種中的‘-'換成漢字年月日-->
<dd><?php echo link_to(sprintf("%s(%d)",$item->getTitle(),count($item->getVoteAnswers())),'@vote_show?id='.$item->getId()) ?></dd><!--$item->getTitle()獲取該條記錄指定字段title值-->
</dl>
<?php endforeach; ?>

<?php echo link_to('sdsfg','@vote_show?id='.$item->getId()) ?>相當于<a href='vote/show?id=...'>sdsfg</a>
表名是駝峰模式在數據庫里以下劃線表示,字段名也是如此

鏈接的
就算不用方法也可以直接在action="此可直接寫web/后的====模塊名/動作名====或路由中設定好的web后的路徑"

動作里的
$this->tasksObject = $this->getRoute()->getObject();
$this->getRoute()->getObject();//獲取傳過來的id參數值對應的表中的那條信息對象可通過get+字段名()獲取字段值,如在頁面中$tasksObject-getId();
至于如何確定獲取的是哪個表則是通過路由類設置該動作路由時確定的,如下例確定的是vote_question表

<?php
class opVotePluginFrontendRouteCollection extends sfRouteCollection
{
public function __construct(array $options)
{
parent::__construct($options);
$this->routes = array(
'vote_edit' => new sfDoctrineRoute(
'/vote/edit/:id',
array('module' => 'vote', 'action' => 'edit'),
array('id' => '/d+', 'sf_method' => array('get')),
array('model' => 'VoteQuestion', 'type' => 'object')
),
);
}
}
?>

php技術openPNE常用方法分享,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 性做久久久久久网站 | a级精品九九九大片免费看 a加勒比一本东京 | 草久影院| 91中文字幕yellow字幕网 | 加勒比一区二区三区 | 欧美黑人巨大日本人又爽又色 | 国产一区二区三区手机在线观看 | 久久久久久久久一级毛片 | 伊人网视频 | 久久精品精品 | 国产精品福利在线观看入口 | 亚洲第一网站免费视频 | 中文字幕亚洲一区二区va在线 | 91视频高清| 91福利国产在线观看一区二区 | 怡红院美国十次成人影院 | 91美女在线播放 | 国产精品视频第二区第二页 | 丁香六月婷婷综合激情动漫 | 四虎影视免费永久在线观看黄 | 激情视频综合网 | 国产高清美女一级a毛片久久 | 劲爆欧美第一页 | 欧美高清另类videosbestsex | 久久综合伊人 | 激情六月婷婷 | 色天天久久 | 深爱激情成人 | 天天舔天天爱 | 亚洲综合国产 | 伊人久久香 | 国产小视频福利 | 91麻豆精品国产自产在线观看一区 | 精品视频999 | 热久久视久久精品18国产 | 欧美xxxx网站 | 六月色婷婷 | 婷婷六月久久综合丁香可观看 | 日本午夜vr影院新入口 | 视频区小说区图片区激情 | 麻豆久久久久久久 |