2

誰でも私を助けることができますか?私はこの問題を解決するために何度も見回してきました。これで、新しいコンテンツ タイプを作成する方法と、その出力にテーマを設定する方法がわかりました。シンプルでした。テンプレートフォルダーに「node--content-type-name.tpl.php」ファイルを作成するだけです。今、入力フォームにテーマを設定したいと思います。

私がその道を見つけたとき、ちょうど言った、新しいモジュールを作成するか、template.phpにコードを入れますが、何千回も試しましたが、結果は得られませんでした。よくわからなかったと思います。tpl.php ファイルを作成するだけでは難しすぎます。

だから、私の質問はです。

  1. node--content--edit.tpl.php のような入力テーマ ファイルを作成する方法はありますか? (ページの場合、ページを作成することがわかりました--node--add--content-type.tpl.php)

  2. カスタムモジュールを作成する必要がありますか? コンテンツタイプの入力をテーマにしたい場合は?

  3. site/all/theme/bartik フォルダーの template.php に theme() 関数を入れると言う人もいます。以下にコードを入れましたが、うまくいきませんでした。私は何かを逃しましたか?

コンテンツ タイプ名: mycontent

function mycontent_theme() {
    return array(
        'mycontent_node_form' => array(
        'agruments' => array('form' => NULL),
        'template' => 'mycontent-node-form',
        ),
    );
}

次に、site/all/theme/bartik/template フォルダーに mycontent-node-form.tpl.php ファイルを作成し、その中にランダムなテキストを入れました。(adsfasdfkajsdhfkash) しかし、何も起こりませんでした。

実際には、コンテンツタイプ (INPUT) で同意ボックスを作成したいだけですが、多くの時間を費やしました。誰でも私を助けることができますか?

4

1 に答える 1

1

theme()関数を template.php の site/all/theme/bartik フォルダーに入れると言う人もいます。以下にコードを入れましたが、うまくいきませんでした。何か見逃しましたか?

の代わりにmycontent、テーマの短い名前を使用する必要があります。それを Bartik テーマに追加する場合、関数名はbartik_theme()ではなく にする必要がありmycontent_theme()ます。

使用しているコードにはタイプミスが含まれています。それは引数であり、引数ではありませ。ただし、そのプロパティは Drupal 7 では使用されません。Drupal 7 は変数、つまりレンダー要素を使用します。

function bartik_theme() {
  return array(
    'mycontent_node_form' => array(
      'render element' => array('form' => NULL),
      'template' => 'mycontent-node-form',
    ),
  );
}

補足として、すでに有効になっているモジュール/テーマに関数を追加する場合は、最初に無効にしてから再度有効にする必要があります。Drupal は、モジュール/テーマによって実装されたいくつかの関数の名前をキャッシュするためです。

于 2012-12-18T06:57:32.613 に答える