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

Drupal 8で導入された用語を使用すると、ルートはモジュールが応答するパスです。

2
現在のメニュー構成の背後にある理由は何ですか
私はあまりDrupal忍者ではありません。私がhttp://drupal.org/node/788972で見たものから、 Drupalはメニュー項目をメニューカテゴリの下に作成できるという意味で、Joomlaのようなメニュー構造を持っているようです。必要に応じてアイテムを複数のメニューにリンクできる中央のメニューアイテムセクションとは異なり、なぜこれを使用するのですか? これは私がWordpressで見ることができるものです。後者の方法では、冗長性が低下し、同じリンクの複数のオカレンスを変更する単一のポイントを確認できます。 DrupalがJoomlaやWordPressと比較する方法を理解するのではなく、Drupalメニュー構造の背後にあるロジック/理由を理解したいと思います。

2
メニューブロックのテーマを設定する方法は?
私はカスタムメニュー(「mynav」と呼ぶことにします)を作成しました。私のテーマには、次のblock--menu--menu-mynav.tpl.php内容を含むテンプレート()を作成しました。 <div id="mynav" class="<?php print $classes; ?>"<?php print $attributes; ?>> <?php print $content ?> </div> これは正常に動作します。 ただし、生成されてに含まれる順序付けられていないリストにIDを適用することをお勧めします$content。私はMYTHEME_links__system_mynav_menuこのような関数を作成する必要があると思います: function MYTHEME_links__system_mynav_menu($variables) { return "TEST"; // Generate HTML here (<ul id="mynav">...) } しかし、影響がないようです。 私は何を間違えていますか?
11 7  routes  theming 

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

3
管理メニューとしてのカスタムメニュー
カスタムメニューを取得して管理メニューのように表示するモジュールはありますか? カスタムメニューを作成して、それを管理メニューのように表示したい(一部のロールのみ)。 私はいくつかのモジュールを試しましたが: 管理メニューでは、表示するメニューを選択できませんが、管理者用のデフォルトメニューと「編集者」およびその他のカスタムロール用のカスタムメニューを表示したい スーパーフィッシュやニースのメニューでは、管理メニューとは異なり、ページの上部にメニューを配置できません。 別の解決策は、ページの上部にブロックを配置するモジュールであり、修正されたため、「単純な」スーパーフィッシュメニューを使用できましたが、このようなものは見つかりませんでした。 主な質問は、「デフォルト」の管理メニューではなく、カスタムメニューを使用できないことです。
10 routes 


6
現在のページに基づいて子リンクを出力する方法
他のページのメニュー項目の親であるメニュー項目を持つページに着陸するとき、それらの子メニュー項目のリストを表示できるようにしたいと思います。次のコードを使用しています。 $trail = menu_get_active_trail(); menu_build_tree('main-menu', array( 'expanded' => array($trail[1]['mlid']) )); ただし、返される配列は次のようになります(不要な要素が多数削除されています)。 array '49950 PKY Truck Beauty 312' => array 'link' => & array 'menu_name' => string 'main-menu' (length=9) 'mlid' => string '312' (length=3) 'plid' => string '311' (length=3) 'below' => array '49952 Seminars 314' => array 'link' => & array …
10 routes 

5
相対メニューリンクを作成するにはどうすればよいですか?
Drupalとは別のコンテンツにリンクする必要がある、ローカルホスト上のサイトでの作業で忙しい。 現在のメニューパスは次のように設定されていますhttp://mylocalsite/the_folder_for_the_other_content。<front>/the_folder_for_the_other_contentまたは/the_folder_for_the_other_contentまたはを試すと the_folder_for_the_other_content、「パス 'whatever_I_use'が無効であるか、アクセス権がありません」というエラーが表示されます。 ライブに移行するときは、すべてのメニュー項目をポイントする必要があることは明らかですhttp://myrealsite/the_folder_for_the_other_content。 ライブ配信時にすべてのメニューパスを編集する必要がないように設定するにはどうすればよいですか?
10 routes 

2
メニュー項目タイプを変更するためのhook_menu_alter()に相当するものは何ですか?
Drupal 8でメニュータイプを変更したいのですが、Drupal 7では、hook_menu_alterを使用してこれを実現できます。 function module_menu_alter(&$items) { $items['admin/config/people/ip-blocking/default'] = array( 'title' => 'Block IP Address', 'type' => MENU_DEFAULT_LOCAL_TASK, ); } 同様に、Drupal 8でメニュータイプを変更したいと思います。ありがとうございました。
10 8  routes 

1
ノードにタブ/ローカルタスクを追加する
というモジュールを作成しましたhotel_reviews。 hotel_reviews.routing.ymlを使用してルートノード/ {node} / reviewsを作成しました。 hotel_reviews.content: path: '/node/{node}/reviews' defaults: _controller: '\Drupal\hotel_reviews\Controller\ReviewsController::content' _title: 'Reviews' requirements: _permission: 'access content' 次に、hotel_reviews.links.task.ymlを使用してローカルタスクを追加しようとしました。 hotel_reviews.content: route_name: hotel_reviews.content title: 'Reviews' base_route: node.view weight: 100 私は今では私のコントローラで定義されたコンテンツにアクセスすることができますnode/1/reviewsが、私はに行くとき、node/1私はレビュー]タブが表示されません。 何が悪いのですか? これまでに次のドキュメントを使用しています。 D7からD8へのアップグレードチュートリアル:hook_menu()およびhook_menu_alter()をDrupal 8 APIに変換 モジュール定義のローカルタスクの提供 ルートの構造
10 8  routes 

