web-dev-qa-db-ja.com

ノードフィールドからのノードタイトルの生成

だから、これは初心者の質問です。カスタムコンテンツタイプで自動Nodetitlesを使用しています。ノードのタイトルを自分のフィールドの1つと同じにしたいのですが。少し調べた後、私はこれを思いつきました:

<?php return $node->field_my_field ?>

これを「タイトルのパターン」フィールドに入力しましたが、これは「配列」を返すだけです。したがって、それは配列でなければなりません。しかし、私が探している値を取得するためにそれをインデックス化する方法を理解する運がありません。私が試したすべては、私に「未定義のオフセット」エラーを与えます。

これは難しいことではありません。

3
stahlous
<?php return $node->field_my_field['und'][0]['value']; ?>
3
dobeerman

この単純な置き換えには、phpコードの代わりにトークンを使用する方が良いと思います。

token モジュールをインストールすると、Pattern for the title:入力ボックスの下に利用可能なトークンのリストが表示されます。そして、フィールドの名前が* field_my_field *の場合、トークンを取得します

[field_my_field-formatted]
[field_my_field-raw]

またはそのようなものから選択します。

4
mmartinov

トークンについて、私にとって最終的に機能したのは

[node:field_my_field]

自動エンティティラベル を使用していると言われているので、使用しない場合があります。

1
Craicerjack

トークンを使用した方がよい場合があることに同意します。 martinの投稿に追加するため、およびDilbertDaveが提起する問題への対応として、Token APIのほとんどはDrupal7に追加されていますが、フィールドサポートなど、元のトークンプラグインの特定の側面にはまだ対応していないと思います。そのため、 Token module をインストールすると、フィールドベースのトークンを使用できるようになります。

[field_my_field-formatted]
[field_my_field-raw]
0
Jeremy Kidwell