2011-01-10 14 views

答えて

0

前処理機能でテンプレートを提案として追加するか、目的のテンプレートを使用するカスタムテーマ機能をフォームで作成する必要があります。これは、Drupal 6でどのように行われたかと非常によく似ています。あなたのテーマで今form_altersを実行できるのはあなただけです。

0

この関数をtemplate.phpに追加することができます。 フォームをprint_r()して、フィールドを確認することができます。

function yourThemeName_form_yourFormID_alter(&$form, &$form_state, $form_id) { 
    // Modification for the form with the given form ID goes here. For example, if 
    // FORM_ID is "user_register_form" this code would run only on the user 
    // registration form. 
print_r($form);  
} 
3

あなたは

ページを使用する必要がある - ノードを - add-- CONTENT_TYPEを .tpl.php

代わりの

当ページ - ノード - 追加 - コンテンツタイプ .tpl.php

アンダースコア(_)の代わりにダッシュ( - )

0

あなたはノードフォームのTPLファイルを追加しています。このためには、あなたのテーマの下でtemplate.phpにtplファイル名を定義する必要があります。

  1. ファースト)(TPLフォーム上
  2. 印刷コンテンツをyour_theme_name_themeを作成します。

例:contact_site_formは、コンテンツタイプのフォームIDです。

your_theme_name_theme() { 
    $items['contact_site_form'] = array(
    'render element' => 'form', 
    'path' => drupal_get_path('theme', 'your_theme_name') . '/templates', 
    'template' => 'contact-site-form', 
); 
} 

上記の指定に従って、パスの場所にcontact-site-form.tpl.phpファイルを作成します。

<?php echo render($form['name']); ?> 
<?php echo render($form['mail']); ?> 
. 
. 
. 
<?php print drupal_render_children($form); ?> 

指定された方法で各要素を個別にレンダリングできます。

関連する問題