Да, я сделал что-то подобное, чтобы заставить его работать.В вашем случае вам придется изменить SQL-запрос для получения вашего пользовательского поля.Вам также необходимо изменить массивы $headers
и $rows
, чтобы включить в них то, что вам нужно отобразить, но я думаю, вы поняли идею.
// first I create my own module hooking the menu
function custom_menu() {
$items['admin/custom-content'] = array(
'title' => t('Custom Content'),
'type' => MENU_NORMAL_ITEM,
'access arguments' => array('access content'),
);
$items['admin/custom-content/product'] = array(
'title' => t('Products'),
'type' => MENU_NORMAL_ITEM,
'access arguments' => array('access content'),
'page callback' => 'custom_view_products'
);
return $items;
}
// the above will add a new admin menu link called Custom Content
// then I have a callback method for the menu item
function custom_view_products() {
// setup the header for the form
$headers = array(
array('data' => 'Title', 'field' => 'title', 'sort' => 'asc'),
array('data' => 'Published')
);
//
$query = "SELECT n.* FROM {node} n ".
"WHERE n.type = 'product' ORDER BY n.title ASC";
//
$rows = array();
if(($results = db_query($query)->fetchAll())) {
foreach ($results as $node) {
$rows[] = array(
'data' => array(
l($node->title, 'node/'. $node->nid .'/edit'),
$node->status
), 'class' => array('published')
);
}
}
$html = theme('table',
array(
'header' => $headers,
'rows'=>$rows,
'caption' => '',
'sticky' => FALSE,
'empty' => 'No products located...',
)
);
return $html;
}