get

flamingoテンプレートでは、カレントノードのコンテキスト中でパラメータを取得するため、事前定義済みの get キーワードを使用することが可能です。

事前定義済みのgetキーワードは、ノードの属性値とHTMLコンテンツの両方または片方を取得するために使用します。

戻り値は文字列または配列です。配列の場合、通常配列として使用することができます。

事前定義値が存在しない場合はNULLが返されます。

属性値の取得

前述のように、ノードの属性値取得が可能です。そのためには、パラメータコレクションの中では@(アットマーク)の記述で始まり、テンプレートコードの中では_(下線)の記述で始まる属性を定義する必要があります。

デスクトップサイトのページコード

<html>
    <body>
        <img src="image.jpg" />
    </body>
</html>

flamingo IDE内のパラメータコレクション中で、src 属性及び alt 属性を取得するアクション定義

{
    image: {
        xpath: '//img',
        get:   ['@src', '@alt']
    }
}

src 属性と alt 属性の値を取得するテンプレート内のコード

<!--{= $.image._src }-->
<!--{= $.image._alt }-->

なお、NULLは、デスクトップサイトのページ上で入手できないため、alt 属性値として返されます。

HTMLコンテンツを取得するための特別値

get を用いて、デスクトップサイトから異なる情報を取得するために特別値を使用することができます。

text

カレントノードのテキストを取得するため、この値を使用します。

デスクトップサイトのページコード

<html>
    <body>
        <p>Sample text. <img src="image.jpg" alt="" id="image" /></p>
    </body>
</html>

flamingo IDE内のパラメータコレクションにおける、テキストを取得するアクションの定義

{
    para: {
        xpath: '//p',
        get:   'text'
    }
}

テンプレートコードの中で para パラメータを使用すると、“Sample text.”が返されます。

html

カレントノードでHTMLコードを含む文字列の取得にこの特別値を使用します。

デスクトップサイトのページコード

<html>
    <body>
        <p>Sample text. <img src="image.jpg" alt="" id="image" /></p>
    </body>
</html>

flamingo IDE内のパラメータコレクションにおける、HTMLを取得するためのアクションの定義

{
    para: {
        xpath: '//p',
        get:   'html'
    }
}

テンプレートコードの中で para パラメータを使用すると、“<p>Sample text. <img src=”image.jpg” alt=”” id=”image” /></p>”を返します。

innerhtml

カレントノードで内部HTMLコードを含む文字列の取得にこの特別値を使用します。

デスクトップサイトのページコード

<html>
    <body>
        <p>Sample text. <img src="image.jpg" alt="" id="image" /></p>
    </body>
</html>

flamingo IDE内のパラメータコレクションの中で、innerHTMLを取得するアクションの定義

{
    para: {
        xpath: '//p',
        get:   'innerhtml'
    }
}

テンプレートコードの中で para パラメータを用いると、“Sample text. <img src=”image.jpg” alt=”” id=”image” />”が返されます。

node

カレントノードのDOM要素を返すためにこの特別値を使います。その後は、通常のDOMオブジェクトとして使用することができます。複数ノードの場合、最初のDOM要素だけを返します。

デスクトップサイトのページコード

<html>
    <body>
        <p>Sample text. <img src="image.jpg" alt="" id="image" /></p>
    </body>
</html>

flamingo IDE内のパラメータコレクションにおける、ノードを取得するためのアクションの定義

{
    para: {
        xpath: '//p',
        get:   'node'
    }
}

テンプレートコードの中で para パラメータを用いると、[要素]オブジェクトが返されます。

使用例

定義の配列を用いてHTMLコンテンツと属性値を取得する方法について示しています。