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

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

1
すべてのURLを変更して追加情報を含める
URLを変更するために利用できるフックは何ですか?たとえば、有効にする/en/node/1と、のままにするのではなくなどのURLを提供する言語モジュールがあります/node/1。 他の機能を損なうことなくアクセスできるように、URLに同様のものが必要です。 これはどのように達成されますか?
8 7  routes 

2
メニューツリーとは別にサブメニューを表示するにはどうすればよいですか?[閉まっている]
休業。この質問には詳細または明確さが必要です。現在、回答を受け付けていません。 この質問を改善してみませんか?詳細を追加し、この投稿を編集して問題を明確にしてください。 3年前休業。 メニュー項目のすべての第3レベルのサブメニューを、それぞれが独自の表示ブロックに表示しようとしています。メニューブロックモジュールを試しましたが、アクティブなトレイルでしか機能しないようです。つまり、3レベルのメニューだけを個別のユニットとして表示するのではなく、2レベルと3レベルのすべてのメニューを1つのユニットとしてしか表示できません。 メニューブロックモジュールに加えて、このコードで直接メニューツリーにアクセスしてみました。 $main = menu_navigation_links('main-menu', '2'); echo theme('links__system_main_menu', array( 'links' => $main, 'attributes' => array( 'id' => 'main-menu', 'class' => array('links') ), )); ?> メニュー構造は次のとおりです。 - Parent Menu 1 - Parent Menu 2 - Child Menu A - SubChild Menu 1A - SubChild Menu 2A - SubChild …
8 theming  routes 

