Using Widget Pages
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

ウィジェットページをコンテントページに変換する

以前のバージョンでは、ウィジェットページにはカスタムレイアウトやカスタマイズ可能な列など、独自の機能が提供されていました。 これらの限定機能の多くは、7.3 以降の コンテンツ ページ で利用できるため、コンテンツ ページを作成することが通常は推奨されるオプションです。

以前のバージョンから Liferay Portal 7.3 または 7.4 にアップグレードし、既存のウィジェット ページを移行する場合は、それらをコンテンツ ページに変換できます。 ウィジェットページをコンテンツページにすぐに変換することも、変換結果をプレビューして変更を加え、その後ページを変換することもできます。

変換するページが複数ある場合は、サイト管理画面から一括変換するか、利用可能なAPIと組み込みのスクリプトエディタを使用してすべてのウィジェットページを一度に変換できます。 ここでは、すべてのアプローチについて説明します。

ウィジェットページをプレビューしてコンテントページに変換する

ウィジェットページを変換する前に変換ドラフトをプレビューするには、次の手順に従ってください。

  1. サイトメニュー (Site Menu) を開き、 サイトビルダーページ に移動します。

  2. 目的のウィジェットページの横にある アクション (Actions) を開き、 コンテンツページに変換… を選択します。

  3. 警告を確認し、変換下書きに必要な調整を行います。 この時点で、必要なフラグメントを下書きに追加することもできます。

  4. プレビュードラフトを公開するには、 公開 をクリックするか、ウィジェットページを元の状態に戻すには、 変換ドラフトを破棄 をクリックしてください。 警告がある場合は、以下で説明するように、ベストエフォートの変換が完了します。

ベストエフォートコンバージョン

ウィジェットページの一部の機能はコンテンツページではサポートされていないため、そのまま変換することはできません。 これらの場合、ユーザーには問題が警告され、ベストエフォートの変換が処理されます。 以下のウィジェットページ機能はサポートされていません。

入れ子になったアプリケーション: 入れ子になったアプリケーションは、変換中にレイアウトの同じ列に配置されます。 最善を尽くした変換が完了した後、必要に応じてこれらのアプリケーションを再編成してください。

カスタマイズ可能なセクション: ページが カスタマイズ可能の場合、ユーザーが行ったカスタマイズは変換中に失われます。

カスタムページレイアウト: レイアウトを変換できる場合、レイアウトの構造が保持され、ユーザーに警告が表示され、処理する前に変換下書きを確認する機会が与えられます。 レイアウトを変換できない場合、すべてのウィジェットは単一の行と列に配置されるため、ページの変換後に手動で再編成する必要があります。

カスタムレイアウトテンプレートが変換可能であることを既に確認済みであれば、そのレイアウトテンプレートの変換警告を無効にすることで、そのレイアウトを使用するウィジェットページを変換するたびに警告が表示されないようにすることができます。

グローバルメニュー (Global Menu) を開き、 コントロールパネル設定システム設定 に移動します。

コンテンツ & データの下の ページ を選択し、 ウィジェット ページからコンテンツ ページへのコンバーターに移動して、レイアウト テンプレート ID を検証済みレイアウト テンプレート ID のリストに追加します。

ウィジェットページではポートレットは render-weight に従ってレンダリングされますが、コンテンツページではそうではありません。 ポートレットはコンテンツページに表示される順序(左から右、上から下)でレンダリングされるため、コンテンツページ上の配置によっては、一部のポートレットのレンダリングが早かったり遅かったりする場合があります。

ウィジェットページをコンテントページに直接変換する

  1. サイトメニュー (Site Menu) を開き、 サイトビルダーページ に移動します。

  2. ウィジェットページ、または複数のウィジェットページを選択する場合は、チェックボックスをオンにしてください。 管理ツールバーの アクション (Actions Menu) をクリックし、 コンテンツページに変換 オプションを選択します。

コンテキストメニューから複数のウィジェットページを変換できます。

  1. 表示されたプロンプトで [OK] をクリックして変換を完了します。

APIを使用してすべてのウィジェットページをコンテントページに一括変換する

組み込みのスクリプトエディタを使用すると、サイト上のすべてのウィジェットページをコンテンツページに一括変換できます。

  1. グローバルメニュー (Applications Menu icon) を開き、 コントロールパネルシステムサーバー管理スクリプト に移動します。

  2. スクリプトウィンドウにこのスクリプトを入力します。必ず、グループIDを自分のものに置き換えてください。 Groovy スクリプトは、 BulkLayoutConverter インターフェース を使用して、指定されたグループ ID を持つすべてのウィジェット ページをコンテンツ ページに変換します。

    import com.liferay.layout.util.BulkLayoutConverter
    import com.liferay.portal.kernel.util.ArrayUtil
    import org.osgi.framework.ServiceReference
    import org.osgi.framework.BundleContext
    import com.liferay.portal.kernel.module.util.SystemBundleUtil
    import org.osgi.framework.BundleContext
    
    BundleContext bundleContext = SystemBundleUtil.getBundleContext();
    
    ServiceReference serviceReference = bundleContext.getServiceReference(BulkLayoutConverter.class.getName());
    
    BulkLayoutConverter bulkLayoutConverter = bundleContext.getService(serviceReference);
    
    long groupId = 20118L // Use your groupId
    
    long[] plids = bulkLayoutConverter.getConvertibleLayoutPlids(groupId)
    
    out.println("Convertible layouts before conversion:" + ArrayUtil.toStringArray(plids))
    
    long[] convertedLayoutPlids = bulkLayoutConverter.convertLayouts(groupId)
    
    out.println("Converted layouts:" + ArrayUtil.toStringArray(convertedLayoutPlids))
    
    plids = bulkLayoutConverter.getConvertibleLayoutPlids(groupId)
    
    out.println("Convertible layouts after conversion: " + ArrayUtil.toStringArray(plids))
    
  3. をクリックして を実行すると、スクリプトが実行されます。

  4. 出力は以下のスニペットのようになり、変換可能なレイアウト(ページ)が残っていないことが示されます。

    Convertible layouts before conversion:[25, 26, 27]
    Converted layouts:[25, 26, 27]
    Convertible layouts after conversion: []
    

トラブルシューティング

以下に、ウィジェットページをコンテンツページに変換する際に発生する可能性のある問題点について説明します。

削除されたユーザーが作成したウィジェットページを変換しようとすると、変換が失敗する

削除されたユーザーが作成したウィジェットページを変換しようとすると、エラーが発生して処理が失敗します。

この問題を解決するには、ウィジェットページをコピーし、コピーしたページをコンテンツページに変換してから、元のウィジェットページを削除してください。

ウェブコンテンツ表示ウィジェットの問題

変換されたページにWebコンテンツ表示ウィジェットが存在する場合、Webコンテンツの検索結果をクリックすると、ページコンテキスト外でそのコンテンツが開くことがあります。

コンテンツが正しいページに表示されるようにするには、Webコンテンツ表示ウィジェットを編集して保存し、ページを公開してください。