標準のプレフィックスではなく、言語のサフィックス(-engまたは-fraの形式)を使用できるようにするカスタムモジュールを作成しています。
言語の構成済みのプレフィックスを使用しており、いくつかの機能を備えています。
私はhook_language_negotiation_infoを実装し、言語セレクター、スイッチャー、リライターを配置しています。
メニューやその他の場所に印刷されたときにURLがサフィックスで更新されないことを除いて、サフィックスが付いたパスは機能します。
関数にdsm()呼び出しを配置することでリライタコールバックが呼び出されていることを確認し、「node/45」を取得し、エイリアスに基づいて「page/45-eng」を返しているようです。そのエイリアスパスは機能しますが、 "node/45"へのURLは "page/45"を返します
function custom_lang_language_negotiation_info() {
return array(
'custom_language_provider' => array(
'callbacks' => array(
'language' => 'custom_lang_language_getter',
'switcher' => 'custom_lang_language_switcher_url',
'url_rewrite' => 'custom_lang_url_rewriter',
),
'file' => drupal_get_path('module', 'custom_lang') . '/custom_lang.inc',
'weight' => -10,
'types' => array(LANGUAGE_TYPE_CONTENT, LANGUAGE_TYPE_INTERFACE, LANGUAGE_TYPE_URL),
'name' => t('Custom path suffix'),
'description' => t('Determine the language from the URL suffix.'),
'cache' => 0,
),
);
}
私が試すことができる考えや何か?
URLの生成方法に何か足りない、またはパスがどこかに戻されている可能性があります。