タグ付けされた質問 「nodes」

Drupalサイトのコンテンツの最も基本的な形式はノードです。

5
ノードと参照ノードを同時に作成する
ノードと参照ノードを同時に作成したい場合があります。これにうまくいく解決策はありますか? 私が話していることを明確にするために、次の状況を考えます(説明のために非常に簡略化しています)。 ノード参照フィールドStudentを持つコンテンツタイプのクラスがあります。ユーザーがClassノードとStudentノードを同時に作成できるようにしたいと考えています。また、通常のノード参照オートコンプリートを使用して、すでに存在している生徒を選択できるようにしたいと考えています。 理想的には、これらすべてを1つのページから機能させ、Drupal権限システムの範囲内で機能させて、さまざまな役割とさまざまな権限を持たせることができます。 はい、この場合、Studentは(ノードではなく)ユーザーとして提供するのが最善ですが、ClassとStudentは単に状況を説明するためのものです。実際のシナリオでは、実際にノード参照が必要です。 これと同様の質問があります。「親ノードと一緒に参照ノードを作成する」ですが、私は特にDrupal 7ソリューションのみに関心があります。 編集: 既存のモジュールを探すだけでなく、カスタムコードの準備も始めます。
7 7  nodes 

3
ノードのステータスを更新するには?
Drupal 8 Webサイトにノードが存在する場合、JSONからのデータを使用して新しいノードを作成するか、既存のフィールドを更新します。したがって、メソッドを使用してノードを更新する場合、更新されたノードのノードIDと、このノードの値が変更されたフィールドのキーを配列に保存する必要があります。 更新が完了したら、このコンテンツタイプのすべてのノードを含むテーブルを印刷する必要があります。更新されたノードのフィールドは異なるスタイル(色、背景など)を持つ必要があります。 したがって、私の古いノードが body = "body1"ありdescription = "description 1"、新しいノードがbody = "body2"ありdescription = "description 1"、更新が完了したら、次のような出力を取得する必要があります。 次に例を示します。 $node = \Drupal\node\Entity\Node::load($nid); $node->set("body", 'New body text'); $node->set("description", 'New value'); $node->save(); なにか提案を? 注:$node->save();すべての更新された値が同じ場合に使用すると、何も変更されません(管理パネルのコンテンツのノードの日付は更新前と同じです)が、値が異なる場合、変更されたフィールドのノードID、キー、値のみを保存する必要がありますアレイ。
7 8  nodes  entities 

5
ノードのリビジョンリストを取得してすべて削除する方法は?
リビジョンとそれらをすべて削除する方法。Drupal 7の場合、それを行うモジュールや、保持されるリビジョンを制限したり、x日より古いすべてのものを削除したりするモジュールはたくさんありますが、Drupal 8にはありません。 そこには何もないようです。データベースを検索することは、私がしたくないことです。 何か案は?
7 nodes  8 

4
カスタムモジュールのインストールを介して、組み込みのコンテンツタイプにカスタムフィールドと表示設定を追加するにはどうすればよいですか?
私はDrupalにかなり慣れていません。Wordpress開発から来ており、プラグインの一部をDrupal 8のモジュールに「変換」しようとしています。 新しいフィールドを追加しようとしているドキュメントに従っています。ノードに「price」と言います。私が見つけたすべてのドキュメントは、カスタムノードへのフィールドの追加に関連していますが、私の場合、それらのフィールドを通常の事前定義ノードに追加したいと思います。 頭に浮かぶ最初の質問は、YML構成ファイルまたはコードを使用してカスタムフィールドを作成できることです。 私はYMLでフィールドを作成し、それはdrupalによって認識されました。問題は、それらがノードに表示されないことです(手動でアクティブにする必要があります)。 私のモジュール/ config / install /に作成しました: core.entity_form_display.node.article.default core.entity_view_display.node.article.default 私は自分のフィールドを追加しますが、もちろん、モジュールをアクティブ化しようとすると、Drupalによってすでに定義されているため、モジュールは好きではありません。 これらのコアファイルを「拡張」する方法はありますか?YMLまたはコードでそれは可能ですか? 私はhttps://www.drupal.org/docs/8/api/entity-api/programming-custom-fields-into-your-content-typeをフォローしました。/ config / installにYMLファイルを作成しましたが、実際にフィールドが作成されました。問題は、カスタムノードタイプに関連していないため、ビューエンティティを「拡張」して表示エンティティを形成する方法がわからないことです。これらのファイル(core.entity_form_display.node.article.default core.entity_view_display.node.article.default)はすでにコアに存在しているため、事前に作成されたノードタイプにリンクされ、再定義できません。 このコメントに続いて、次のファイルを作成しました。 /config/install/field.field.node.article.field_price.yml langcode: en status: true dependencies: config: - field.storage.node.field_price - node.type.article id: node.article.field_price field_name: field_price entity_type: node bundle: article label: Price description: 'Premium Price' required: false translatable: false default_value: { …
7 nodes  8  entities  hooks 

