Drupal

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

4
すべてのコンテンツタイプのリストを取得する
Drupal 8サイトで定義されているすべてのコンテンツタイプのリストを取得するにはどうすればよいですか? Drupal 7では以前node_type_get_types()はでしたが、廃止されました。 試しましたEntity::loadMultiple()がうまくいかないようです。カスタムクエリを作成することを考えていましたが、データベースにどのように格納されるのかわかりません。
10 nodes  8 

3
Drupal 8のモジュールを管理インターフェイスまたはDrushで無効にするにはどうすればよいですか?
Drupal 7では、管理インターフェイスまたはDrushを介してモジュールを無効にすることができましたdrush pm-disable。Drupal 8では、管理インターフェイスのチェックボックスがグレー表示され、Drushはpm-disableを使用してそれらを無効にできませんか?Drushまたは管理UIを使用してDrupal 8のモジュールを無効にするにはどうすればよいですか?または、そのようなタスクにはDrupalコンソールが必要ですか? (「プログラムで」という単語を誤って使用したことによる混乱の申し訳ありません。「コマンドラインを介して」の意味を参照していました)
10 8  drush 

4
本文(field_body)をトリミングする方法は?
レンダリングされたエンティティとしてコンテンツを表示するノードのビューを作成しました。特に、twigテンプレートでbodyフィールドを出力します。 {{ content.field_body }} ここで、テキストを200文字に制限し、ドットを3つ配置します。これを行う3つの方法をテストしましたが、何も機能しませんでした。問題は、それぞれの方法がHTML文字を数え、トリミングすることです。 1:「表示の管理」に「トリミング」の形式を追加しました=>テキストは制限されていますが、正しくありません。そして、私は3つのドットを持っていません。 2:twigテンプレートのテキストをトリミングしました。しかし、テキストを数えるには、最初にそれをレンダリングする必要があります。これにより、twigはテキストをHTMLとして出力します(ページにHTMLタグが表示されます!) {% set text = content.field_body|render %} {{ text|length > 200 ? text|slice(0, 200) ~ '...' : text }} 3:template_preprocess_node()の問題を解決しようとしました。ここでも、HTMLマークアップのカウントに関して同じ問題があります。 $body_text = $node->get('field_body')->getValue()[0]['value']; $trimmed_text = substr($body_text, 0, 200) . '...'; テキストを正しくトリミングするにはどうすればよいですか? ご助力ありがとうございます!
10 theming  8 

1
構成のインポートとモジュールの更新はどの順序で実行する必要がありますか?
モジュールのスキーマバージョンはKey-Valueストレージに格納されるため、各サイトに固有であり、構成管理を通じて同期されません。更新では、構成にカプセル化されていない調整(データベースの更新など)が必要になる場合がありますが、構成に含まれる可能性のあるその他の変更(新しい構成値の追加など)があるためです。 構成のインポートとデータベースの更新をどちらの順序で実行してもリスクはありますか? これらの操作を実行するための優先順序は何ですか? 更新フックは、すでにインポートされている可能性のある構成アイテムに対して特別な調整を行う必要がありますか? 本番環境を完全に更新するために必要となる可能性のある他の操作はありますか?

3
Drupal 8でルートファイルを更新する場合、どのようにしてキャッシュをクリアしますか?
ローンチ以来、Drupal 7を使用していて、Drupal 8を学んでいます。現時点では、何かを変更するたびにdrush cache-rebuild、物事を再び機能させるためにやらなければならないことに気づいています。 私のVPSでは、これには15秒かかります(次のページの読み込みも遅くなります)。これはナッツの状況を解くためのそりハンマーかもしれないと感じています。 Drupalが{module}.routing.ymlファイルから(変更された)ルートを再コンパイルするより効率的な方法はありますか?
10 caching  8  routes 

4
フィールドタイプのリストを取得する方法
モジュールをDrupal 7からDrupal 8に移植します。このモジュールの構成設定で、現在存在するフィールドタイプのリストを取得する必要があります。 Drupal 7では、これはfield_info_field_types()関数を使用して実現されました。 Drupal 8(8.0.0-rc3)では、Drupal APIリファレンスのヘルプページに記載されている情報が明らかに古くなっているにもかかわらず、「関数が存在しません」というエラーが表示されます。 次に調査したところ、DrupalContribページが見つかりました。このページでは、関数が非推奨であると宣言されており、現在使用することを提案していますDrupal::service('plugin.manager.entity.field.field_type')->getDefinitions()。 しかし、それを使用すると、別のエラー「不明なサービスplugin.manager.entity.field.field_type」が発生します。これは、「plugin.manager.field.field_type?」という提案に幸運にも関連付けられています。 だから私は使ってみましたDrupal::service('plugin.manager.field.field_type')->getDefinitions()。フィールドタイプの予想される配列を取得しました。 しかし、各配列メンバー(1つのフィールド型)は(子配列ではなく)オブジェクトになり、探しているデータは保護されたプロパティ内にネストされているため、アクセスできません。 この段階では、行き詰まっています。これらのデータをナビゲートするために拡張できるクラスが存在する可能性があると考えましたが、運が悪かったのです。特に、フィールドタイプの定義が一元化されているDrupal 8のコンポーネントがどれであるかもわかりませんでした。
10 entities  8 

