複製程式碼 程式碼如下:
'asdfgasgsad'));?>這句話意思是包含'_sidemenu.php'並往其頁傳一系列參數,'_sidemenu.php '頁即可直接使用$form變數中的值
op_include_box('vote_question_create_box','asdfasdf',array('title'=>'建立問題','moreInfo'= >array('建立問題',link_to('建立問題2','@my_index'))));
?>
op_include_box('vote_question_create_box',get_slot('pager'),array('title '=>'創建問題','moreInfo'=>array('創建問題',link_to('創建問題2','@my_index'))));
?>
'vote_question_create_box'只是一個標記,'asdfasdf'或get_slot('pager')則是要輸出到頁面上標題下的信息(這個方法裡要包含slot只能用get_slot()不能用include_slot(),
而在頁面中要包含slot則必須使用include_slot())
第三個數組參數中的鍵值名稱title是固定的,是該段'vote_question_create_box'顯示的標題,後面的'moreInfo'鍵名也是固定鍵值對應的數組則是羅列顯示的內容列表
設定一個slot段落
op_include_form('vote_question_from',$form,array('title'=>'編輯問題','url'=>url_for('@vote_update?id='.$form->getObject()->getId()),));
?>包含一個表單對象,'vote_question_from'為標識名,$ form為對應動作傳來的表單對象,第三個陣列參數title鍵值也url鍵值是固定的,分別對應顯示的標題名稱和表單提交路徑
對應動作內容為
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
}
?>
用於分頁時前後翻頁的超連結
$pager來自動作裡的$this->pager = Doctrine::getTable('VoteQuestion')->getListPager($request->getParameter('page'));
PluginVoteQuestionTable類別getListPager ()方法裡的內容↓
class PluginVoteQuestionTable extends Doctrine_Table
{
public function getListPager($page = 1,$size = 20)
{
{ 🜕-約 = $ 'updated_at DESC');
$pager = new sfDoctrinePager('VoteQuestion',$size);//建立某表的分頁對象,並傳一個每頁顯示多少記錄值
$pager->setQuery($query) ;//傳一個查詢語句物件
$pager->setPage($page);//設回顯示的頁數
$pager->init();
return $pager;
}
}
?>
對應前台頁對分頁結果集的瀝遍
getResults() as $item): //利用openPNE分頁機制取得指定分頁結果集並瀝遍每一筆記錄? >
getId()) ? >相當於sdsfg
表名是駝峰模式在資料庫裡以下劃線表示,欄位名稱也是如此
連結的
就算不用方法也可以直接在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); ute(
'/ vote/edit/:id',
array('module' => 'vote', 'action' => 'edit'),
array('id' => 'd+', 'sf_method' => array(' get')),
array('model' => 'VoteQuestion', 'type' => 'object')
),
);
}
}
?>
以上就介紹了oops jaime pas langlais openPNE常用方法分享,包括了oops jaime pas langlais方面的內容,希望對PHP教程有興趣的朋友有所幫助。