Drupal

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

5
ユーザーインターフェイス翻訳を展開するにはどうすればよいですか?
「ユーザーインターフェイスの翻訳」/ admin / config / regional / translateで翻訳した文字列は、「構成管理」/ admin / config / development / configurationではエクスポートできません。何か不足していますか? hook_update_Nまたはでこのプロセスを自動化したいと思いdrush cim -yます。 Drupal 8で「ユーザーインターフェイス翻訳」を自動的に展開する適切な方法は何ですか? 私はそれをするべきhook_update_N()ですか? mytranslations.po言語フォルダにカスタムファイルを作成する必要がありますか? locale_translate_batch_import_files()使用されるかもしれないものがありそうです。

1
drush evalを介してモジュールの.incファイル内の関数を呼び出すことは可能ですか?
Drush経由で実行する必要がある関数を含む追加(.inc)ファイルを含むモジュールがあります。を実行することは可能drush evalですが、これらの関数に対して実行しようとすると、次のエラーが発生します。 PHPの致命的なエラー:/usr/share/php/drush/commands/core/core.drush.inc(1037)の未定義の関数my_module_my_function()の呼び出し:1行目のeval()のコード このコマンドは機能します(関数は.moduleファイルにあります)。 drush eval 'my_module_cron();' このコマンドは機能しません(関数は.incファイルにあります)。 drush eval 'my_module_my_function();' モジュール内で関数を移動する以外に回避策はありますか?
12 7  drush 


