0

Drupal に、別の URL のリダイレクトである URL を指定して、元の URL を取得する方法があるかどうかを知りたいです。

つまり、次のような URL とエイリアスがあります: /prices/old-vehicles -> node/112

そして、私はURLリダイレクトを->として持っています

/old-vehicles-pricing -> /prices/old-vehicles

「/old-vehicles-pricing」から「/prices/old-vehicles」を取得する関数を書きたいと思います。

ありがとう。

アップデート

シナリオについて少し詳しく書いてみます。ユーザーが old-vehicles-pricing にアクセスすると、node/112 のエイリアスである /prices/old-vehicle にリダイレクトされるとします。すべて正しい。

ここで、ユーザーが /de/old-vehicles-pricing (ドイツ語版) にアクセスしたとします。その URL リダイレクトは存在しません。その特定のページのリダイレクトを作成することはできますが、一般的な解決策を見つけようとしています。だから私がしようとしているのは、無効な URL をインターセプトし、言語プレフィックスを取り除き、その URL の元の URL を取得することです。つまり、ステップ 1. /de/old-vehicles-pricing へのリクエストをインターセプトします ステップ 2. 「old-vehicles-pricing」を実行します ステップ 3. 元のエイリアスまたは正規 URL を取得します ( /prices/old-vehicles または node/ 112) ステップ 4. 正規 URL の翻訳バージョンを取得します ステップ 5. ユーザーを新しい翻訳済み URL にリダイレクトします

ステップ 3 のみを解決する必要があります。他のすべてのステップを実装しました。

また、ユーザーが開始時に「/de/old-vehicles-pricing」にアクセスしてはならないこともわかっています。しかし、それは私の手に負えないことであり、それが私がこのソリューションを実装しようとしている理由です.

ありがとう

4

1 に答える 1

0

他のページのリダイレクト ユーザー専用のページを作成した理由が理解できない場合でも、カスタム モジュールに書き込むソリューションを次に示します。

<?php
/**
* Implements hook_menu
*/
function mymodule_menu() {
  $menu['old-vehicles-pricing'] = array(
    'title' => 'Old vehicles pricing',
    'page callback' => 'drupal_goto',
    'page arguments' => 'prices/old-vehicles',
    'access callback' => 'whetever-you-want',
  );
  return $menu;
}
?>
于 2014-04-16T12:54:35.147 に答える