0

コンテンツ タイプ (予算) があります。これはカスタム コンテンツ タイプです。

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,
  );
}

2 番目のバージョンはフォームを表示しますが、js または css はロードされていません。

私は何を間違っていますか?

4

1 に答える 1

1

関数 node_page_edit($node)を使用しましたが、うまくいくようです

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 node_add($type

于 2013-09-30T19:06:31.707 に答える