Php 如何在";node/[nid]“节点;页
我有一个内容类型(预算),它是一个自定义内容类型Php 如何在";node/[nid]“节点;页,php,drupal,drupal-7,Php,Drupal,Drupal 7,我有一个内容类型(预算),它是一个自定义内容类型 function budget_node_info() { return array( 'budget' => array( 'base' => 'budget', 'name' => t('Budget'), 'description' => t('Represents individual budget.'), 'title_label' => t('B
function budget_node_info() {
return array(
'budget' => array(
'base' => 'budget',
'name' => t('Budget'),
'description' => t('Represents individual budget.'),
'title_label' => t('Budget Name'),
'locked' => TRUE
)
);
}
还有形式函数
function budget_form($node, $form_state) {
drupal_add_library('system', 'ui.tabs');
drupal_add_library('budget', 'highcharts');
drupal_add_js(drupal_get_path('module', 'budget') . '/js/budget_base.js');
drupal_add_js(drupal_get_path('module', 'budget') . '/js/' . $node->type . '.js');
$form = node_content_form($node, $form_state);
$config = variable_get($node->type);
我想在节点视图页面上显示编辑表单(我想显示从node/[nid]/edit到node/[nid]的表单)
我下一步尝试:
function budget_node_view($node, $view_mode, $langcode){
$node->content['edit-form'] = array(
'#markup' => render(drupal_get_form('budget_form', $node)),
'#weight' => 10,
);
}
我也试过了
function budget_node_view($node, $view_mode, $langcode){
$node->content['edit-form'] = array(
'#markup' => render(budget_form($node, array())),
'#weight' => 10,
);
}
第二版显示表单,但未加载任何js或css
我做错了什么?我曾经用过,而且似乎很管用
function wp_budget_node_view($node, $view_mode, $langcode){
module_load_include('inc', 'node', 'node.pages');
$node->content['edit-form'] = array(
'#markup' => render(node_page_edit($node)),
'#weight' => 10,
);
}
另外,对于新的(空)表单,您应该使用node_add函数
function budget_form($node, $form_state) {
drupal_add_library('system', 'ui.tabs');
drupal_add_library('budget', 'highcharts');
drupal_add_js(drupal_get_path('module', 'budget') . '/js/budget_base.js');
drupal_add_js(drupal_get_path('module', 'budget') . '/js/' . $node->type . '.js');
$form = node_content_form($node, $form_state);
$config = variable_get($node->type);