1742202736
2025-03-14 16:36:00
問題ステートメント
Optimizely CMS 12では、動的に生成されたページがコンテナページからURLセグメントを継承します。ただし、特定の場合、一部のページは名前が変更されており、望ましくないURL構造につながります。このシナリオで直面している3つの主要な課題は次のとおりです。
-
URLからコンテナページ名セグメントを無視します。
-
アドオンを使用せずに新しいページにリダイレクトするか、古いURLを新しいURLに手動でマッピングします。
-
CMSにコンテナページを含めることなく、「Webサイトの表示」ハイパーリンクのURLを作成します。
ページの階層と予想される結果
次のページの階層を検討してください。
URLの例
| 元のURL→予想される新しいURL |
|---|
|
|
|
|
|
|
|
|
部分ルーターを使用したソリューション
問題を解決するには、次の手順を実装する必要があります。
URLカスタマイズに部分的なルーティングを使用します
継承するコンテナページ PageData ただし、関連するビューやコントローラーはありません。ツリー内のコンテンツを整理するために頻繁に使用されます。柔軟性を提供するために、開発者はサイト設定ページにオプションのブール設定を導入し、編集者がURLのコンテナページセグメントの可視性を有効または無効にすることができます。
ただし、この例では、構成可能な設定を使用するのではなく、デフォルトでコンテナページのタイプをコンテナページとして扱います。これにより、部分的なルーティングが効果的にURLを動的に解決およびクリーンアップすることが保証され、不要なコンテナページセグメントが省略されます。
コード実装
以下は、これらの変更を処理するためのコードスニペットです。
このアプローチは、よりクリーンなURL構造を保証し、コンテンツ組織の柔軟性を維持しながら不必要な依存関係を回避します。
#部分的なルーティングを使用して最適化のcms #12でURLからセグメントを削除するAdnanのコードネクサス