1
Drupal 8でテンプレートをレンダリングする方法
Drupal 8でテンプレートをレンダリングしようとしています。Drupal7では、hook_themeでテーマを作成し、モジュールにテンプレートディレクトリを作成し、テンプレートファイルをドロップして、theme()で表示できます。Drupal 8でどのようにして能力を発揮しますか?私は以下を試しましたが、エラーになります: twitter_pull.module / ** * hook_theme()を実装します。 * / function twitter_pull_theme($ existing、$ type、$ theme、$ path){ 配列を返す( 'twitter_pull_tweet_listing' => array( '変数' =>配列( '説明' => array()、 )、 'テンプレート' => 'テンプレート/ twitter_pull_tweet_listing'、 )、 ); } twitter_pull / templates内:twitter_pull_tweet_listing.html.twig 私のブロック内: $ tweet_template = array( '#theme' => 'twitter_pull_tweet_listing'、 '#attributes' => array( 'params' => $ …
12 theming  8 


3
オメガ4:設定を.infoにエクスポートする
簡単な質問だと思いますが、解決策のリソースが見つかりません。 Omega 4では、「このテーマの設定は現在変数から提供されています。.infoファイルにエクスポートすることをお勧めします」というメッセージが表示され続けます。 それで、どうすればいいですか?
12 theming 

2
カスタムモジュールの更新「N値」をリセット/元に戻す
私のカスタムモジュールのインストールファイルには、hook_update_N関数があります。それだとしましょうmymodule_update_7100。しかし、間違っていることに気づき、この関数内のコード行を変更したいと思います。私はすでに実行してきたように見てupdb/ update.php変更がピックアップされないだろうと私はどちらかに名前を変更する必要があるだろうmymodule_update_7101か、その名前で、それの後に新しい関数を作成します。私は実際にこれを行う必要はないので、モジュールの現在の「バージョン番号」を正確にDrupalに伝える変数があるかどうか、そしてそれをリセットして更新スクリプトを実行できるようにすることができるかどうか疑問に思っていました再び。 関数がデータベースに及ぼした実際の影響は重要ではありません。それは、後でフロントエンドを介して簡単に削除できる分類用語を生成するだけだからです。
12 updating 

2
hook_schemaがデータベーステーブルを作成していません
次の関数は、process_loginというカスタムモジュールの一部として、process_login.installに含まれています。データベーステーブルを手動で作成した場合、モジュールは機能しますが、当然のことながら、インストール時にテーブルが自動的に作成されます。 関数自体は、モジュールのインストール時にスキーマエラーを生成しません。しかし、Drupal 7 MySQLデータベースにデータベーステーブルprocess_login_registerも作成しません。 私が見ることができる他のエラー、またはサイトレポートによって報告された問題はありません。 私はそれを完全に削除し、何度も再インストールしました。私はWebを広範囲に検索し、Drupal開発に関する2冊の本を調べました。この機能に問題はありません(以下に記載)。 注:私も 'id'をシリアルとして定義しようとしましたが、同じ結果が得られます(つまり、テーブルが作成されません)。 アイデアが足りなくなった。この関数が機能しない理由を誰かが知っていますか? function process_login_schema(){ $schema['process_login_register'] = array( 'description' => 'Register a specific computer with the system.', 'fields' => array( 'id' => array( 'description' => 'Primary identifier.', 'type' => 'int', 'unsigned' => TRUE, 'size' => 'normal', 'not null' => TRUE, 'default' => 0, ), …
12 7  database 


7
フォームAPIを使用して<button type =“ submit”>を生成する
統合するテーマの多いフォームがあります。その構造を以下に示します。私は、提出を除いて、ほとんどのところそこにいます。 &lt;form action="#"&gt; &lt;fieldset&gt; &lt;legend&gt;Authentification&lt;/legend&gt; &lt;label for="email"&gt;Courriel*&lt;/label&gt; &lt;input type="text" name="email" id="email"&gt; &lt;label for="password"&gt;Mot de passe*&lt;/label&gt; &lt;input type="password" name="password" id="password" class="last"&gt; &lt;a href="#" title="Mot de passe oublié?" class="clearfix"&gt;Forgot password?&lt;/a&gt; &lt;button type="submit" class="clearfix"&gt;&lt;span&gt;Login&lt;/span&gt;&lt;/button&gt; &lt;/fieldset&gt; &lt;/form&gt; 私はさまざまな組み合わせを試しましたが、button_typeはコアに影響を与えないことがわかりました。だから私はこのハックを使って、それが私の問題を修正することを望みました。悲しいかな、それは 'type'属性(明らかに)のみを変更し、要素自体は変更しません。ボタンタイプは他の要素を保持できます。この場合、背景画像を保持するためにスパンが必要です。ボタン内のテキストが動的であるため、ストレッチするためにスパン内にある必要があります。 フォームAPIを使用して次のマークアップ行を生成する方法について誰かが手掛かりを持っていますか? &lt;button type="submit" class="clearfix"&gt;&lt;span&gt;Login&lt;/span&gt;&lt;/button&gt;
12 forms 

6
AJAXを使用してフォームを検証および送信する方法
Form APIを使用してWebフォームを作成しました。#AJAX各フィールドにAJAX検証を追加するためにフィールドオプションを使用しています。 ページをリロードせずにAJAXを使用してフォームを検証および送信することは可能ですか?検証が失敗した場合はエラーメッセージを表示し、検証が成功した場合はメッセージ(理想的にはライトボックス内)を表示してフォームフィールドをリセットします。 これまでの私のコード: $form['name'] = array( '#type' =&gt; 'textfield', '#title' =&gt; t('Name'), '#default_value' =&gt; '', '#maxlength' =&gt; '128', '#required' =&gt; TRUE, '#ajax' =&gt; array( 'callback' =&gt; '_validate_name', 'wrapper' =&gt; 'name-error-icon-container', 'method' =&gt; 'html', 'effect' =&gt; 'none', 'progress' =&gt; array( 'message' =&gt; NULL, ), ), ); $form['submit'] = array( '#type' …
12 7  forms  ajax 

2
EntityFieldQueryを使用するときにnode_accessをバイパスする方法は?
次のコードでは、現在のユーザーに「ノードアクセスのバイパス」(正確な検証については_node_query_node_access_alter()を参照)がない場合、クエリはnode_accessをチェックしますが、「node_access」タグを使用していません。 管理者以外のユーザーに対する次のクエリでnode_accessチェックを回避するにはどうすればよいですか? 私はこのコードをモジュールから使用しているので、パーミッションを自分で確認できます。node_accessチェックは必要ありません。 $query = new EntityFieldQuery; $result = $query -&gt;entityCondition('entity_type', 'node') -&gt;entityCondition('bundle', 'foo') -&gt;fieldCondition('custom_id', 'value', $custom_id) -&gt;execute();
12 7  entities  users 

8
ビューの公開フォームにテーマを設定する方法は?
いくつかの公開フィルターを使用してビューを作成しましたが、見た目はかなり醜いです。 テーマを改善したいのですが、フィールドセット全体をラップしたり、他の要素をグループ化したり(公開された入力と更新された入力のペアリングなど)を含めますが、どうすればよいかわかりません。 私はフォームをvar_dumpしようとしましたが、それは永遠に続くようで、ブラウザがロックしてしまうので、そのようにフォームについて何も簡単に学ぶことができません。 また、フォームをフィールドセットの子として別のフォームに配置しようとしましたが、すべてのフォームID情報などを取得するのに問題がありました(ただし、フィールドセットのスタイルは取得しました)。 誰かがポインタを持っていますか? 更新: テンプレートをモジュールからサイトのテーマディレクトリにコピーして、開始しました。 &lt;fieldset&gt; &lt;legend&gt;Filters&lt;/legend&gt; &lt;div class="views-exposed-form"&gt; &lt;div class="views-exposed-widgets clear-block"&gt; &lt;?php foreach($widgets as $id =&gt; $widget): ?&gt; &lt;div class="views-exposed-widget"&gt; &lt;?php if (!empty($widget-&gt;label)): ?&gt; &lt;label for="&lt;?php print $widget-&gt;id; ?&gt;"&gt; &lt;?php print $widget-&gt;label; ?&gt; &lt;/label&gt; &lt;?php endif; ?&gt; &lt;?php if (!empty($widget-&gt;operator)): ?&gt; &lt;div class="views-operator"&gt; &lt;?php print $widget-&gt;operator; ?&gt; …
12 views  6  theming 

2
KernelEvents :: REQUESTがキャッシュされたページで起動されない
KernelEvents :: REQUESTイベントサブスクライバーを実装して、ページの読み込み時に何らかのアクションを実行しようとしています。 リクエストされたページがDrupalキャッシュに存在するかどうかに関係なく、このイベントを起動する必要があります。Drupalがキャッシュから何かを提供するときにKernelEvents :: REQUESTが起動しないようです。 これを達成するために使用できるイベントはありますか、または何らかの形のミドルウェアとして要件を実装する必要がありますか?


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