SmartPad4i(Cobos4i)では、<a>(ハイパーリンク)の要素を扱うことができ、クリックするとSmartPad4i(Cobos4i)のIBMiプログラム側にアクションコードを返却します。また、usageの設定をOutputに変更することで、href(リンク先)をIBMiプログラム側から指定して、動的にリンク先を設定することが可能です。今回のTipsでは、アンカータグの使用方法についてご紹介します。
ハイパーリンク使用の3パターン
ハイパーリンクは大きく3つのパターンで使用できます。
- Usage:Input
ハイパーリンクをクリックするとDesignerで設定したアクションコードをIBMiプログラムに送信します。 - Usage:Output
IBMiプログラムからハイパーリンクの文字列(text)とリンク先(href)を設定します。 - Usage:Both
IBMiプログラムからハイパーリンクの文字列(text)を設定できます。
また、ハイパーリンクをクリックするとDesignerで設定したアクションコードをIBMiプログラムに送信します。
Usage をInputに設定
DesignerでUsageをInputに設定することで、ハイパーリンクがクリックされた際に、設定したアクションコードがIBMiプログラムに送信されます。
※ボタンと同じような使用方法となります。
Usage をOutputに設定
Usage Outputは、外部リンクを表示する際に使用します。
UsageをOutputに設定することで、ハイパーリンクの文字列(text)と、リンク先(href)を変更できます。
Outputに設定する場合は、出力する文字タイプのIBMi Typeと出力する文字と、リンク先 + 1byteを IBMi Lengthに設定する必要があります。
IBMiプログラム側で、(|)の文字区切りでリンクの文字列(text)とリンク先(href)を指定します。
例えば、RPGプログラムで、ハイパーリンク(HYP02)のアウトプット「HYPERLINK | HTTPS://WWW.MIGARO.CO.JP」を設定した場合、以下の画像のようにHTMLに設定された「ハイパーリンク」の文字がHYPERLINKに変更され、クリックすると、(|)で区切られた後のURLに遷移することができます。
以下、RPGLEで設定しています。
~省略~
0026.00 D020 * <YOURCODE>
0027.00 ---> * YOUR D SPECIFICATIONS (2)
0028.00 D@DATA S 80A DIM(2) CTDATA
0029.00 D020 * </YOURCODE>
~省略~
0347.00 C YRDATA BEGSR
~省略~
0357.00 C510 * </YOURCODE>
0358.00 C520 * <YOURCODE>
0359.00 *
0360.00 C MOVEL(P) @DATA(1) OHYP02
0361.00 C MOVEL(P) @DATA(2) OHYP03
0362.00 C ENDSR
~省略~
0382.00 ** @DATA
0383.00 HYPERLINK | HTTPS://WWW.MIGARO.CO.JP
0384.00 IBMIプログラムから出力
Usage をBothに設定
UsageをBothに設定することで、ハイパーリンクの文字列(text)を変更できます。
また、Usage Inputと同じようにクリック時にアクションコードがIBMiプログラムに送信されます。
Outputに設定する場合は、出力する文字タイプのIBMi Typeと出力する文字と、を IBMi Lengthに設定する必要があります。
IBMiプログラム側で、リンクの文字列(text)を指定します。
例えば、上記のRPGのように「IBMIプログラムから出力」を選択した場合は以下画像のように表示されます。