ZendFramework - 如何获取页面ID名称

时间:2012-10-21 22:24:29

标签: zend-framework zend-form zend-db-table

我有一个表 * sitepage_manageadmins * ,其中包含:“user_id,page_id”。 还有另一个表 * sitepage_pages * ,其中包含“page_id,title”。

我试图在Zend_Form中呈现为下拉列表(选择列表),该用户是相关page_id的管理员。

这是我的代码:

$this->view->owner_id = $viewer_id = $viewer->getIdentity();  // get $viewer
$adminpages = Engine_Api::_()->getDbtable('manageadmins', 'sitepage')->getManageAdminPages($viewer_id); // get viewer page_id's where is admin

将page_id作为下拉列表:

$ids = array ( 0 => '-- Select --');
    foreach ($adminpages as $adminpage) {
        $ids[] = $adminpage->page_id;
    }

渲染下拉列表

$this->addElement('select', 'page_id', array (
                'label' => 'Page where I'm Admin',
                'multioptions' => $ids,
)); 

目前,我只将Page_ID数字渲染为下拉列表。我希望从特定的Page_ID中呈现标题。

欢迎任何想法? 感谢

1 个答案:

答案 0 :(得分:0)

这是因为你只将id放到$ids[]数组中。在这种情况下,multioption数组应该是key-value对,page_id是key& page_title为值。
foreach ($adminpages as $adminpage) {
$ids[$adminpage->page_id] = $adminpage->page_title;
}