タグ付けされた質問 「8」

バージョンタグは、サイトが使用しているバージョンを単に示すだけでなく、バ​​ージョンにのみ適用される質問に使用する必要があります。

2
宛先パラメータが設定されていても、送信ハンドラで強制的にリダイレクトする
カスタムサブミットハンドラーを追加し、フォームがサブミットされた後にカスタムルートにリダイレクトします。 これは私が使ったものです use Drupal\Core\Form\FormStateInterface; use Symfony\Component\HttpFoundation\Request; use \Drupal\Core\Url; function MYMODULE_form_alter(&$form, FormStateInterface $form_state, $form_id) { if ($form_id == 'node_trends_form' || $form_id == 'node_trends_edit_form') { foreach (array_keys($form['actions']) as $action) { if ($action != 'preview' && isset($form['actions'][$action]['#type']) && $form['actions'][$action]['#type'] === 'submit') { $form['actions'][$action]['#submit'][] = 'zyetondev_sync_trends_submit'; } } } } function zyetondev_sync_trends_submit(array $form, FormStateInterface …
9 8  redirection 

1
Drupal 8でエンティティクエリをデバッグするにはどうすればよいですか?
Drupal 8でエンティティクエリのクエリを印刷するためのすぐに使えるソリューションはありますか? 現在、私は一種のハックを使用しています: ->addTag('debug') そしてカスタムモジュールで: function mymodule_query_alter($query) { if ($query->hasTag('debug')) { mymodule_query_debug($query); } } そしてデバッグ関数: function mymodule_query_debug($query) { $sql = (string) $query; $quoted = array(); foreach ((array) $query->arguments() as $key => $val) { if (is_array($val)) { $val = implode(', ',$val); } $quoted[$key] = \Drupal::database()->quote($val); } $sql = strtr($sql, $quoted); $sql …
9 8  database 

2
HTMLを含む変数をt()関数を介して渡す-!プレースホルダーは削除されました
Drupal 8では、!(感嘆符)t()関数を含むプレースホルダーは削除されました。 HTMLを含む変数があります。 <span class="fullname_wrapper"><span class="first_name">John</span> <span class="last_name">Hancock</span> <span class="account_name_wrapper">(@JohnH)</span></span> このHTMLは、サイトのどこにでも表示されるように特別にスタイル設定されるので、保持しておきます。 Drupal 7では、これを行うことができました。 t('Your name is !name', array('!name' => $name)); $ nameには、上記のHTMLが含まれています。ただし、Drupal 8では、感嘆符のパススループレースホルダーが削除されているため、これは機能しません。 私はこれを試しました: t('Your name is :name', array(':name' => $name)); しかし、HTMLはまだエスケープされています。 @マークもHTMLをエスケープします。 D8のt()関数を介してHTMLを渡す方法を知っている人はいますか? 更新: No Sssweatのコメントによると、私の!markはt()で機能するようです。だからここに私の実際のコードがあります: drupal_set_message( $this->t( "@amount has been transferred to !account", array( '@amount' => '¥' . …
9 8  i18n-l10n 

4
カスタム画像スタイルでpage.html.twigの画像フィールドをレンダリングする
各ページに固有のスライドショーを設定しようとしています。このためのコードはにある必要がありますpage.html.twig。スライドショーはほとんど機能していますが、特定のサイズのカスタム画像スタイルではなく、完全な画像URLのみを呼び出すことができます。このコードを変更して特定の画像サイズを呼び出すにはどうすればよいですか? {% for key, item in node.field_slides %} {% if node.field_slides[key].entity %} <figure class="swiper-slide"> <img class="swiper-image" src="{{ file_url(node.field_slides[key].entity.uri.value) }}" alt="{{ node.field_slides[key].alt }}" /> {% if node.field_slides[key].title %} <figcaption class="swiper-caption"> <div class="swiper-user-content user-content"> {{ node.field_slides[key].title|striptags("<a>,<h1>,<h2>,<h3>,<h4>,<h5>,<h6>,<ol>,<p>,<table>,<ul>")|raw }} </div><!--/.swiper-user-content.user-content--> </figcaption><!--/.swiper-caption--> {% endif %} </figure><!--/.swiper-slide--> {% endif %} {% endfor %} 私がURLを呼び出しているビットは次のとおりです。 {{ file_url(node.field_slides[key].entity.uri.value) …
9 8  theming  media 

4
プログラムでノードの分類用語を設定するにはどうすればよいですか?
ノードの分類を設定するのにいくつかの問題が発生しました。現在、私はこのコードを使用しています。 $node = Node::create(array( 'type' => 'detailseite', 'title' => $data[$headlineIndex], 'langcode' => 'de', 'uid' => '1', 'status' => 1, 'field_headline' => $data[$headlineIndex], 'field_intro' => $data[$introIndex] . $categories[$data[$categoryIndex]], 'created' => $data[$dateIndex], 'field_autor' => $data[$autorIndex], 'field_teaser_text' => $data[$shortIndex], 'field_fields' => array(), )); $node->save(); これまでのところうまくいきます(「詳細」のフィールドの画像の下)。 すべてが正しく設定され、正しく動作する管理領域で新しく作成されたノードを見つけることができます。次に、分類法へのエンティティ参照である「field_meldungstyp」を設定する必要があります。 これにはすでに3つのエントリが含まれています。 プログラムで作成したノードを取得して、 "field_meldungstyp"を "Meldungstyp" -Vocabularyの "Artikel"に設定します。 私はすでに追加しようとしました: …

2
別の言語でフロントページにリダイレクトする
異なる言語のページへのリダイレクトについて質問があります。drupal 7のこの古い投稿を見つけましたが、実際には役に立ちません-https://www.drupal.org/node/1280468 これでDrupal 8になり、リダイレクトは次のように機能します。 return new RedirectResponse(\Drupal::url('<front>')) しかし、リダイレクトの言語を設定するにはどうすればよいですか?私のコードには、ニュージーランドのNZのような言語コードがあります。
9 8  redirection 

3
プログラムで語彙用語を削除する方法は?
語彙からすべての用語を削除したいが、語彙自体は削除したくない。 データベースでそれを行うことができますが、D8で利用可能な場合はむしろAPIを使用します。 $existingTerms = \Drupal::entityTypeManager()->getStorage('taxonomy_term')->loadTree('mycustomvocab'); foreach ($existingTerms as $existingTerm) { // Delete vocabulary term *** This function is not available in D8 *** taxonomy_term_delete($existingTerm->tid); // Delete vocabulary - *** Not what is required *** /* $vocab = Vocabulary::load($existingTerm->vid); if (!is_null($vocab)) { $vocab->delete(); } */ } これは、私がより良い解決策を見つけるまで、現時点でそれをやっている方法です db_query("DELETE FROM {taxonomy_term_hierarchy} WHERE …

2
フィールドタイプを変更するにはどうすればよいですか?
タイプがText(プレーン、ロング)であるfield_mapsを持つコンテンツタイプがあります。テキスト(プレーン)に変更する必要がありました。 したがって、次のSQLステートメントを実行しました。 ALTER TABLE node__field_maps MODIFY field_maps_value VARCHAR(200); field_typeがに変更されたようですVARCHAR(200)が、まだ問題が1つあります。コンテンツタイプと管理フィールドのタブで、フィールドがText(plain、long)として表示されます。 テキスト(プレーン)に変更するにはどうすればよいですか?
9 entities  8  database 

1
Drupal 8カスタムテーマからすべての「安定した」テーマのCSSを削除する
安定したテーマから自動的に含まれるすべてのCSSを削除したい: /core/themes/stable/css/system/components/* .info.ymlファイル内で1つずつ削除できます。 stylesheets-remove: - 'core/themes/stable/css/system/components/ajax-progress.module.css' - 'core/themes/stable/css/system/components/autocomplete-loading.module.css' - ... それらすべてを一度に削除する方法はありますか? 何かのようなもの: stylesheets-remove: - 'core/themes/stable/css/system/components/*'
9 theming  8 


3
ページのタイトルを取得
一部のページでタイトルを取得すると、Homeなどの空のタイトルが表示されます。私のサブスクライバーで使用しているコードは次のコードです。 class HistorySubscriber implements EventSubscriberInterface { public static function getSubscribedEvents() { $events[KernelEvents::REQUEST][] = array('onResponse', 0); return $events; } public function onResponse($event) { $request = \Drupal::request(); $route_match = \Drupal::routeMatch(); $title = \Drupal::service('title_resolver')->getTitle($request, $route_match->getRouteObject()); } } 問題ですか?どうすれば修正できますか?
8 8 

2
DrupalサービスOAuth
私はこの問題に数週間取り組んでいますが、私の人生の解決策を見つけることができません。(DrupalのWebサイトや他のどこかで)適切なドキュメントが見つからなかったという事実も役に立ちません。そして、すでにここにある質問は時代遅れです(Services 2.x)。 Drupal Commerceが支援するサイト用のRESTサービスを作成しようとしています。現時点では、サービスが行う必要があるのは、Orderリソースでの基本的なCRUD操作を許可することだけであり、OAuthで保護されているため、OAuth 2.0は必要ありません。また、サーバー上のスクリプトを使用して呼び出す必要があるため、ログインのリダイレクトは不可能です(すべてが2-legged認証で行われます)。 現在のスタックは: PHP 5.3.15 Drupal 7.15 コマースキックスタートプロファイル(7.x-2.0-rc1) サービス7.x-3.2 OAuth 7.x-3.0 + 18-dev OAuth認証7.x-3.2 RESTサーバー7.x-3.2 Commerce Services 7.x-1.x-dev(これは、カスタム注文コードを追加したモジュールです) OAuth PHPライブラリを使用し、トークン要求を毎回呼び出すだけで、取得/インデックス関数をOrdersで機能させることができます(認証されていることを除いて、そこで何が行われているのかさえわかりません)。注文にPOSTして注文を作成しようとすると、OAuthが無効になっている場合でも、スクリプトで406を取得し、Google ChromeのRESTコンソールから直接POSTリクエストを試行すると401を取得します。 作成関数の内部で何が起こっているのか私にはわからないので、これはデバッグを悪夢にしました。注文作成ロジックを取り除いて、リクエストペイロードをエコーバックしました。それでも406/401エラーが発生します。 注文にはユーザー認証が必要なため(サービスでOAuthがオフになっている場合でも)、401エラーが発生すると思います。 しかし、なぜ406エラーが発生するのか理解できません。私は、RESTサーバーが返すように設定されているapplication / jsonを受け入れます。 注文作成ロジックをコメントアウトする前でも、注文は作成されていませんでした。(サイトの他の場所で効果的に使用しているものです。) 事前に感謝します。 -T

1
Ajaxフォームが送信されないようにする方法
以下のコードは、非ajaxフォームの送信をブロックします。 $(this.form) .on('submit', function(event) { if (/* Some condition */) { event.preventDefault(); } }); Drupal 8では、Ajaxフォームの送信をどのようにブロックできますか? Ajaxフォームはフォーム送信ハンドラーをトリガーせず、Ajax化されたフォームの送信ボタンでクリックイベントをブロックできませんでした。 参考までに、問題#3010084を修正しようとしています。ファイルのアップロードが完了する前にフォームの送信が完了します
8 8  forms  ajax  webforms 

1
drupalはドラフトを放棄しましたか?
私は2〜3年間ドルパルから離れています。私は戻って来て、drushをcomposerを介してインストールしました(drushサイトが推奨するように)。今、drushを使おうとするたびに、composerを使用するべきであるというメッセージが表示されます。 ~/sites/d7 $ drush version Drush version : 9.0-dev-gd4a3872 ~/sites/d7 $ drush dl drupal-7.x [notice] dl has been deprecated. Please build your site using Composer. Add new projects with composer require drupal/[project-name]. Use https://www.drupal.org/project/composer_generate to build a composer.json which represents the the enabled modules on your site. これらのcomposerを介したdrupalのインストール手順に従って drupal 8をダウンロードしましたが、そのプロジェクトでdrushを使用しようとすると、次のメッセージが表示されます。 …
8 8  drush  composer 

3
現在の選択をエンティティブラウザーの選択ビューに渡す方法
私が使用していますエンティティブラウザカスタムエンティティのエンティティ参照ベースフィールドのためのフォームウィジェットとして(Drupalの8で2.xの-devのを)。エンティティブラウザが構成されている モーダルディスプレイとして、 単一のウィジェットで、 選択表示なし、 エンティティブラウザーの一括選択フィールドを持つビューをウィジェットとして使用し、 選択したエンティティを参照フィールドの現在の選択に追加します。 エンティティの選択は正常に機能しています。ただし、エンティティ参照フィールドには重複があってはなりません。 重複のないエンティティの選択を容易にするために、エンティティブラウザビューの結果から既に選択されているエンティティをフィルタリングします。したがって、ユーザーには選択されていないエンティティのみが表示されます。 この目的のために、エンティティIDのコンテキストデフォルト引数としてエンティティブラウザー選択ストレージを公開するカスタムビューargument_defaultプラグインを作成しました。 <?php namespace Drupal\my_module\Plugin\views\argument_default; use Drupal\Core\KeyValueStore\KeyValueStoreExpirableInterface; use Drupal\views\Plugin\views\argument_default\ArgumentDefaultPluginBase; use Symfony\Component\DependencyInjection\ContainerInterface; /** * The entity browser selection argument default handler. * * @ViewsArgumentDefault( * id = "entity_browser_selection", * title = @Translation("Entity Browser Selection") * ) */ class EntityBrowserSelection extends ArgumentDefaultPluginBase { /** * …
8 8 

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