2

SDL Tridion インターフェイスで公開されたオブジェクトの絶対 URL を見つける方法はありますか?

たとえば、ページを公開したときに、そのページにアクセスするための URL を見つけるにはどうすればよいですか?

4

5 に答える 5

6

Tridion 2011 PowerToolsには、「ステージングで開く」と「ライブで開く」の 2 つのボタンが含まれています。

于 2012-02-18T14:23:22.290 に答える
5

C# tbb ライブラリでコードを探している場合は、ページと構造グループの PublishLocationUrl プロパティを使用できます。

StructureGroup.PublishLocationUrl または Page.PublishLocationUrl

これは、アイテムが公開されているかどうかに関係なく URL を返します。Pag​​e と StructureGroup は ReposityObject クラスを拡張するため、通常、ページが公開されているターゲットに ReposityObject が公開されているかどうかを確認するためのチェックを実行します。たとえば、次のようになります。

if (PublishEngine.IsPublished(myReposityObject, myEngine.PublishingContext.PublicationTarget))
{
 // page or sg is published!
}

注: myEngine は Engine オブジェクトのインスタンスです。

コア サービスでこれを行う場合は少し異なります。以下に示すように、Page または StructureGroup オブジェクト プロパティ LocationInfo からキャストされる PublishLocationInfo オブジェクトを作成する必要があります。

PublishLocationInfo pubInfo = (PublishLocationInfo)page.LocationInfo;
return pubInfo.PublishLocationUrl;
于 2012-02-20T13:42:44.117 に答える
4

Tridion では 1 つのページを複数のターゲット (= Web サイト) に公開できるため、これはあまり簡単ではありません。実際、ページには多数の URL が含まれている可能性があります。

ただし、最適なオプションは、ページを開いて [情報] タブをクリックすることです。ファイル パスは、\about\press\2011 のようになります。バックスラッシュをスラッシュに置き換え、ページのファイル名とファイル拡張子を追加します ([全般] タブにあります)。すべてを Web サイトのルート URL の後ろに置きます (例: http://www.mysite.com ')。

于 2012-01-13T11:35:32.237 に答える
4

Tridion は、PublishLocationUrl プロパティで URL のパスを公開します。これには、TOM.NET API を使用するか、Internet Explorer のアドレス バーに TCMURI を入力してアイテムの生の XML を表示することでアクセスできます (例: tcm:4-264-64)。

ただし、どちらの場合も、URL のパス部分が返されるだけです。Quirijn が既に述べたように、正しいベース URL を前に付ける必要があります。

于 2012-01-13T17:26:42.407 に答える
0

過去に、私はパブリケーション ターゲットの宛先のプロトコル スキーマを拡張することに頼りました。そこに baseURL プロパティを追加すると、イベント システム コードからこれにアクセスできます (ワークフローの承認者にリンクをメールで送信するというアイデアでした)。最近では、アプリケーション データを使用して同じことを行うことができます。

于 2012-05-22T12:42:05.353 に答える