2
ノードオブジェクトのプロパティを取得するにはどうすればよいですか?
Drupal8のノードオブジェクトからmoderation_stateプロパティを取得しようとしています(添付画像を参照)。しかし、私はこれを行う方法を見つけることができません。Drupal7では、それはかなり単純明快$node->moderation_stateでした。 $ nodeがDrupal \ node \ Entity \ NodeのインスタンスであるDrupal8でこの値を取得するにはどうすればよいですか? 私は試しました:$ node-> moderation_state $ node-> moderation_state-> value
7 nodes  8  entities 


3
ノードのみを移行する方法はありますか?
完全な移行をしたくありません。ノードのみ(できればメタタグメタデータも含む)のみを移行したい。ビュー、パネル、コンテキスト、URLリダイレクトではなく、ノードのみ... 完全なD7 >> D8アップグレードでいくつかの問題が発生した後、およびDrupalアップグレードモジュールを使用するときに、これについて尋ねます(DAでこのスレッドを開きました)。したがって、部分的な移行のみを行う方法、または部分的に移行する方法を探しています。 ノードに関しては可能ですか?
7 nodes  8  migration 


1
約50のフィールドを持つノード追加フォームを高速化する方法は?
約50のフィールドを持つノード追加フォームがあり、ほとんどが1つのフィールドコレクション(別の5つのフィールドを持つ)を持つテキストと、いくつかのエンティティと用語参照があります。 ページの読み込みに約30秒かかり、使用できなくなります。 いくつかの遅いクエリがあります(99.28-DrupalDatabaseCache :: getMultiple、34.21-views_plugin_query_default :: execute、20.51-DrupalDefaultEntityController :: load、18.46-DrupalDatabaseCache :: getMultiple、17.46-DrupalDatabaseCache :: getMultiple .. Cache :: getMultipleクエリには1087のプレースホルダーがあり、EntityController :: loadには1084のプレースホルダーがあります。 完了までにさらに30秒かかるフィールドコレクションの[別のアイテムを追加]をクリックした場合。 ページの読み込み時間を短縮するにはどうすればよいですか? 編集:私はAPCをインストールしましたが、すべてのキャッシュクエリが削除されましたが、問題は解決しませんでした-まだ約30秒の読み込み時間です。遅いロード時間はキャッシングに関連しているとは思いません。約280MBのメモリロードを使用してページを構築しています。 編集:フィールドコレクションを削除し、memcacheとentitycacheをインストールすると、読み込み時間が20秒短縮されました。ただし、最初にページをロードするのに10秒かかり、ajaxリクエストごとにさらに10秒は許容されません。多数のフィールドでWebフォームはどのように機能しますか?多分それはより良いオプションでしょうか?

3
.installファイルまたは.moduleファイルにプログラムで新しいコンテンツタイプを追加しますか?
プログラムで新しいコンテンツタイプを作成するには、2つの方法があります。 まず一つは、私も使用した、カスタムモジュールの中でそれを作成することです.install内のファイルhook_install()使用node_type_save()してもフィールドを取り付けるhook_install()とfield_create_field()してfield_create_instance()。 Node Exampleモジュールで使用される2つ目は、カスタムモジュールの.moduleファイルにそれをhook_node_info()作成し、hook_node_type_insert() 私の気持ちはそれを維持する方が良い(つまり、を介して新しいフィールドを追加/更新するhook_update_N())と言っており、.installファイルに適しているので、私は最初の方法を好みます。しかし、Node Exampleモジュールでそれが他の方法で行われる理由を自問しています。 両方の方法を使用してコードで新しいコンテンツタイプを作成するCONとPROを知っている人はいますか?
7 7  nodes 

2
フィールドコレクションのノードIDを取得する
次のコードがあります。entity_load_singleを使用してフィールドコレクションアイテムをロードできます。特定のフィールドコレクションアイテムのノードIDを取得できるようにしたい。どうすればこれを達成できますか? function dc_car_guide_model($model_id) { $model = entity_load_single('field_collection_item', $model_id); //How can I get nid? }
7 nodes  entities 

1
@(@name)を使用してコメントでユーザーに言及/返信する
コメントに返信したり、@記号を使用してコメントでユーザーに言及したりできる機能を探しています。 したがって、ノードのコメントに次のように記述すると、 @マイケルジャクソンクールなもの男。 「@Michael Jackson」は、彼のユーザーページにつながるリンクに変わります。 また、手間をかけずに可能であれば、ユーザーが存在する場合にのみリンクに切り替えて、404エラーを防ぐことができればすばらしいと思います。 ありがとう。
7 7  nodes  users  comments 

4
約30のDrupalサイトからの情報を1か所に集約するにはどうすればよいですか?
Drupalには約30のWebサイトがあります。すべてのWebサイトからの情報を1か所に集約できるモジュールまたはサービスを探しています。ノード数、コメント、ユーザー、Drupalコアとモジュールのバージョンに関する情報が必要です。Acquiaの洞察のようなものですが、より多くのサイトとより安い:)
7 nodes 

1
コードを介してノードを作成するための最良の選択は何ですか?
シナリオはこのようになり、多くの分類用語フィールドが含まれるノードタイプがあります。テキスト、日付などの他のフィールドもありますが、その90%は分類フィールドです。ノードはプログラムで2つの方法で作成できることを知っています。 node_save()-ノードオブジェクトを作成して保存する $node = new stdClass(); $node->type = 'article'; $node->field_term[LANGUAGE_NONE][0]['tid'] = 3128 // term id of the term node_save($node); フォーム送信-フォーム配列の作成とdrupal_form_submitを使用した送信 $node[field_first]['und'] => chennai; $node[field_second]['und'] => "iphone5"; $node['type'] = 'article'; $form_state['values'] = $node; $form_state['values']['op'] = t('Save'); drupal_form_submit($node_type . '_node_form', $form_state, (object)$node); $ nodeはPOST値を持ちます。 フォーム送信メソッドを使用する利点は、Drupalが語彙で新しい用語を作成することです(私はより多くの新しい用語を取得することになっています)。フォームの送信は、ノードの作成に必要なフォームの検証に従うことができます。 より多くの項を取得するはずのDrupalシステムでノードをより速く作成する方法はありますか? 上記以外の方法がない場合、どの方法が最適ですか?
7 forms  nodes 

3
特定のノードIDのテンプレートファイルを定義するにはどうすればよいですか?
ノードIDを使用して、特定のノードのカスタムテンプレートファイルを定義しようとしています。テンプレートフォルダーにnode--X.tpl.phpファイルを作成すると言っている多くのトピックを読みました。 それが私がしたことです。残念ながら、テーマキャッシュを何度もフラッシュした後でも、何も変わりません。 他に何かしなければならないことはありますか? Drupal 7を使用しています。
7 nodes  theming 

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.