CCK で生成された Drupal コンテンツ タイプのデフォルトのタイトル フィールドと本文フィールドを削除するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/89672

  •  01-07-2019
  •  | 
  •  

質問

Content Creation Kit を使用して Drupal で新しいコンテンツ タイプを作成すると、生成されたフォームに Title フィールドと Body フィールドが自動的に取得されます。それらを削除する方法はありますか?

役に立ちましたか?

解決

開発者ではない場合 (または開発プロセスを短縮したい場合)、別の可能な解決策は auto_nodetitle モジュールを利用することです。Auto nodetitle を使用すると、ノードのタイトルを生成するためのルールを作成できます。これらは、プログラムによるルール、置換されるトークン、または単なる静的テキストの場合があります。他に何もなければ一見の価値があります。

他のヒント

本文を削除するには、タイプを編集し、「送信フォーム設定」を展開し、本文フィールドのラベルを空白にします。タイトルについては、別のテキストフィールドに名前を変更できます。本当にテキスト フィールドが必要ない場合は、カスタム モジュール (たとえば foo という名前) を作成し、$form['title'] を #価値 $form['type']['#value'] がノード タイプの場合。

何もインストールする必要はありません:
コンテンツタイプを編集する場合は、「編集」を押します
([編集] | [フィールドの管理] | [フィールドの表示] のメニュー)
送信フォームの設定をクリックします

[本文] フィールドのラベル:
空白のままにすると、本文フィールドが削除されます。

開発者でない場合(または開発プロセスのショートカットを希望する場合)、別の可能なソリューションは、auto_nodetitleモジュールを利用することです。Auto Nodetitleでは、ノードのタイトルを生成するためのルールを作成できます。これらは、プログラマティックルール、交換されるトークン、または単に静的テキストです。他に何もないとしても、見る価値があります。

そして付け加えます ウィリアム・オコナーの 解決...

残念ながら、このモジュールの文書化は不十分です。私の意見では、これは PHP を使用した場合にのみ効果的です。「パターンで PHP を評価する」にチェックを入れ、「タイトルのパターン」フィールドに次のように入力します。

<?php echo $node->field_staff_email[0]['email']; ?>

または:

<?php echo $node->field_staff_name[0]['value'] . '-' . gmdate('YmdHis'); ?>

...ここでは、「field_staff_email」という内部名を持つフィールドがあり、CCK Email モジュールを使用していました。したがって、「email」タイプが使用されました。または、「field_staff_name」という内部名を持つフィールドがあり、それは単なる通常のテキスト フィールドだったので、「value」タイプが使用されました。同じ名前のスタッフ メンバーが 2 人以上いる可能性があるため、最後の gmdate() 呼び出しは一意性を確保するためのものです。

私がこれらすべてを発見した方法は、まず次のことを実験することでした。

<?php print_r($node); ?>

...もちろん、とんでもない結果になりましたが、少なくとも出力を解析し、ここで $node オブジェクトを適切に使用する方法を理解することができました。

これらの PHP ルーチンのいずれかを使用すると、Drupal Admin のコンテンツ リストに、PHP をコーディングしたとおりのエントリが表示されることになることに注意してください。gmdate() だけを使用しなかったのは、編集するレコードを見つけるのが困難になる可能性があるためです。

gmdate('YmdHis') はかなり長いため、出力のサイズを減らすために gmdate() で Base-36 変換を使用できる可能性があることにも注意してください。

最初の回答はすべて良好です。タイトル部分の別のアイデアとして...cck ノード タイプ用のカスタム テンプレート ファイルを作成してみてはいかがでしょうか。node.tpl.php をnode-TYPE.tpl.php にコピーし、新しいファイルを編集して、タイトルが表示される場所を削除します。(キャッシュをクリアすることを忘れないでください)。

この方法で行うと、すべてのノードにタイトルが付けられたままになるため、コンテンツ管理のために空白のタイトルなどが残されることがなくなります。

ひーっ!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top