Drupal

Drupal開発者および管理者向けのQ&A



4
参照されたエンティティのインスタンスを取得する方法は?
という名前の画像フィールドを持つノードオブジェクトがありますfield_image。私がする時 $node ->get('field_image') ->first() ->getValue() エンティティオブジェクトではなく、いくつかのプロパティを持つ配列を取得します。配列は次のようになります。 'target_id' => string '8' (length=1) 'alt' => string '' (length=0) 'title' => string '' (length=0) 'width' => string '587' (length=3) 'height' => string '458' (length=3) '_loaded' => boolean true '_accessCacheability' => object(Drupal\Core\Cache\CacheableMetadata)[1092] protected 'cacheContexts' => array (size=0) ... protected 'cacheTags' => array (size=0) ... …
35 8  entities 

6
特定のモジュールの更新をチェックしないようにするにはどうすればよいですか?
現在のプロジェクトでは、いくつかのモジュール(ノード階層、ワークベンチアクセスなど)の寿命を修正する必要がありました。これらのモジュールは現在、プロジェクトのニーズに完全に適合しており、将来のコアの更新で壊れることはほとんどありません。 つまり、アプリが引き渡されると、クライアントはシステム(ユーザー1)に完全にアクセスできるため、これらのモジュールに利用可能な更新があると警告されます。そして、彼らが何度も私に彼らに懇願しなくても、彼らはそれらを更新します(ああ、クライアントなしでどれだけ簡単な人生になるでしょう!)。 .info更新マネージャーがこれらのモジュールの更新をチェックしないように説得する方法(おそらくモジュールのファイル内)がありますか? 編集 ファイルでproject status url使用できるキーを知っている.infoので、存在しないURLに設定できると思いますが、可能であれば、きれいな方法でこれを行う方がはるかに望ましいです。
35 7  updating 

5
db_queryでIN句を使用する
プレースホルダーを使用して、クエリにIN句を追加する方法がわかりません。 私はそれが次のようなものになりたいです: $nids = array(1, 2, 3); $result = db_query('SELECT * FROM {node} WHERE nid IN :nids', array(':nids' => $nids)); この簡単なタスクに関するドキュメントは見つかりません。これを達成する適切な方法は何ですか?
35 7  database 

5
タイプ別にノードのリストを取得するDrupal API関数はありますか?
node_load()特定のタイプのノードのリストを返すようなDrupal API関数はありますか? 試しましたが$nodes = node_load(array("type" => 'student_vote'))、1つのノードのみを返します。 のようなコードを作成できることは知っていますがnode_load()、そのようなものがすでにあるかどうかを確認したかったのです。
35 nodes 

5
一括フィールド更新?
既に多くのノードがあるDrupal 7コンテンツタイプに新しい(テキスト)フィールドを追加しました。 これらすべてのノードのデフォルト値をフィールドに入力するにはどうすればよいですか?
35 7  entities 

