Drupal

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

14
インストールされたモジュールを/ sites / all / modules / *から/ sites / all / contrib / modules / *に移動する方法
私はこの質問への答えを全然運よく探していました。データベース構造で観察したものから、モジュールの場所は「システム」テーブルで指定されています。私が持っている唯一の解決策は、SQLクエリを記述して 'filename'列を更新することです。 これを解決するためのより良い/よりクリーンなソリューション、例えばcontribモジュールはありますか?
34 7  installing 

4
サイトのベースURLを取得する方法
私のサイトはhttp://drupal8.local/にあります。そのURLのdrupal8.local部分を取得するにはどうすればよいですか? Url::fromRoute('<'current'>')またはbase_path()、URLのパス部分を返します。たとえば、http://drupal8.local/a/b/c/d/e/fの/a/b/c/d/e/f'場合、単に取得する必要があるときに'を返します'drupal8.local'。 URLのその部分を取得するにはどうすればよいですか?
34 8  uri 


1
$ form_stateは何に使用されますか?
$form_state引数として使用される場合、Form APIのコンテキストで通常使用されるのは何ですか? 具体的には、いつ使用されるかの例を探しています。
33 forms 

7
Node.jsテーマワークフローを使用しているときにDrupalがセグメンテーションフォールトを発生させないようにするにはどうすればよいですか?
症状: 一部のブラシコマンドは失敗します。一部のDrupalページは空白です。 失敗したdrushコマンドは「Segmentation fault:11」を報告します 。Apacheログ(MAMPのphp-error.logなど)にも同じエラーが表示されます。 バックグラウンド: gulpまたはgruntワークフローを使用して(テーマのSASSなどをコンパイルするために)、Drupalページを空白(WSD)として提供しているときに、drushコマンドがApacheと同様にセグメンテーションフォールト11をスローする問題が発生する場合があります。 推定原因 これは、ユーザーgruntまたはgulpワークフロー環境 からのファイルnode_modulesがdrush cache-clear all、たとえばDrupal自体の副産物として誤って登録されているためです。これらの.jsファイルは数十個あり、Drupalはそれらを処理できません...これはおそらく他の場所で知られているように、根本的な原因であるPCRE正規表現です。とにかく... 常に起こるとは限らない node.jsスタイル(つまり、gulpまたはgrunt)ワークフローがこの方法で失敗する前に完全に機能するため、一部のモジュール(たとえばBrowser Syncなど)がこのエラーを引き起こすかどうかは明らかではありません。
33 theming  drush 

6
SA-CORE-2014-005(Drupal 7.32)のパッチはどのような攻撃を防ぎますか?
上に読み込みhttps://www.drupal.org/node/2357241との技術的な詳細https://www.drupal.org/SA-CORE-2014-005だけでなく、単純に実際のパッチ: diff --git a/includes/database/database.inc b/includes/database/database.inc index f78098b..01b6385 100644 --- a/includes/database/database.inc +++ b/includes/database/database.inc @@ -736,7 +736,7 @@ abstract class DatabaseConnection extends PDO { // to expand it out into a comma-delimited set of placeholders. foreach (array_filter($args, 'is_array') as $key => $data) { $new_keys = array(); - foreach ($data as $i => …
33 security 

3
ビュー内の要素をグループ化するにはどうすればよいですか?
8つの記事があります:第1条(ゲーム)、第2条(ローカルニュース)、第3条(世界ニュース)、第4条(世界ニュース)、第5条(ゲーム)、第6条、第7条、第8条。 ビューでは、記事を「ニュース」、「ゲーム」、「その他」でグループ化します。世界のニュースとローカルニュースを1つのカテゴリにまとめ、カテゴリのないものを「その他」に移動します。私はこの見方だけのために新しい語彙を作りたくありませんでした。グループごとのフィールドを使用してこれを達成しようとしましたが、その方法を使用してこれをどのように達成できるかわかりません。
33 7  views 


