Ckエディターからコンテンツ本文へのリンクを/node/7
として追加しました。このページを表示するとき、www.sitename.com/example/alias
を表示します。
これはdrupal 7(私のサイトの以前のバージョン))では正常に機能していますが、どのモジュールがこの機能を実行するかはわかりません。
pathauto
、redirect
、pathologic
モジュールをインストールしました。また、admin/config/content/formats
でテキスト形式を構成し、病理学的フィルターを最優先に設定しました。しかし、運はありません。
リダイレクトモジュールをインストールした後、ブラウザーでnode/7
を押すと、予期したエイリアスに自動的にリダイレクトされます。しかし、ckeditorにurl alias
を入力した場合でも、コンテンツページには/node/7
のみが表示される必要があります。
上記のモジュールの構成が不足していますか?または、モジュールが不足していますか?
Pathologic
モジュールにhook_pathologic_alter
としてフックが見つかり、ノードパスをURLエイリアスに変換するために使用しました。
このフックを次のように使用しました
/**
* Implements hook_pathologic_alter().
*/
function mymodule_pathologic_alter(&$url_params, &$parts, &$cached_settings){
if ($parts['path'] != '<front>') {
//get the alias for the path and assign it in path
$alias = \Drupal::service('path.alias_manager')->getAliasByPath('/'.$url_params['path']);
//Url::fromUri which Pathologic uses need a path without slash at first, so trim it
$url_params['path'] = ltrim($alias, '/');
}
}
これにより、ノードパスがエイリアスに変換されて渡されるため、Pathologicはエイリアスを使用してURLを形成します。