joomlaシステムプラグインを作成しています。現在のページに記事が読み込まれているかどうかを確認したい。
このために、ビューが記事であるかどうかを確認し、その場合はIDを取得することを計画しました。ただし、sefがオンの場合、これは機能しません。
これを取得する方法はありますか?または、SEFがオンの場合に非sefurlを取得する方法。
これは答えるには遅すぎるかもしれません。:)しかし、同じ問題を抱えている他の人はこのコードを使用できます-システムプラグインでonAfterRouteイベントを使用する必要があります。これを試して-
function onAfterRoute()
{
$option = JRequest::getVar('option');
$view = JRequest::getVar('view');
}
これは、SEFがオンかオフかに関係なく、常に「オプション」と「ビュー」の部分をキャッチする必要があります。同様に、URLの他の部分をキャッチできます。
編集:Joomla 3.xについては、JInputを使用する必要があることに注意してください
$jinput = JFactory::getApplication()->input;
$option = $jinput->get('option');
$view = $jinput->get('view');
また、ビュー変数を確認することもできます。これは、カテゴリのブログレイアウトなど、記事ページに特にアクセスしていないことを意味するレイアウトが他にもあるためです。
variables
あなたがそれを望むときにあなたはこの行によってあなたを得ることができます:
$yourVariable = JRequest::getVar('yourVariableName');
念のために言っておきますが、関数内で変数をに渡し、関数router.php
内で変数を返したときに変数を配置します。yourComponentNameBuildRoute
$segment
yourComponentNameParseRoute
$var
詳細については、こちらをご覧ください:http: //docs.joomla.org/Supporting_SEF_URLs_in_your_component