11
EntityFieldQueryを使用して特定のロールを持つすべてのユーザーを取得します
これは簡単な作業だと思いましたが、このためのDrupal方式はないようです。私はこれに使用EntityFieldQueryしなければならないことを知っている限り、APIは条件user_load_multiple()が非推奨であると言ったので来ました。 だから私はこれを試しました: $query = new EntityFieldQuery; $query ->entityCondition('entity_type', 'user') ->propertyCondition('rid',array(1,2,3); $result = $query->execute(); しかし、私はこれを得ました: PDOException:SQLSTATE [42S22]:列が見つかりません:1054 'where句'の不明な列 'users.rid':SELECT users.uid AS entity_id、:entity_type AS entity_type、NULL AS revision_id、:bundle AS bundle FROM {users} users WHERE(users.rid =:db_condition_placeholder_0); EntityFieldQuery-> execute()の配列([:db_condition_placeholder_0] => 3 [:entity_type] => user [:bundle] => user) したがって、最初に考えたのは、users_roles-Tableなどで参加する必要があるということでしたが、重複することになります。 誰もそれを行う方法を知っていますか?
35 7  entities 

2
モジュールの推奨リリースから開発リリースに切り替える方法は?
たとえば、現在Geofieldモジュールを使用しています。私はバージョンを使用しています: 7.x-1.0-beta2(2011-Nov-17) これで、開発バージョンに必要な機能がいくつか追加されました。モジュールの開発バージョンに正しく安全に「アップグレード」するにはどうすればよいですか? 7.x-1.x-dev(2012-Jan-10) 現在私がしていることは、コンテンツタイプからジオフィールドを削除し、ジオフィールドモジュールを無効にし、ジオフィールドモジュールをアンインストールし、サーバーからジオフィールドモジュールを物理的に削除してから、devバージョンをダウンロードしてインストールすることです。これは機能しているようですが、より効率的なワークフローがあるのではないかと思っています。 (筆をインストールしているので、筆を含む解決策を受け入れています)
34 7  drush  updating 


4
ビューでajaxのロード動作を変更するにはどうすればよいですか?
ブロックにいくつかの公開されたフィルターがあるビューがあります。AJAXと自動送信機能を使用するため、フィルターオプションが変更されるとすぐにビューが再ロードされます。 オプションを選択してから再ロードされるビューまでの短い遅延で、おなじみの青いAJAXスロバがフォームの下部に表示されます(非表示の送信ボタンは現在どこにあると思います)。 throbber要素のCSSをオーバーライドすることでこの画像をカスタマイズできることは知っていますが、まったく使用したくないと思います。 むしろ、jQueryアニメーションを使用して、公開されたフィルターフォーム(および理想的にはメインビュー)を一時的にフェードアウトします。AJAX呼び出しが完了すると、それらはフェードインします。 それに失敗すると、Views UIモジュールが更新するときに使用するのと同じメソッド、つまり、このアイコンをページの中央に配置したいと思います。 それはすでに組み込まれているので、この読み込み動作のスタイル/場所を変更する設定がどこかにあると思いました。しかし、そのような運はありません。 これらの方法のいずれかを実装するにはどうすればよいですか? ビュー7.x-3.3でDrupal 7を使用しています。
34 7  views  ajax  javascript 


7
プログラムでノードを作成する
日付フィールドと画像フィールドを持つノードをプログラムで作成するにはどうすればよいですか? Drupal 7で次のコードを使用して実行できることを知っています。 global $user; $node = new stdClass(); $node->title = "YOUR TITLE"; $node->type = "YOUR_NODE_TYPE"; node_object_prepare($node); // Sets some defaults. Invokes hook_prepare() and hook_node_prepare(). $node->language = LANGUAGE_NONE; // Or e.g. 'en' if locale is enabled $node->uid = $user->uid; $node->status = 1; //(1 or 0): published or not $node->promote = …
34 8  nodes 

9
フィールドのスケーラビリティのコンテキストで、フィールドの再利用と新しいフィールドの作成のバランスはどうですか?
ウェブサイトで次のフレーズを読みました。 コンテンツタイプに新しいフィールドを追加する代わりに、既存のフィールドを追加することは、システムの複雑さを軽減し、スケーラビリティを改善するためのより良いオプションです。 そして、いくつかの疑問が生じます。 開発中のシステムでは、3つまたは4つのコンテンツタイプでフィールドを再利用する可能性がありますが、引用されたフレーズが示すようにスケーラビリティを改善する代わりに、フィールドのテーブルがより速くボトルネックになるため、それが減少することを恐れています(少なくともこの場合の理由は、そのフィールドのすべての値が一緒になって年間数百万になり、テーブルが大きくなりすぎるためです)。同意しますか? 設計する際に目標とする合理的な最大数は何行ですか?そうすることで、いつフィールドを再利用し、いつ新しいフィールドを作成するかを決定できます(再利用の機会がそこにあるとしても)。

3
検索APIとApache Solr検索
Drupal 6でApache Solr Searchモジュールを使用しており、Drupal 7インストール用のSearch APIを探しています。ここでいくつかの議論を見ましたが、どちらかを選択する理由を探しています。 どちらかを選択する理由はありますか?もしそうなら、なぜ、またはそうではないのですか?Search APIには複雑さの問題やパフォーマンスの問題があると聞いています。これは本当ですか?
34 search 

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