Re: Expressエンティティをページ属性として表示したい

2021年5月27日 at 15:52

エクスプレス詳細ブロックで表示できます

Re: Expressエンティティをページ属性として表示したい

2021年5月27日 at 16:10
ありがとうございます!
使ってみます!
 

Re: Expressエンティティをページ属性として表示したい

2021年5月27日 at 20:43
▼Expressエンティティをページ属性として表示

1)ページタイプの「出力」でページタイプの初期表示画面を開いて、
 Express詳細ブロックを任意の場所へ追加。

2)「Expressエントリー詳細を編集」画面で
 エントリー:「このページのカスタム属性のエントリーを取得」
 エクスプレスエントリー属性:該当する属性を選択
 データを表示するエンティティフォーム:該当するフォームを選択


これで値自体は表示されるようになりましたが、新たに疑問が出てきました。

各要素に別々のクラスを与えたいのですが、その方法がわかりません。

また、画像属性もエンティティに含まれているので、画像として表示したいのですが、


<div class="form-group">
<div>
<label class="control-label">アイコン画像</label>
</div>
<div>
<a target="_blank" href="/download_file/7/266" class="ccm-attribute-image-file ccm-attribute-image-file-画像">avatar.png</a>
</div>
</div>


のようにファイル名で表示されてしまいます。

/concrete/elements/express/form/view/form.php 内のforeach()で値が動的に取得されているのかな、
という程度までは理解できましたが、具体的に各属性を判別するにはどうしたらよいのでしょうか?
最適な方法があればご教示いただければ幸いです。

よろしくお願いいたします。
 

Re: Expressエンティティをページ属性として表示したい

2021年5月28日 at 7:38
この辺りを参考にしてください。
http://documentation.concrete5.org/developers/express/using-the-express-entry-block-to-output-entry-data
 

Re: Expressエンティティをページ属性として表示したい

2021年5月28日 at 12:50
hissyさん、ありがとうございます!

無事カスタムテンプレートで値を取得することが出来ました。


if (isset($entry) && is_object($entry)) {
$name = $entry->getName();
$department = $entry->getDepartment();
$memo = $entry ->getMemo();
$img = $entry ->getImages();
}


※Name、Department、Memo等はエンティティ名

エンティティ名で自動的にメソッドを作ってくれるんですね!(スゴイ。)

大変勉強になりました、ありがとうございました!