6
モジュールの構成を更新するにはどうすればよいですか?
Drupal 8でカスタムモジュールを作成しています。これには、いくつかのYAML構成ファイルが含まれています。 開発中に、たとえばカスタムエンティティに別のフィールドを追加するなど、構成を変更して追加する必要があります。 現在、Drupalに変更を通知する唯一の方法は、モジュールをアンインストールしてから再インストールすることです。 モジュールが提供する構成ファイルがアクティブな構成と同じであることをDrupalに確認させ、そうでない場合はアクティブな構成を更新する方法はありますか?モジュールの更新はどのように処理されますか?D7 hook_update_Nでは、PHPを使用してフィールドを追加するために使用されますが、これはD8のCMで処理されるように見えますか? モジュールのymlファイルを更新した後に試したこと: drush cr、設定の同期。 更新されたすべての構成ファイルを手動でコピーしますsites/default/files/config_XXX/staging/-ただし、このエラーは「ステージングされた構成はこのサイトとは異なるサイトから作成されたためインポートできません。このサイトのクローンインスタンス間でのみ構成を同期できます」。 構成マネージャーを使用してファイルを1つずつ手動でインポートします。これは機能しますが、明らかにもっと自動化された方法が必要です。 [編集] config_updateモジュールを手動で使用して、変更を検査し、モジュールの構成に「元に戻す」。繰り返しますが、これはマニュアルです。 編集:設定の管理から-すべきこととしないこと 禁止事項 モジュールのconfig / installディレクトリのファイルを変更して、サイトのアクティブな構成を変更してください。Drupalはモジュールのインストール時にそのディレクトリからのみ読み取るため、これは機能しません。 ...しかし、変更があるだろうモジュールが、彼らは彼らの初のリリースに必要な設定ファイル、およびこれまでに更新していないか、設定を追加しないことが何にバインドされていない限り、発生します。 前もって感謝します。

9
ブロックをプログラムで表示するにはどうすればよいですか?
Drupal 8 beta-14を使用してサイトを開発しています。さまざまな用語のビューブロックを作成しましたが、コードを使用して表示したいと思います。プログラムで表示するにはどうすればよいですか?以前はこのコードを使用してDrupal 7で実行していましたが、Drupal 8については混乱しています。 $block = module_invoke('block', 'block_view', '4'); $text_block = render($block['content']);
33 8  blocks 

6
プログラムで用語を作成しますか?
ボキャブラリーに多くの用語(〜200)を追加しようとしていますが、Drupal 8用に更新されたインポートモジュールが見つかりません。Drupal7でこれを行うための機能は存在しないようですDrupal 8.では、だれかがこれを行うための正しい方向に私を向けることができますか? 私entity_createはコメントで示唆されているように、このコードでを試みました: $term_create = entity_create('taxonomy_term', array('name' => 'test', 'vocabulary_name' => 'client')); しかし、私はこのエラーを受け取りました: Drupal\Core\Entity\EntityStorageException: Missing bundle for entity type taxonomy_term in Drupal\Core\Entity\FieldableEntityStorageControllerBase->create() (line 65 of core/lib/Drupal/Core/Entity/FieldableEntityStorageControllerBase.php). 何か案は?
32 taxonomy-terms  8 

5
TIDから分類用語名を取得する方法は?
私たちのものの多くはのような形式のURIを持っています。XX site/taxonomy/XXは整数です。 「名前からTIDを取得する方法」のような多くの質問を見つけましたが、から名前を取得したいと思いTIDます。私はパンくずスクリプトを作成しようとしていますが、「home > term」のようなトレイルを取得している場合を除き、すべてが素晴らしいです。代わりに、「home > <TERM NAME>」のようにします。 どうすればできますか?
32 7  taxonomy-terms 

7
PHPエラーを抑制するにはどうすればよいですか?
DrupalのすべてのPHPエラー、警告、通知を黙らせる方法はありますか?これらは開発サイトでは便利ですが、大きなセキュリティリスクであり、ライブではサイトの外観が悪くなります。 Drupal 6のadmin / settings / error-reportingのページでDrupalが画面にエラーを書き込むのを防ぐことができますが、Drupal 7のどこで見つけることができますか?欠落しているようです。
32 7 

5
キューを処理するためにcronタスクが必要ですか?
完了までに約45分かかり、毎日実行する必要があるタスクがあります(ユーザーを複数の外部データベースに同期するなど)。 作業を処理するために、hook_cron_queue_info()次のようにcronキューを設定しました。 function mymodule_cron_queue_info() { $queues = array(); $queues['update_users_queue'] = array( 'worker callback' => '_mymodule_process_user_queue_item', 'time' => 120, ); return $queues; } この関数を使用してキューを埋めます: function mymodule_queue_all_users_for_synching() { //...query for users... $queue = DrupalQueue::get('update_users_queue'); foreach($users as $user) { $queue->createItem($user); } } キュー充填機能は、cronタスクとして呼び出されます。私はElysia Cronを使用していますので、私の実装hook_cronapi()は: function mymodule_cronapi($op, $job = NULL) { $items = array(); …
32 7  hooks  cron  queue 


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