フラグメントにデフォルトのリソースを含める
画像ファイル (例: .gif、 .jpg、 .jpeg、または .png) をフラグメント セットに直接含めることができます。 画像を、 ドキュメントとメディアなどの他のアプリケーションではなく、フラグメントに保存しておくと便利です。フラグメント セットに画像リソースを含めて使用する方法を学習します。
Liferay DXP 7.4以降の場合、フラグメントコレクションはLiferay UIではフラグメントセットと呼ばれます。
リソースとともにフラグメント セットをインポートする
新しいLiferay インスタンスを起動し、以下を実行します。
docker run -it -m 8g -p 8080:8080 liferay/portal:7.4.3.132-ga132
http://localhost:8080でLiferayにサインインします。 メールアドレス test@liferay.com とパスワード testを使用してください。 プロンプトが表示されたら、パスワードを learnに変更します。
次に、次の手順に従ってサンプルフラグメント セットをインポートし、フラグメント リソースがどのように機能するかを確認します。
-
サンプルリソースフラグメントセットをダウンロードして解凍します。
curl https://resources.learn.liferay.com/examples/liferay-i6r3.zip -Ounzip liferay-i6r3.zip
-
フラグメントセットが利用可能であることを確認します。 サイト メニュー (
) を開き、 デザイン → フラグメントに移動します。 セットがリストに表示されます。 -
I6R3 セットをクリックします。
-
リソース タブを選択します。
books.png画像がリソースリストに表示されます。
リソースを含むフラグメントセットストラクチャー
リソースを含むフラグメント セットは次の構造を使用します。
collection.json: セットを次の形式で説明するテキスト ファイル{"name":"セット名"、"description":"セットの説明"}。[フラグメント名]/: フラグメントのすべてのファイルが含まれます。resources/: セットのすべてのフラグメントで使用できるファイルが含まれます。
または、 フラグメント エディターの リソース タブから画像をアップロードすることもできます。
画像ファイルは、フラグメントの HTML 内で構文 [resources:image-name.extension]を使用して参照されます。 サンプル フラグメント HTML には、次の img 要素があります。
<img
class="card-img-top"
src="[resources:books.png]"
/>

リソース名は大文字と小文字が区別され、参照内の名前と大文字と小文字が正確に一致する必要があります。
CSS で画像リソースのスタイルを設定するには、構文 img[src="[resources:image-name.extension]"]を使用します。
新しいリソースを含める
リソースをフラグメントに含めて参照する方法がわかったので、サンプル フラグメント セットで新しいリソースを使用できます。
-
https://www.freeimages.com/などの画像を
liferay-i6r3.zip/src/i6r3-set/resources/フォルダにコピーし、フォルダを zip 圧縮します。 -
上記と同じようにフラグメント セットを手動でインポートします。
-
フラグメント セットにリソースが含まれていることを確認します。 UI の フラグメント ページで、 I6R3 セット を選択し、 リソース タブをクリックします。 新しい画像がリソース リストに表示されるはずです。

-
セットの フラグメント タブを選択し、 I6R3 カード フラグメントをクリックして、 I6R3 カード フラグメントを開きます。 フラグメント ソースがフラグメント エディターに表示されます。
-
新しい画像リソースを使用するようにフラグメントを更新します。
books.pngをimg要素のsrc="[resources:books.png]"属性から削除し、src="[resources:の後に新しい画像ファイルの名前を入力し始めます。 画像ファイル名の属性値がカーソルの下に表示されます。 その属性値を選択します。
-
フラグメントが新しい画像をレンダリングすることを確認します。

フラグメント セット内のどのフラグメントも、そのセットのリソースにアクセスできます。
これで、画像リソース フラグメント セットの使用方法がわかりました。