2
メニューリンクを変更するためのhook_translated_menu_link_alter()に相当するものは何ですか?[重複]
この質問にはすでに回答があります: レンダリングする前にメニューリンクのアクセスを変更する (3つの回答) 先月休業。 Drupal 8のメニューリンクを変更したいのですが、Drupal 7ではを使用してこれを実現できhook_translated_menu_link_alter()ます。 function module_translated_menu_link_alter(&$item, $map) { global $user; if (!empty($item['access'])) { // Administrator will access all menu's. if (strpos(current_path(), 'admin/structure/menu/manage/' . $item['menu_name']) === 0 && user_access('administer menu')) { return; } // If userid is equal to menu user id. if ($user->uid == 1) { $access …
8 8  routes 

3
単一のルートパラメータのスラッシュ、または動的な数のパラメータを持つメニューテールを処理する他の方法
Symfonyのドキュメントによると、以下のように定義されたルートは、/hello/bobとの両方に対して指定されたコントローラーをトリガーする必要があります/hello/bob/bobby: _hello: path: /hello/{names} defaults: { _controller: \Drupal\mymodule\Controller\Main::Controller } requirements: _access: 'TRUE' names: .+ param へ/hello/bob/bobbyのリクエストの場合、{names}"bob / bobby"(スラッシュはそのまま)であり、それを複数の変数に分割するか、単一の文字列のままにするかは、コントローラー次第です。そのトリックは、その{names}パラメーターをフィルターするために使用される変更された正規表現( "。+")です。 このstackoverflowの投稿は、カスタムregexを使用してルートパラメータでスラッシュを許可できることも意味します(少なくともSymfony 2では)。 Drupal 8.0.0-beta15に対してこれを試しても機能せず、指定されたコントローラーはへの要求に対してのみトリガーされます/hello/bob。しかし、私はこれがあることを確認することができますに使用し、以前のベータ版での仕事(私は〜beta13までだと思います)。 DrupalがSymfonyルーティングコンポーネントと統合する方法に、これを説明するような変更がありましたか?おそらく、ルーティングパラメータでスラッシュを渡す別の方法がありますか?コアでSymfony 3.0への動きがあることは知っていますが、それが説明できるかどうかはわかりません。 また、ルートサブスクライバーが動的ルート構造を管理できることも知っています。ただし、私が取り組んでいるケースでは、基本パスの最後にほぼ無限の組み合わせ/数の動的パラメーターが必要です(ただし、コントローラーで解析するのは簡単です)。また/hello?names[]=bob&names[]=bobby、この場合はクエリ文字列(など)を回避しようとしています。 主に、Symfonyのドキュメントとの切断について混乱しています。 その他の注意事項 この質問を投稿した後、私はD8コア・キューにこの議論を発見しました:[ディスカッション]ドロップが追加の引数を渡すの自動化:Y / N。「メニューテール」サポート(基本的に私が求めているもの)は正式にD8で廃止されると結論付けているようです。その議論は3年前に終わったので、より一般化された実装の詳細の一部は最近まで完全に実現されていなかったと推測できます(〜beta13)。これが、この変更に気づいたのはなぜかを説明しているのかもしれません。 Drupal(Symfonyではない)が、symfony固有のルーティングロジックがルート(およびparam固有の正規表現など)をさらに分析する前に、スラッシュで区切られた生のリクエストに基づいて404応答を生成していると思います。この場合、上記の手法が機能しなくなった理由を説明できます。ただし、クエリパラメーターとカスタムルートサブスクライバーの使用を回避する、このニーズに対処する別の方法があるかどうかはまだ疑問です。
8 8  routes 

2
hook_menuのアクセスコールバックでユーザーをリダイレクトすると、望ましくない影響がありますか?
この回答は、ユーザーがアクセスしようとしているページへのアクセスを許可されていない場合に、ユーザーを特定のページにリダイレクトする最良の方法についての議論につながりました。 1つのオプションは、アクセスコールバックをtrueに設定してから、ページコールバックでユーザーをリダイレクトすることです。これは有効なようですが、ページコールバックでアクセス機能とページ作成機能を混在させていると思います。 例えば function hook_menu() { $items['player/my_page'] = array( 'title' => t('My Page'), // note this is a required parameter 'access callback' => TRUE, 'page callback' => 'some_function', ); return $items; } function some_function() { global $user; if(!$user->uid) { // here checking if the user is logged in but could …

2
ノードが表示されているときに関数を呼び出す方法は?
ノードページを表示するときはいつでも、関数を呼び出したいのですが、その方法がわかりません。 hook_menu()パスをnode /%として使用して宣言し、そのパスにコールバック関数をアタッチする必要があると考えていました。それは正しい方法ですか、それとも正しい/より良い方法がありますか?
8 7  nodes  routes 

1
t()の出力でvarsを囲む「<em class =” placeholder“> </ em>」をオフにする方法は?
私のモジュールでは、を使用してブロック内にメニューを表示しますdrupal_render(menu_tree('my-menu'))。 出力では、で出力された変数t()がで囲まれてい&lt;em class="placeholder"&gt; &lt;/em&gt;ます。 Drafts &lt;em class="placeholder"&gt;(4)&lt;/em&gt; Inbox &lt;em class="placeholder"&gt;(2)&lt;/em&gt; これをオフにするにはどうすればよいですか?
8 7  routes 

1
メニュー項目を画像に置き換える
通常のテキストリンクではなく、メニュー項目を画像(ロールオーバー付き)として表示する方法を探しています。私はモジュールMenu Iconsを見つけましたが、その名前が示すように、リンクの横にアイコンを配置するように設計されています。誰かがこれを行うためのテクニックを持っていますか?たぶん、私はある種のカスタムブロックまたはパネルを作成する必要がありますが、もっと簡単な方法があるのではないかと思いました。

1
独自のメニューを持つカスタムモジュール?
私は3番目のカスタムモジュールを作成中であり、これは私の最大の課題です。私はhook_menuを使用してメニュー項目を生成する方法を知っています。選択したパスに応じて、それらがサイトのどこに表示されるかを決定します(管理メニューやメインメニューなど)。 私の質問は、作成したパスが「プライマリリンク」や「ナビゲーション」ではなく、独自の「カスタムモジュール」メニューに表示されるように、新しいメニューを指定するにはどうすればよいですか。
8 7  routes  hooks 


3
hook_menu_link_alter()が機能しないのはなぜですか?
テーマのプライマリリンクを展開したいので、次のコードをカスタムモジュールに挿入します。 function mymodulename_menu_link_alter(&amp;$item, $menu) { if ($item['menu_name'] == 'primary-links') { $item['expanded'] = 1; } } page.tpl.phpでを使用print theme('links', $primary_links)しましたが、プライマリリンクが拡張されませんでした。どうして?
7 7  routes 

2
drupal 8のメニューでli要素(現在のページ)にクラスを追加する方法
私がいるページのdrupal 8のメニューのli要素にクラスを追加したいと思います。たとえば、スタートページにいる場合、そのliにはアクティブなクラスがあります。または、[参加]ページにいる場合、参加のli要素にアクティブなクラスがあります。 &lt;ul class=""&gt; &lt;li class="active"&gt;&lt;a href="#" &gt;START&lt;/a&gt;&lt;/li&gt; &lt;li class=""&gt;&lt;a href="#" &gt;About&lt;/a&gt;&lt;/li&gt; &lt;li class=""&gt;&lt;a href="#" &gt;join&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt; では、liがアクティブかどうかを確認するにはどうすればよいですか? {% for item in items %} {% if item=SOMETHING %} &lt;li class="active"&gt; &lt;a href="{{ item.url }}"&gt;{{ item.title }}&lt;/a&gt; &lt;/li&gt; {% else %} &lt;li &gt; &lt;a href="{{ item.url }}"&gt;{{ item.title }}&lt;/a&gt; &lt;/li&gt; {% …
7 routes  8 

3
翻訳されていないメニューリンク
Drupal 7と国際化モジュールもインストールしました。基本的なサイトを追加して翻訳できます。言語を切り替えるときにうまく機能するローカライズされたURLエイリアスを追加することもできます。機能しないのは、メニューの翻訳です。記事を翻訳するとき、言語ごとに異なるメニュー名を選択できますが、すべての言語のメニューには英語版のみが表示されます。 なぜこれが起こり得るのか誰かが手掛かりを持っていますか?

1
ビューで定義されたパスに「アクセスコールバック」関数を追加する方法
Drupal 7、Views 3、および hook_menu_alter function MYMODULE_menu_alter(&amp;$items){ $items['client/place/%'] = array( 'access callback' =&gt; 'custom_function', ); } ビューの可視性(アクセス)をオーバーライドし、キャッシュもフラッシュしますが、これは機能しないようです。これを解決する方法について誰かにいくつかの光を与えることができます。これは、ビューによって定義されたパスをオーバーライドする正しい方法ですか? 前もって感謝します
7 7  views  routes 

1
コールバックで$ _POSTデータを取得するにはどうすればよいですか?
大まかに次のようにhook_menuを実装しました。 function sample_menu() { return array( 'path/to/things' =&gt; array( 'page callback' =&gt; 'callback_function', 'access arguments' =&gt; array('access content'), 'page arguments' =&gt; array(), 'type' =&gt; MENU_CALLBACK ) ); } このURLにデータを投稿できるようにしたい。つまり、$ _ POSTは次の配列です。 array( 'data1' =&gt; 'value1', 'data2' =&gt; 'value2', ) コールバック内で$ _POST ['data1']および$ _POST ['data2']にアクセスするにはどうすればよいですか?$ _POSTへの直接アクセスは機能しないようです(var_dumpedが空である)。
7 routes 

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