インターン二日目です。
今日は一覧画面でURLをリンク付きで表示することと、詳細画面でサムネイル表示する機能までやりました。 velocityの文法やブレークポイント設置の仕方にも少しふれました。
一覧画面でURLリンクを表示することについて、TestListScreenからajax-test-listにたどり着き、要素を検証して、タイトルはどこで生成されたかを探した。それを真似して以下のコードを追加したが
<a href="javascript:void(0);" onclick="aipo.common.showDialog('$!utils.escapeXML($!jslink.getPortletById($!portlet.ID).addQueryData("template","TestDetailScreen").addQueryData("entityid",$record.TestId))');">$!record.Url</a>
このままでは、何も表示されない ブレークポイントを使い、record.Urlの中に何も入ってないことに気づき、TestSelectDataに
rd.setUrl(record.getUrl());
を追加して、無事解決。 この後は見栄えを良くする為に、時間を使い込んでしまいました…(HTMLの知識がなさすぎ) 最後はなんとなくajax-test-list眺めたら、#ALtdcellheaderAtt(‘class=”auiMTCaption”‘)を見つけ、GlobalMacrosと照り合わせて使って見たら、なんとか列を揃えることができました。auiMTCaptionはどういう意味かはさっぱり…
詳細画面でサムネイルを表示するについて、とりあえずajax-test-detailに移動、新しく表示する欄を作る為にはまず
#ALtdcaption($l10n.TODO_THUMBNAIL)
を加え、TODO_THUMBNAILをAipoLocalization_ja.propertiesに追加。 そして、
<td> <img title="$result.Detail.Url" src="http://capture.heartrails.com/free/1429681233221?$result.Detail.Url" alt="$result.Detail.Url" width="200" height="300" /> </td> </tr>
と書いたが、画像が出てきません。それは$result.Detail.Urlにすでにが取り付けたから、
public String getUrl() { return url.getValue(); }
を書き加えれば画像でれるようになりました。