Drupal

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

4
繰り返し可能なDrupalインストールを作成しますか?
異なるサイトにDrupalをインストールするとき、同じモジュールを何度も何度もインストールすることに気づきます。DRYの利益のために、drupalをインストールし、インストール済みの基本モジュール、基本テーマセット、および他の一般的な設定オプションセットをインストールできるカスタムサイト「テンプレート」を作成するにはどうすればよいですか。 Drupalプロファイルについて少し読んだことがあり、Drushツールを見たことがあります。おそらく、これら以外のツールもあります。これを行う最善の方法は何ですか? 更新 わかりましたので、Drush makeとDrupalのインストールプロファイルがジョブに適したツールのようです。私はそれらについて話すこれらのブログ投稿を見つけました: 概要 ブラシメイク インストールプロファイル ほとんどすべてのパズルのピースを手に入れたように感じます。私がまだ明確にしていないのは、Drush Makeプロセスとプロファイルを組み合わせる方法です。どのようにして、drush makeが作成するdrupalインストールのプロファイルディレクトリにプロファイルファイルを取得しますか?または、これをシェルスクリプト経由で行う必要がありますか? 更新2 私はこのビデオを見つけました: http://chicago2011.drupal.org/sessions/zero-distribution-using-features-profiler-and-drush-make プロファイラでのdrush makeの使用について説明しています。Drush Makeとプロファイルの関係は、DrupalとプロファイルのみをダウンロードするDrush Makeファイルが1つあるようです。次に、プロファイル「モジュール」内に、すべてのモジュールコンポーネントをダウンロードする別のDrush Makeファイルがあります。 ビデオでは、drupalセットアップ自動化のもう1つのレベルである機能についても説明しています。 このワークフローでは売れません。それはすべて少し複雑に思えます。しかし、これは私の最初の露出だったので、多分私はもっと後でそれを感謝します。私はdrush makeが好きですが、プロファイルをいじる代わりにdrushを使用してモジュールを有効にできると考えています。私は、drush makeを実行し、プレーンブラシを使用してモジュールを有効にするbashシェルスクリプトを作成すると思います。 次のステップは、繰り返し可能な方法でモジュールの構成を行う方法です。これは機能かもしれないと思う?または、プロファイルをさらに調べる必要があります。

5
ノードのフィールド値を更新する方法は?
ノードのフィールドの値を変更したいのですが、次のコードを使用しました: $node = node_load($nid); // $nid is the function's parameter $node->field['field_myfield'][$node->language][0]['value'] = 1; node_save($node); 問題は$node->languageにあるes間に戻るprint_r($node)ことundです。なぜ$ node配列にある$node->languageものと異なるのですか?どうすれば取得できますか?
21 7  entities 


7
SQLクエリを使用してキャッシュをクリアするにはどうすればよいですか?
モジュールの更新後、私のサイトは使用できなくなり、PHPエラーメッセージのみが表示されます。で問題を回避しようとしましたdrush ccが、それは役に立ちませんでした。 また、カスタムのPHPスクリプトを試してみましたが、それを見つけるのに問題があります DRUPAL_ROOT mysqlサーバー上のDrupal 7からキャッシュテーブルを直接クリアしたいのですが、そのためにクリアする必要のあるテーブル、特にクリアしてはいけないテーブルは不明です。 すべての[SITE-PREFIX_]cache*テーブルをクリアするだけですか?
21 7  8  caching 

6
CSSスタイルシートまたはノードからリンクされていない孤立したファイルとイメージを見つける方法
パブリックファイルシステム内およびテーマディレクトリ内にあるすべての未使用ファイルを一覧表示してそれらを一覧表示する方法はありますか、あるいはそれらを自動的に削除するオプションがありますか? 現在、CSSスタイルシートまたはノードからリンクされていないファイルを意味します。
21 7  files 

