我需要一個幫助程序來更改wordpress中索引頁面的默認視圖。覆蓋WPMVC中的mvc_helper.php以修改WordPress中的默認表格視圖
我的插件是WPMVC生成的,按照WPMVC官方教程中的說明,我創建並加載了幫手,但它不工作。
任何人都可以告訴我正確的方法嗎?
檢查下面的鏈接以獲取屏幕截圖。
http://i.stack.imgur.com/3a1Ao.png
在screeshot,下面記錄的鏈接和按鈕都是由我添加,覆蓋索引文件。
現在,我需要添加一個鏈接附近'編輯|查看|刪除'中的圖片,例如,
編輯|查看|添加規則|刪除
有關如何做到這一點的任何建議?
正如我之前所說的,我創建並加載了助手,但它不起作用。
需要幫助。謝謝。
代碼:
/app/helpers/geozone_helper.php(創建助手):
<?php
class GeozoneHelper extends MvcHelper {
public $_redirect_action = '';
public function __construct() {
if(empty($this->_redirect_action)) {
$this->_redirect_action = 'geozone_rules-add';
}
parent::__construct();
}
public function admin_actions_cell($controller, $object) {
$links = array();
$object_name = empty($object->__name) ? 'Item #'.$object->__id : $object->__name;
$encoded_object_name = $this->esc_attr($object_name);
$links[] = '<a href="'.MvcRouter::admin_url(array('object' => $object, 'action' => 'edit')).'" title="Edit '.$encoded_object_name.'">Edit</a>';
$links[] = '<a href="'.MvcRouter::public_url(array('object' => $object)).'" title="View '.$encoded_object_name.'">View</a>';
$links[] = '<a href="'.MvcRouter::admin_url(array('object' => $object, 'action' => $this->_redirect_action)).'" title="Edit '.$encoded_object_name.'">Add Rule</a>';
$links[] = '<a href="'.MvcRouter::admin_url(array('object' => $object, 'action' => 'delete')).'" title="Delete '.$encoded_object_name.'" onclick="return confirm('Are you sure you want to delete '.$encoded_object_name.'?');">Delete</a>';
$html = implode(' | ', $links);
return '<td>'.$html.'</td>';
}
}
/app/controllers/geozones_controller.php(負載助手):
public function show() {
$object = $this->model->find_by_id($this->params['id'], array(
'includes' => array('Geozone')));
if (!empty($object)) {
$this->set('object', $object);
$this->render_view('show', array('layout' => 'public'));
}
$this->load_helper('geozone');
$this->set_object();
}
/app/view/geozones/show.php(鏈接到幫手):
<h2><?php echo $object->__name; ?></h2>
<p>
<?php echo $this->html->link('← All Geozones', array('controller' => 'geozones')); ?>
<?php echo $this->geozone->admin_actions_cell($controller, $object->content); ?>
</p>
再次感謝。