2
現在のページが管理ページかどうかをテストする方法は?
ある時点で、次のコードを使用して、現在のページが管理ページであるかどうかをテストし始めました。 $route = \Drupal::routeMatch()->getRouteObject(); $is_admin = \Drupal::service('router.admin_context')->isAdminRoute($route); しかし、hook_entity_load()のノード編集ページでこれが失敗することがわかりました。 Drupal 8の管理ページにいるかどうかをどのようにテストしますか?Drupal 7のpath_is_admin()のようなものですか? このページのコード(https://api.drupal.org/api/drupal/includes%21path.inc/function/path_is_admin/7.x)を使用して、hook_entity_loadの外側から同じノード編集ページのパスをテストすると、) できます。 use Symfony\Component\HttpFoundation\Request; use Symfony\Cmf\Component\Routing\RouteObjectInterface; $path = '/node/75/edit'; $request = Request::create($path); $route_match = \Drupal::service('router.no_access_checks')->matchRequest($request); $route = $route_match[RouteObjectInterface::ROUTE_OBJECT]; $is_admin = \Drupal::service('router.admin_context')->isAdminRoute($route); しかし、現在のパスを使用してこのコードをhook_entity_loadに追加しようとすると、致命的なループが発生します。 私が行き詰まっているのは、hook_entity_loadで現在のルートをロードしているところだと思います。
9 8  routes 

2
匿名ユーザーへのアクセスを制限してメニュー項目を表示する
コンテンツへのアクセスを設定するためにプライベートモジュールを使用するWebサイトがあります。もちろん、一部のページにはメニュー項目があります。ページを非公開に設定すると、適切な権限を持つユーザーだけがそれを見ることができます。これは素晴らしいことであり、私が望んでいたことです。 しかし、メニュー項目に少し問題があります。それらに割り当てられたコンテンツが公開されていない場合(つまり、それらに割り当てられたページが非公開である場合)、それらは消えます。これは問題ありませんが、引き続きそれらの項目を表示できるようにしたいと思いますナビゲーションで、ユーザーがそれらをクリックすると、ログインページが表示され、特定のページを表示するために詳細を入力するよう求められます。 したがって、基本的にはメニュー項目の動作を変更して、Webサイトの匿名および登録済みメンバーに常に表示されるようにしますが、それらをクリックすると、ページが表示されます(ログインしている場合) in)またはログインページにリダイレクトされる(匿名の場合) このような解決策を見つけました。そのようなページがたくさんあるので、私には最適な解決策ではないので、より良いアプローチを探しています。メニュー項目の可視性モジュールも試してみましたが、それも役に立ちませんでした! どうすればこれを達成できますか? ルカ
9 7  routes  users 

3
drupalメニューを完全にワイプして再構築する方法は?
少し前に、メニューテーブルを空にして、drush php呼び出しでメニューシステムを再構築する方法を詳しく説明したクールなブログ投稿を見つけました。これらのmysqlテーブルを空にするとサイトが使用できなくなるため、必要です。これにより、新しいDrupalサイトのようにメニューをリセットできます。 誰かがこのテクニックを詳しく説明できますか、そのブログへのリンクはありますか?
9 7  routes  drush 


2
ルートの管理テーマを設定する方法は?
Drupalハンドブックによると、ルート定義はというパラメーターを受け入れます_theme。残念ながら、このパラメーターは"TODO"として文書化されています。 これを使用してルートの管理テーマを強制できますか?ここに管理テーマ名を含む構成パラメーターを挿入することは可能ですか? 他の解決策はテーマネゴシエーターを使用することですが、_themeパラメーターは非常に魅力的で使いやすいように見えます。
9 8  routes 

2
ノードビューにローカルタスクタブを追加する方法 [閉まっている]
閉まっている。この質問はトピックから外れています。現在、回答を受け付けていません。 この質問を改善してみませんか? Drupal Answersのトピックとなるように質問を更新してください。 3年前休業。 ノードの「表示」タブと「編集」タブに追加のタブを追加しようとしています。 モジュールが有効になり、キャッシュをクリアしましたが、新しいタブが表示されません。何が欠けていますか? /** * Implements hook_menu(). */ function add_performance_menu() { $items = array(); $items['node/%node/performance'] = array( 'title' => 'Add a performance', 'page callback' => 'add_performance_action', 'access callback' => TRUE, 'type' => MENU_LOCAL_TASK, ); return $items; } /** * Page callback. */ function add_performance_action() { return …
8 7  routes 

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