8
プログラムで機能コンポーネントを元に戻す
インストールプロファイルを使用してフィーチャーをインストールしました。ただし、特定のコンポーネントをオーバーライドして削除されないように、常に元に戻す必要があります(たとえば、機能のブロックが表示されるようにするため)。インストールプロファイルのコード自体を使用してプログラムでこの手順を実行できるかどうかを知りたかっただけです。 以下のスクリーンショットでは、プログラムで元に戻す必要のあるコンポーネントを示しています(スクリーンショットでは、既に元に戻されているため、チェックボックスは使用できません)。
21 7  features 

2
コンテンツタイプからフィールドを削除する最良の方法
GUIで定義されたコンテンツタイプからDrupal 7フィールドを削除する最良の方法は何ですか?update.phpの実行時に変更を複数のサーバーに伝播できるように、hook_update_Nを使用します。しかし、私は解決策を見つけることができないようです。db_drop_table()は、カスタム定義のスキーマでは意味がありますが、GUIで定義されたコンテンツタイプ/フィールドでは意味がありません。
21 7  entities  hooks  updating 

1
厳密な警告:変数のみを参照で渡す必要があります
次のエラーが表示されます。 厳格な警告:include()の参照によって変数のみを渡す必要があります(/home/sites/dev/theparce/sites/all/themes/parce/block--block--3.tpl.phpの18行目)。 これは、そのエラーの原因となっているブロックコードです。 if ($user_gallery) { print render(node_show($user_gallery)); // Line 18 print drupal_render ($user_gallery_edit); } else { print drupal_render($user_gallery_new); } すべてが期待どおりに印刷されても、なぜこのエラーが発生するのですか?
21 7 




4
MySQLマスター/スレーブ構成を活用するコアを取得する方法は?
MySQLマスター/スレーブレプリケーションが機能しないという質問とその回答を読みました。 スレーブデータベースの使用は、Drupalコアではほとんど実装されていません。独自のモジュールを開発している場合、db_queryの呼び出しでは、$ options配列を使用してスレーブデータベースを使用することを指定する必要があります。この配列の設定方法については、DatabaseConnection :: defaultOptionsを参照してください。 子猫を殺さずにコアをハッキングして、スレーブSELECTクエリを取得db_query()およびdb_select()作成する方法はありますか? デフォルトでは、これらの関数は、スレーブにクエリするように特に指示されない限り、マスターにクエリを実行します(APIを参照)。db_query($query, $args, array('target' => 'slave'))これを達成するためにスレーブとコア(およびすべてのモジュール)をクエリするために記述する必要があります。 検索(スレーブ部分を参照)とアグリゲーターのみがこれを活用しているようです。 編集: 10月25日 プレスフロー7が出ているのを見ましたが、今それが大いに役立つかどうかわかりません。 何か関連するものが見つからなかったので、答えを得るのを助けるためにちょっとした賞金を試しましょう。 編集: 10月31日 主に、このトピックに関するCrellのコメントを心配しています:スレーブをどうするか?。 主SELECTに、スレーブにクエリを送信する場合、レプリケーションの遅延で何が起こるかnode_load()、新しいノードを保存した直後にやりたいことがあるという事実に問題があります。

5
名前で用語を読み込む
Drupal 7では、exの名前を使用して用語をロードできます。 taxonomy_get_term_by_name($name) Drupal 8で名を指定して用語をロードする方法はありますか?
21 8  taxonomy-terms 


2
EntityFieldQuery INNER JOIN
EntityFieldQueryオブジェクトを使用してクエリを実行したいと思います。nodeテーブルとnode_accessテーブルの両方の値が必要なので、INNER JOINを使用する必要があります。doドキュメントから、これがどのように可能かを理解できません。 これが私が持っているものです- $query = new EntityFieldQuery(); $result = $query->entityCondition('entity_type', 'node') ->entityCondition('bundle', 'node_access') ->propertyCondition('type', 'external_link') ->propertyCondition('status', 1) ->fieldCondition('gid', '3', '=') ->fieldCondition('realm', 'domain_id', '=') ->fieldCondition('grant_view', '1', '>=') ->range(0,1) ->execute();
21 7  database 

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