コンテンツにスキップ
「プリザンター入門」発売中!

リンクされた複数のサイトをリンク関係を保ったまま複製したい

回答

サイトパッケージのエクスポートとサイトパッケージのインポートを使用してください。


概要

リンクされた複数のサイトを同じフォルダ内に配置してください。その後、フォルダ階層からサイトパッケージをエクスポートし、そのままサイトパッケージをインポートすることで、リンク関係を保ったまま複製できます。

また、データを含めエクスポート・インポートすれば、データも同様にリンク関係を保ったまま複製されます。

更に、指定書式で記載することで、スクリプトとサーバスクリプトもリンク関係を保持したまま複製できます。

リンクの親子関係の説明

リンクの親子関係を示した図

制限事項

スクリプト・サーバスクリプト処理文内のID置換の書式

1.4.9.0

スクリプトとサーバスクリプト処理内で// @siteid list start@と// @siteid list end@で囲まれた範囲内の数値型文字列が、インポート後のサイトIDに置換されます。// @siteid list start@は必ず行頭に記載してください。

// @siteid list start@
const siteId = 1000;
const tableIds = [1001,1002,1003,1004];
// @siteid list end@

/* 以下省略 */ 

ID置換の例

サイトパッケージインポート後、サイトIDが2000から採番された例です。

置換前(サイトパッケージ内部の状態)

// @siteid list start@
const sitePC = 1000;
const masterOS = [1001,1002,1003,1004];
// @siteid list end@
const wiki = 1005;

// 以降でconstの値を使用して処理を行う。
if (sitePc == $p.id())  { /* 何かしらの処理 */ }

置換後(インポート後のプリザンター内部の状態)

// @siteid list start@と// @siteid list end@で囲まれた数値が、インポート後のサイトIDに置換されます。範囲外の数値(wiki = 1005)は置換されません。

// @siteid list start@
const sitePC = 2000;
const masterOS = [2001,2002,2003,2004];
// @siteid list end@
const wiki = 1005;

// 以降でconstの値を使用して処理を行う。
if (sitePc == $p.id())  { /* 何かしらの処理 */ }

関連情報