Joomla 3のURLから記事IDを削除しようとしています。私は周りを検索し、応答は中にあります
_components\com_content\router.php
_
$advanced = $params->get('sef_advanced_link', 1);
で_0
_を_1
_に変更します
行8および29
またコメントアウト
_if (strpos($segments[0], ':') === false) {
$vars['view'] = 'article';
$vars['id'] = (int)$segments[0];
return $vars;
}
_
すべてのコメントがこれに言及しているので、Joomla 2.5では問題なく動作すると思います。
しかし、それは私のJoomla 3.3ウェブサイトで私のために仕事をしません。
各記事のメニュー項目を作成せずにこれを実現するにはどうすればよいですか?
ステップ1
「components/com_content/router.php」を編集して、ステップ2に進みます。
(Joomlaを更新するたびに、この手順をやり直す必要があるでしょう)
ステップ2
(この変更を行うには2つの場所が必要です。1つは上部に、もう1つは中央にあります)これを置き換えます。
$advanced = $params->get('sef_advanced_link', 0);
これとともに:
$advanced = $params->get('sef_advanced_link', 1);
ステップ
交換する
->where($db->quoteName(‘alias’) . ‘ = ‘ . $db->quote($db->quote($segment)));
と
->where($db->quoteName(‘alias’) . ‘ = ‘ . $db->quote($segment));
これで完了です。
Joomlaコードの編集に慣れたくない人のために、サードパーティのSEF拡張機能がSEF URLからIDを削除する機能を提供することを述べます。
誰かが [〜#〜] jed [〜#〜] で見つけることができるSEF拡張機能はたくさんあります:
たとえば SH404SEF は、最も人気があり、使用されているJoomla拡張機能の1つであり、長い歴史と多くのサードパーティによる拡張サポートがありますコンポーネント。
より単純な解決策として、最近、「記事、カテゴリ、タグのSEF URLからIDを削除する」などのいくつかの機能を提供する新しいプラグインを見つけました。機能するシンプルで簡単なソリューション。
*注1:上記の拡張機能はどちらも有料ダウンロードです。
*注2: [〜#〜] jse [〜#〜] にも同様の質問があります。
既存の回答に加えて、新しいルーターがJoomla 3.7.0に含まれ、この問題を修正する可能性があります。
Joomla 3.7.0はまもなくリリースされます。詳細については、以下を参照してください。
https://www.joomla.org/announcements/release-news/5695-joomla-3-7-0-alpha-2-released.html