7
ビューで作成されたビデオギャラリーに表示されるノードのURLへの直接アクセスを制限するにはどうすればよいですか?
ビューを使用してビデオギャラリーを作成しました。しかし、私はページが一般にアクセス可能であり、個別に各ビデオへのアクセスを禁止することを望んでいます。 動画は一種のコンテンツとして作成する必要があったため、すべてにのようなアクセス可能なULRを設定/content/video-1しました。
10 views  nodes  users 

3
外部スクリプトからのブートストラップ
DrupalまたはDrupalモジュールの一部ではない外部スクリプトからDrupalエンティティインスタンスを作成しようとしています。 Drupal 7のdrupal_bootstrap場合、必要なDrupal依存関係をロードする必要がありました。ただし、長い検索の結果、Drupal 8で見つかったのは、Drupal 8 drupal_bootstrapでは非推奨のメモでした。 そして確かに、私は 未定義の関数drupal_bootstrap()の呼び出し のようにインクルードした後でそれを呼び出そうとすると define('DRUPAL_ROOT', __DIR__ .'/../drupal'); require_once DRUPAL_ROOT . '/core/vendor/autoload.php'; require_once DRUPAL_ROOT . '/core/includes/bootstrap.inc'; drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); では、外部スクリプトからDrupal 8 APIをどのように使用できますか?


3
Drupal7サイトのパフォーマンスを向上させるにはどうすればよいですか?[閉まっている]
休業。この質問には、より焦点を当てる必要があります。現在、回答を受け付けていません。 この質問を改善してみませんか?質問を更新して、この投稿を編集するだけで1つの問題に焦点を当てます。 5年前休業。 Drupalを初めて使用する人にとっては、Drupalキャッシングで利用できるリソースがたくさんあるようですが、どれを使用すればよいかわかりません。
10 7  caching  performance 

7
翻訳されたノードへのパスを取得する方法は?
Drupal 7で多言語サイトをセットアップしました。テンプレートで、特定のコンテンツノードへのリンクを追加する必要があります。このノードには、次のような変換とパスエイリアスがあります。 node/42 = pathalias_de (german version) node/43 = pathalias_en (english version) テンプレートurl()で、現在の言語でコンテンツノードのエイリアスバージョンへのリンクを取得するために呼び出します。 ドイツ語のページでは/de/pathalias_de、英語のページにリンクする必要があります/en/pathalias_en nidを呼び出す、エイリアスを呼び出す、現在の言語オブジェクトをに渡すなど、いくつかのバリエーションを試しましたurl()。 これは何かurl()できるはずですか、それとも別の機能が必要ですか?ありがとう!

3
Ajaxの成功後にDrupal.attachBehaviorsをトリガーする方法
リンクをクリックしたときにajaxを介してノードを更新するモジュールがあります。 リンクはトグルです。最初のクリックでノードを値1で更新し、その後のクリックで値0でノードを更新する必要があります。 以下のコードは、ページの読み込み後の最初のクリックでは機能しますが、その後のクリックでは機能しません。クリックするたびにDrupal.attachBehaviorsを呼び出し/トリガーする必要があると思いますが、これを行う方法がわかりません。 モジュール function mymodule_menu() { $items['mypath/%/%/ajax'] = array( 'title' => 'My title', 'page callback' => 'mymodule_ajax_callback', 'page arguments' => array(1,2), 'access arguments' => array('access content'), 'type' => MENU_CALLBACK, ); ... } function mymodule_ajax_callback($id, $status) { //Validation[...] //Node Update using $id as the nid and $status as the field …
10 7  ajax  javascript 


5
smtpでwebformを構成する方法
Webフォームを作成しましたが、SMTP認証を使用してメールを送信するように構成します。SMTP認証モジュールもインストールしましたが、smtpを使用するためのWebフォームをセットアップできるオプションが見つかりません。 これは可能ですか?何かアドバイス?
10 7  webforms 

3
マルチステップ/ウィザードフォーム
Drupal 8のマルチステップ/ウィザードフォームを作成しようとしています。 ユーザーは名、姓のフィールドに入力します 次のボタンをクリックします 詳細情報を記入 送信ボタンをクリックする このようにDrupalの7のための多段階またはウィザード形式に専念多くのリソース現在ありません1と、これは。 一方、Drupal 8のマルチステップ/ウィザードフォームを作成する「Drupal」の方法を理解するのに問題がありました。 私はいくつかの調査を行い、いくつかのアプローチがあると考えました: 新しい構成システムで値を保存する ウィザードフォームインターフェイスを使用する(コアにはまだありません) drupalセッションオブジェクトに値を格納する(存在するかどうか不明) Drupal 8に有効なアプローチはありますか?
10 forms  8 

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