0

誰かが私がやろうとしていることを手伝ってくれることを願っていました...

URL パラメーターを受け取り、その特定の都市に基づいてページを動的に生成する動的な「City.aspx」ページを作成したいと考えています。

たとえば、誰かが「City.aspx?city=london」と呼んだ場合、ロンドンに関連するカスタム コンテンツを含むページが作成され、誰かがそのページを「City.aspx?city=manchester」と呼んだ場合、関連するコンテンツを含むページが作成されます。マンチェスターへ。

サイトマップと UrlRewriting の構築を検討しましたが、パラメーターを使用してこの新しいページにリダイレクトできると確信していますが、次に何をする必要があるかわかりません。

誰でも助けてもらえますか?

ありがとう

タクシールート

4

2 に答える 2

2

/city/london/1234 のような URL を作成することをお勧めします。最後の部分はドキュメントの ID です。Umbraco に組み込まれている UrlRewrite 関数を使用すると、URL を内部的に /city.aspx?name=london&id=1234 に書き換えることができます。/config/Urlewriting.config では、書き換えルールを追加できます。上記の場合、次のようなものが必要です。

 <add name="city_rewrite"
       virtualUrl="^~/city/(.*)/(.*)"
       rewriteUrlParameter="ExcludeFromClientQueryString"
       destinationUrl="~/city.aspx?name=$1&amp;cityid=$2"
       ignoreCase="true" />

これを整理したら、City.aspx マクロのコード ビハインドで次のコードを使用して、対応するドキュメントを取得できます。

    // get the city Document Id from the querystring
    string cityID = HttpContext.Current.Request.QueryString["cityid"];

    if (!string.IsNullOrWhiteSpace(cityId))
    {
      // get the cityNode
      Node cityNode = new Node(cityId);
      // do whatever you want with this node, like display it's data
    }

これは .NET マクロですが、もちろん XSLT や Razor コードでも同じことができます。

于 2013-01-20T16:20:16.607 に答える
0

都市ごとに動的な標準の Umbraco コンテンツ以外の情報がある場合は、その「都市」取得パラメーターを介して動的データを取得するためのマクロ (または部分ビュー?) を記述するだけです。次に、UrlRewriting を使用して、URL を標準の Web ページ (/city/london.aspx) のように見せることができます。UrlRewriting は、その URL が /city.aspx?city=london のようにサーバーに表示されるようにします。( http://our.umbraco.org/wiki/reference/packaging/package-actions/community-made-package-actions/add-an-url-rewrite-rule )

マクロでは、「city」get パラメーターをブラケット構文を介してマクロ パラメーターとしてマクロに渡すことができます ( http://our.umbraco.org/wiki/reference/templates/umbracomacro-element/macro-parameters /advanced-macro-parameter-syntax )。または、リクエスト変数 (カミソリ) または Umbraco.library (XSLT) を介して都市パラメーターを取得することもできます。

于 2013-01-19T23:44:51.850 に答える