Smartyプラグイン
カスタム処理やバッチ処理にてSmartyプラグイン利用できます。 利用可能なSmartyプラグインをまとめます。
add
変数に数値を加算します。
属性
Param | Type | Description |
---|---|---|
var | String | 加算対象の変数名、加算結果も同一変数名に格納されます (必須) |
value | Int | 数値 |
記載例
{add var=i value=5}
api
外部APIをコールします。
APIを提供している外部サービスに対してリクエストを送信し、レスポンスを変数に格納します。
属性
項目 | 用途 | 記載例 | 備考 |
---|---|---|---|
endpoint | エンドポイント(必須) | https://example.com/brah/ | |
method | メソッド | POST /GET /PATCH /PURGE /PUT /DELETE | |
query | クエリ文字列 | param1=hoge¶m2=foo | |
queries | クエリ配列 | $params | |
json_body | リクエスト Json Body | {param1:"hoge",param2:"foo"} | |
body | リクエスト Body | ||
files | ファイル | ['path/to/hoge.jpg', 'path/to/foo.png'] /[{'path':'path/to/hoge.jpg'}, {'path':'path/to/foo.png'}] | Kuroco一時フォルダからの相対パスで指定します |
headers | リクエストヘッダー | ['Host: localhost','user-agent: hoge'] | 配列で指定してください |
cache_time | キャッシュ時間(分) | 20 | |
var | レスポンスの格納変数 | response | |
json_var | レスポンスの格納変数 | response | レスポンスがJSON形式の場合、デコードされた値が格納されます |
resp_header_var | レスポンスヘッダーの格納変数 | header | レスポンスヘッダーが配列形式で格納されます |
dl_flg | ダウンロードフラグ | true /false | true とした場合、レスポンスをKurocoの一次領域にファイルとして保存します |
status_var | 0:失敗 1:成功 | status | リクエストが成功したか失敗したかが返ります |
timeout | タイムアウト | 60 | タイムアウト(秒)を指定します。 |
sslcert | mTLS クライアント証明書 | SSLCERT001 | mTLSクライアント証明書のシークレットのキー名を指定します |
sslkey | mTLS クライアント秘密鍵のシークレットのキー名 | SSLKEY001 | mTLSクライアント秘密鍵のシークレットのキー名を指定します |
cainfo | mTLS サーバーCA証明書のシークレットのキー名 | CAINFO001 | mTLS CA証明書のシークレットのキー名を指定します |
記載例
PUTでファイルを送信する
PUTメソッドで特定のURLにファイルを送信する場合は、files属性にファイルパスの配列を指定します。ただし一度に送信できるファイル数は1件のみです。したがって指定した配列の第2要素目以降は無視されます。
{write_file var=tmp_path value="This is test."}
{assign_array var=files values=""}
{append var=files value=$tmp_path}
{api
endpoint='https://www.example.com/brah/'
method="PUT"
var=response
files=$files
status_var=status
}
PUTでテキストを送信する
テキストをPUTで送信する場合は、json_body属性またはbody属性に送信したいテキストをセットします。
JSON形式の場合はjson_body属性に値をセットします。
{assign_array var=product values=""}
{append var=product index=name value='apple'}
{append var=product index=price value='160'}
{assign var=json value=$product|@json_encode}
{api
endpoint='https://www.example.com/brah/'
method='PUT'
json_body=$json
var=response
status_var=status
}
JSON以外のテキストの場合はbody属性に値をセットします。
このときリクエストヘッダの Content-Type に text/***
の形式のものを指定しなければなりません。また、bodyに指定する文字列は、たとえJSON形式ではなくても、json_bodyの場合と同様にjson_encode修飾子をつける必要がありますのでご注意ください(これはマルチバイト文字部分をUnicodeにエスケープする必要があるためです)。
{assign_array var=headers values=""}
{append var=headers value='Content-Type: text/csv'}
{assign var=csv value="ID,NAME,PRICE\n1,apple,150\n2,orange,200"}
{api
endpoint='https://www.example.com/brah/'
method='PUT'
headers=$headers
body=$csv|@json_encode
var=response
status_var=status
}
mTLS認証によるサーバ間認証を行い通信する
外部システムとの連携にmTLS認証を行う必要がある場合、KurocoをmTLSクライアントとして通信することが出来ます。
まず、サーバーCA証明書、クライアント証明書、クライアント秘密鍵の内容をシークレットに保存してください。保存する際にシークレットキー名を指定する必要があります。このシークレットキー名を以下のように指定してください。
{api
endpoint='https://xxx.xxx.xxx/xxxx/'
method='GET'
var='response'
status_var='status'
sslcert='SSLCERT001'
sslkey='SSLKEY001'
cainfo='CAINFO001'
}
クライアント証明書、クライアント秘密鍵を作成する際に使用したクライアントCA証明書は、mTLSサーバ側に許可する接続元の証明書として登録する必要があります。登録の仕方はシステムによって異なりますので各サービスの提供元へお問い合わせください。 ここで設定するサーバーCA証明書は接続先サーバーから提供を受けてください。 接続結果はAPIログに出力されますので、設定時にご参照ください。
関連ドキュメント
Kuroco 内部のAPIをコールする方法については、カスタム処理からKurocoのAPIを呼び出せますか? をご確認ください。
api_internal
内部的にAPIをリクエストして、応答をassignします。
属性
Param | Type | Description |
---|---|---|
endpoint | String | エンドポイント (必須) |
method | String | メソッド (POST/GET) |
query | String | クエリ文字列 |
queries | Array | クエリ配列 |
headers | Array | リクエストヘッダー |
cache_time | Integer | キャッシュ時間 (分) |
var | String | レスポンスの格納変数 |
status_var | String | 0:失敗 1:成功 |
member_id | Integer | 指定したログインメンバーとして実行 ※directのパラメータとの併用はできません。 |
use_current_session | Boolean | 現在のセッションを引き継いでAPIリクエストを実行 |
direct | Boolean | ネットワーク(curl)を経由せず直接APIリクエストを実行 ※direct=trueをパラメータに指定できるのは、対象エンドポイントのHTTPメソッドがGETの場合に限ります。また、member_idとの併用はできません。 |
記載例
{api_internal
endpoint='/rcms_api/1/sample'
method='GET'
query='ex=1&ex2=2'
cache_time=20
var='response'
status_var='status'}
api_method
エンドポイントを作成せずに、各モデルのオペレーションをします。 利用できるオペレーションはGETメソッドのもののみになります。POSTメソッドのオペレーションは利用できません。
属性
Param | Type | Description |
---|---|---|
var | String | 結果を格納する変数名 (必須) |
model | String | モデル |
method | String | メソッド(オペレーション) |
version | Integer | バージョン |
request_params | Array | リクエスト変数 |
method_params | Array | メソッドの設定値。エンドポイントの設定画面に掲載されている「基本設定」「詳細設定」と同様になります。 |
記載例
{* エンドポイント設定パラメータ *}
{assign_array var='method_params' values=''}
{assign_array var='method_params.topics_group_id' values='1'}
{* クエリパラメータ *}
{assign_array var='request_params' values=''}
{assign var='request_params.cnt' value=20}
{assign var='request_params.pageID' value=1}
{api_method
var='topics_list'
model='Topics'
method='list'
version='1'
method_params=$method_params
request_params=$request_params}
test:{$topics_list|@debug_print_var}
api_mng
内部的に管理APIをリクエストして、応答をassignします。
属性
Param | Type | Description |
---|---|---|
endpoint | String | エンドポイント(必須) |
method | String | メソッド(POST/GET) |
query | String | クエリ文字列 |
queries | Array | クエリ配列 |
headers | Array | リクエストヘッダー |
files | Array | アップロードファイル |
var | String | レスポンスの格納変数 |
status_var | String | 0:失敗 1:成功 |
member_id | Integer | 指定したログインメンバーとして実行 |
use_current_session | Boolean | 現在のセッションを引き継いでAPIリクエストを実行 |
記載例
{api_mng
endpoint='/management/<module>/sample'
method='GET'
query='ex=1&ex2=2'
var='response'
status_var='status'}
append
テンプレートから, 新しい要素をarrayに追加します。
属性
Param | Type | Description |
---|---|---|
var | String | 配列名 (必須) |
value | String | 追加するオブジェクトまたは配列の名前 (必須) |
index | Integer | 追加が始まる場所の配列のインデックス (optional) |
記載例
{append var=options value='Option N' index='N'}
assign_api_credential
新しいAPIリクエストを生成して、'val'にアクセスキーを取得します。
属性
Param | Type | Description |
---|---|---|
dg_key | String | DG_CODEを生成するためのキー |
dg_id | String | DG_CODEを生成するためのid |
api_key | String | sidリクエストの生成するためのキー (必須) |
var | Array | 戻りの配列の名前。 |
jwt_data | Array | JWTデータ |
member_id | Integer | メンバーID |
expire | Integer | 有効期限(秒) |
記載例
{assign_api_credential
api_key=$api_key
dg_key="topics_edit_api"
dg_id="0"
var=val}
assign_array
配列をテンプレート変数としてassignします。
属性
Param | Type | Description |
---|---|---|
var | String | assignする配列の変数名 (必須) |
values | String | 配列に格納する値。delimiterで区切られた文字列 |
delimiter | String | valuesで指定された値を分割するための区切り文字。デフォルトはカンマ |
keys | String | 連想配列とする場合、キーを指定します。デフォルトはnull |
記載例
{assign_array var="foo" values="bar1,bar2"}
{assign_array var="foo" values="bar1;bar2;bar3" delimiter=";"}
{assign_array var="foo" keys="key1,key2,key3" values="bar1,bar2,bar3"}
assign_array_diff
array1, array2の間にdiffの配列を割り当てます。
属性
Param | Type | Description |
---|---|---|
var | String | assign差分配列の名前 |
array1 | Array | 配列1 |
array2 | Array | 配列2 |
diff_mode | String | normal, key |
記載例
{assign_array_diff
var="foo"
array1=$array1
array2=$array2
diff_mode='normal'}
assign_array_intersect
array1, array2の交差の配列を割り当てます。
属性
Param | Type | Description |
---|---|---|
var | String | 交差配列の名前 |
array1 | String | 配列1 |
array2 | String | 配列2 |
intersect_mode | String | normal, assoc, key (default=normal) |
記載例
{assign_array_intersect
var="foo"
array1=$array1
array2=$array2
intersect_mode='normal'}
assign_array_set
配列に要素を追加します。
この関数は{append}に似ていますが、もととなる配列を変更せずに
新しい配列を作成する点が{append}とは異なります。
属性
Param | Type | Description |
---|---|---|
var | String | assignする配列の変数名 (必須) |
from | String | もととなる配列 |
key | String | キー |
value | String | 値 |
記載例
{assign_array var="person" values=""}
{append var="person" index="name" value="Katoh"}
{append var="person" index="job" value="Sales"}
{assign_array_set var="person_ex" key="age" value="28" from=$person}
{$person_ex|@debug_print_var}
{$person|@debug_print_var}
出力結果
Array (4)
name => "Katoh"
job => "Sales"
age => "28"
Array (2)
name => "Katoh"
job => "Sales"
assign_csv_table
csvtable_idで示されるマスタを取得します。
属性
Param | Type | Description |
---|---|---|
csvtable_id | Integer | マスタのID (必須) |
var | String | 戻り変数の名前 (必須) |
get_key_val | Boolean | オプションのパラメータの使用を有効にします。 (optional) |
key_idx | Integer/Array | 返されるディメンションまたはディメンションを返します。 (optional) |
value_idx | Integer | 返されるディメンションまたはディメンションを返します。 (optional) |
multiple | Boolean | 次元数で場合分け (optional) |
lang | String | 多言語対応している場合、言語を指定します。"ja", "en" など。 |
table_name | String | 戻り変数の名前 (後方互換) |
記載例
{assign_csv_table csvtable_id=X var="sample_table1"}
{$sample_table1|@debug_print_var}
{assign_csv_table
csvtable_id=X
var="sample_table2"
get_key_val=true}
{$sample_table2|@debug_print_var}
assign_favorite_cnt
お気に入り数を取得します。
属性
Param | Type | Description |
---|---|---|
module_type | String | モジュール名。"topics" ,"comment" ,"member" ,"tag" ,"csvtable" ,"ec_product" のいずれかを指定します。デフォルトは "topics" です。 |
module_id | Integer | 指定したモジュールにおけるID |
var | String | 結果を格納する変数名 (必須) |
time | String | strtotime フォーマット |
format | String | フォーマット |
記載例
{assign_favorite_cnt
module_type="topics"
module_id=1000
var="favorite_cnt"}
assign_globals
同一リクエスト中に呼び出されるカスタム処理間で共有可能なグローバル変数をアサインします。
属性
Param | Type | Description |
---|---|---|
var | String | グローバル変数を格納する変数名 |
key | String | グローバル変数のキー |
value | Mixed | グローバル変数の値 |
unset | Bool | 変数の値をクリアする場合、trueを指定します。 |
記載例
{assign_globals key='prev_content' value=$content}
{assign_globals var='prev_content' key='prev_content'}
assign_group_nm
グループ名を取得します。
属性
Param | Type | Description |
---|---|---|
group_id | Integer | グループID (必須) |
var | String | 結果を格納する変数名 (必須) |
lang | String | 言語コード("ja", "en"など) |
記載例
{assign_group_nm group_id=100 var='group_nm'}
assign_my_favorite_cnt
自分がお気に入りをつけたコンテンツの数を取得します。
属性
Param | Type | Description |
---|---|---|
module_type | String | モジュール名。"topics" ,"comment" ,"member" ,"tag" ,"csvtable" ,"ec_product" のいずれかを指定します。デフォルトは "topics" です。 |
module_id | Integer | 指定したモジュールにおけるID |
var | String | 結果を格納する変数名 (必須) |
cookie_flg | Integer | クッキー管理のお気に入り取得フラグ |
action_type | String | 対象アクション(デフォルト 0 (like)) |
記載例
{assign_my_favorite_cnt
module_type="topics"
var="favorite_cnt"
cookie_flg=1}
assign_member_detail
メンバの詳細を返します。
属性
Param | Type | Description |
---|---|---|
var | String | 結果を格納する変数名 (必須) |
member_id | Int | 値のメンバID (必須) |
open_by_group | Boolean | falseのとき、閲覧権限を無視します。デフォルトは true です。 |
open_flg | Int | (非推奨) -1のとき、閲覧可能なメンバーの情報しか取得できなくなります。 |
assign_group_flg | Boolean | グループ情報も取得するかどうか |
記載例
{assign_member_detail var='varname' member_id=7}
assign_new_comment_list
指定したコンテンツにつけられたコメントを、新しいものから順に取得します。
属性
Param | Type | Description |
---|---|---|
module_id | String | 指定したモジュールにおけるID |
module_type | String | モジュール名。"topics" ,"comment" ,"member" ,"tag" ,"csvtable" ,"ec_product" のいずれかを指定します。デフォルトは "topics" です。 |
var | Boolean | 結果を格納する変数名 (必須) |
new_order_flg | String | false の場合、結果は昇順で返されます。 |
cnt | String | 結果の数を制限します。デフォルトは 5 です。 |
記載例
{assign_new_comment_list
module_id=1
module_type='topics'
cnt=5
var='new_comment_list'
}
assign_relation_tag_list
指定したコンテンツに紐づいているタグの一覧を取得します。
属性
Param | Type | Description |
---|---|---|
module | String | モジュール名 |
module_id | Integer | 指定したモジュールにおけるID(必須) |
var | String | 結果を格納する変数名 (必須) |
tag_category_id | Integer | タグカテゴリで絞り込みたい場合、タグカテゴリIDを指定する (オプション) |
tag_relation_list | Array | タグの配列。id を持っている配列の配列である必要があります。指定すると module とmodule_id は無視され、tag_relation_listで指定したタグの詳細がvarに格納されます。 (オプション) |
記載例
{assign_relation_tag_list
module="topics"
module_id=123
var="rel_tag_list"}
{assign_array var=tag1 values=""}
{append var=tag1 index=id value=101}
{append var=tag1 index=tag_nm value="WeaklyRecommended"}
{assign_array var=tag2 values=""}
{append var=tag2 index=id value=102}
{append var=tag2 index=tag_nm value="重要なお知らせ"}
{assign_array var=tag_list values=""}
{append var=tag_list value=$tag1}
{append var=tag_list value=$tag2}
{assign_relation_tag_list
module="topics"
module_id=123
tag_relation_list=$tag_list
var="rel_tag_list"}
assign_tag_category_list
カテゴリータグをリスト化して返します。
属性
Param | Type | Description |
---|---|---|
var | String | 結果を格納する変数名 (必須) |
lang | String | 言語の設定 |
tree_flg | Boolean | タグの階層構造 (親タグや子タグなど) の出力に関するフラグ (1でreturnする) |
記載例
{assign_tag_category_list [tree_flg=true] var=tag_category_list}
assign_tag_list
タグカテゴリーに紐づくタグを取得します。
属性
Param | Type | Description |
---|---|---|
var | String | 結果を格納する変数名 (必須) |
category_id | Integer | カテゴリータグのIDを指定する (必須) |
order | Array | タグの出力順序を指示する配列 |
記載例
{assign_tag_list category_id='02' var='tag_list'}
{assign_tag_list category_id='02' order='open_contents_cnt:desc' var='tag_list'}
{assign_tag_list category_id='02' order=$tag_order var='tag_list'}
assign_topics_category_list
指定されたカテゴリに紐づくコンテンツの一覧を取得します。
属性
Param | Type | Description |
---|---|---|
var | String | 結果を格納する変数名 (必須) |
topics_group_id | Integer | カテゴリ群のtopics_group_idを指定する (必須) |
lang | String | 言語設定 |
記載例
{assign_topics_category_list
topics_group_id=1
var='topics_category_list'}
assign_topics_detail
指定されたコンテンツの詳細情報を取得します。
属性
Param | Type | Description |
---|---|---|
var | String | 結果を格納する変数名 (必須) |
topics_id | Integer | コンテンツのID (必須) |
id | Integer | コンテンツのID (topics_idまたはidのいずれか1つを指定する. 両方あった場合はtopics_idの値が優先される) |
lang | String | 言語設定 |
chk_open_flg | Boolean | 取得するコンテンツを公開中のもののみに限定するかどうか。デフォルトは true です。 |
記載例
{assign_topics_detail topics_id=100 var='topics_data'}
backup
バックアップを実行します。
属性
Param | Type | Description |
---|---|---|
type | String | "full" を指定 |
memo | String | バックアップの理由などのメモ |
result_var | String | 結果を格納する変数名 |
記載例
{backup type='full' memo='smarty' result_var='res'}
backup_delete
バックアップを削除します。
バックアップIDを指定するか、バックアップ期間(開始日および終了日)を指定する必要があります。バックアップIDを指定した場合はバックアップ期間(開始日および終了日)は無視されます。
属性
Param | Type | Description |
---|---|---|
backup_id | String | バックアップIDを指定 |
start_date | String | 削除する対象バックアップ期間の開始日を指定 |
end_date | String | 削除する対象バックアップ期間の終了日を指定 |
result_var | String | 結果を格納する変数名。削除に成功した場合はtrue、失敗した場合はfalseを返します。 |
記載例
{backup_delete backup_id='1234' result_var='res'}
{backup_delete start_date='2020-01-01 00:00:00' end_date='2020-01-01 23:59:59' result_var='res'}
break
foreachやsectionなどのループ内部で利用します。 breakが実行されると、プログラムはただちにループを抜けます。
属性
なし。
記載例
{break}
site_sync
サイト間の同期をします。このプラグインで実行する場合は前回実施から6時間の間隔が必要です。
属性
Param | Type | Description |
---|---|---|
from_site_key | String | 同期元のサイトキー |
to_site_key | String | 同期先のサイトキー 指定が無い場合は自身のサイトに同期します。 |
sync_type | Integer | 1:アプリ同期 2:全同期 |
記載例
{site_sync from_site_key='from_example_key' to_site_key='to_example_key' sync_type='1'}
batch
バッチ処理を登録する。
属性
Param | Type | Description |
---|---|---|
batch_id | Integer | バッチID(slugといずれかは必須) |
name | String | slug(バッチIDといずれかは必須) |
module | String | 対象モジュール名(デフォルトバッチを登録する際に利用) |
ext_data | Array | 登録したバッチに渡すデータ |
var | String | 登録されたバッチのIDを格納する変数名 |
記載例
{batch batch_id='1234' ext_data=$ext_data}
child_site
子サイトのデータを取得します。
属性
Param | Type | Description |
---|---|---|
site_key | String | サイトキー (必須) |
var | String | 結果を格納する変数名 (必須) |
記載例
{child_site var='site' site_key='1234'}
continue
foreachやsectionなどのループ内部で利用します。 continueが実行されると、ループ処理の残りの処理をスキップして次のループ処理に移ります。
属性
なし。
記載例
{continue}
cookie
Cookieを取得/セットします。
属性
Param | Type | Description |
---|---|---|
var | String | 変数名 |
key | String | キー |
value | String | 文字列 |
expires | Integer | クッキーの有効期限日数 |
overwrite | Integer | 上書き |
記載例
{cookie key="foo" value="test"}
date
日付に関する変数をassignします。
属性
Param | Type | Description |
---|---|---|
var | String | 結果を格納する変数名 (必須) |
time | String | strtotime フォーマット |
format | String | フォーマット |
記載例
{date var='yesterday' time='Yesterday' format='Y-m-d'}
{date var='today' format='Y-m-d H:i:s'}
function
カスタム関数をコールします。
属性
Param | Type | Description |
---|---|---|
var | String | 結果を格納する変数名 (必須) |
id | Integer | カスタム関数ID |
name | String | カスタム関数の識別子 |
記載例
以下のように、カスタム処理「sub_funtion」に記述しfunction
プラグインで呼び出した場合、変数 $result
には "Hello World"
が代入されます。
{* 呼び出し元 *}
{function name="sub_function" var="result" param1="Hello" param2="World"}
{* 呼び出し先のカスタム処理。識別子:sub_function *}
{assign var="message" value=$param1|cat:" "|cat:$param2}
{return value=$message}
gcloud_functions_token
Google Cloud Functionsの認証用bearerトークンを取得します。
属性
Param | Type | Description |
---|---|---|
var | String | 結果を格納する変数名 (必須) |
url | String | 関数のURL (必須) |
sa_secret_name | String | secret_edit画面で設定したサービスアカウントのシークレット名 |
記載例
{gcloud_functions_token
var="id_token"
url="https://us-central1-**.cloudfunctions.net/functionName"
sa_secret_key='GCP_MY_CREDENTIAL'}
gcloud_pubsub_publish
Google Cloud Pub/Subのメッセージを配信します。
属性
Param | Type | Description |
---|---|---|
var | String | 結果を格納する変数名 (必須) |
topic | String | 配信先のTopic名 (必須) |
message | Any | 配信するメッセージ (必須) |
project | String | GCPのプロジェクト名 |
sa_secret_name | String | secret_edit画面で設定したサービスアカウントのシークレット名 |
記載例
{gcloud_pubsub_publish
var='result'
project='projectName'
topic='topicName'
message=$message
sa_secret_name='MY_GCP_CREDENTIAL'}
get_file
S3,GCS,外部URLなどからファイルを取得します。
属性
Param | Type | Description |
---|---|---|
var | String | 結果を格納する変数名 |
path | String | 取得したいファイルのS3/GCS上でのパス |
url | String | 取得したいファイルのURL |
bucket | String | 取得したいファイルが置かれているS3/GCSのバケット名 |
save | Boolean | 取得したファイルをKurocoの一時領域に保存するかどうか。falseとした場合は保存せずに、varで指定した変数にファイルの内容を保存します。 |
save_path | String | 取得したファイルを保存するファイル名 |
記載例
{get_file path=$path}
generate_pdf
指定されたURLをもとに、PDFや画像を生成します。生成されたファイルはGCS上に保存されます。
なお、generate_pdfでは、ヘッドレスブラウザのPuppeteerを使用しています。ヘッドレスブラウザの幅や高さ下記の各種オプションによって挙動を制御できます。
前提条件
generate_pdfを利用するためには、Firebaseと連携が必要になります。
Firebaseと連携して、Storageにファイルを保存するを参考に連携してください。
属性
項目 | 用途 | 記載例 |
---|---|---|
url | PDF化するページURLを記載します。 | https://www.diverta.co.jp |
path | 生成したPDFのファイル格納場所を記載します。files/g/private/ または files/g/public/ 配下となります。 | files/g/private/sample.pdf |
option | PDF化のオプションを記載します。 | |
browser_width | ブラウザ幅を指定します。 | browser_width=1280 |
browser_height | ブラウザの高さを指定します。 | browser_height=2560 |
sleep | 指定したページをキャプチャするまでの待機時間(ミリ秒)を指定します。 | sleep=1000 |
ua | ユーザーエージェントを指定します。 url で指定した対象ページが、アクセスしてきたブラウザのユーザーエージェントによって表示が切り替わるようなページの場合にこのオプションを使うと便利です。注意:正しい文字列を送信しないと意図した通りに切り替わらない可能性があります。対象のWEBサイトの仕様をお確かめの上ご利用ください。 | ua="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.88 Safari/537.36" |
format | 保存するファイルのフォーマットを指定します。pdf 、 png 、 jpeg 、 jpg 、 webp が指定可能です。 | format="png" |
cookie | ログインが必要なURLをPDF化するに指定します。$smarty.cookies の形式を想定してます。注意:バッチ処理にてこのプラグインを利用する場合、 $smarty.cookies は空になりますので利用できません。pre-process や post-process からカスタム処理をコールする場面でご利用ください。 | cookie=$smarty.cookies |
domain | クッキーのドメインを指定します。 | domain="www.diverta.co.jp" |
overwrite | ファイルが既に存在する場合に、上書きするかどうかを指定します。 | overwrite=1 |
callback_batch | PDFが生成された後にKurocoのバッチ処理を実行したい場合に、バッチ処理のスラッグ名を指定します。 | callback_batch="my_callback_batch" |
data | その他のパラメータを指定できます。このパラメータは上述のバッチ処理に引き渡されます。 | data=$smarty.request.data |
記載例
{generate_pdf
url="https://www.diverta.co.jp"
path="files/g/private/sample.pdf"
cookie=$smarty.cookies
domain="www.diverta.co.jp"
}
関連ドキュメント
generate_pdf
の具体的な利用方法については、定期的に外部サイトのキャプチャをPDF化する をご確認ください。
github_deploy
GitHub連携し、フロントソースのビルド・デプロイを行います。
属性
Param | Type | Description |
---|---|---|
result_var | String | true: success false: failure |
記載例
{github_deploy result_var='res'}
googleanalytics
GoogleAnalyticsからデータを取得し、カウンター用のテーブルに値をセットします。
batchのSmartyプラグインでsync_counterのバッチ処理にコンテンツIDを渡すと、セットした値をコンテンツに反映できます。
属性
Param | Type | Description |
---|---|---|
var | String | GoogleAnalyticsから取得したデータをアサインする変数名 |
updated_topics_ids | Array | カウンターの値がセットされたコンテンツIDの配列 |
update_column_slug | String | アップデートするカラムのSlug |
update_column_index | Integer | アップデートするカラムのindex |
update_target_metric | String | 利用するメトリック |
update_target_dimension | String | アップデートするカスタムディメンション |
topics_group_id | Integer | コンテンツ定義ID |
startDate | String | 集計開始日。PHPのstrtotime()で解釈できる文字列。デフォルトは7日前。 |
endDate | String | 集計終了日。PHPのstrtotime()で解釈できる文字列。デフォルトは本日。 |
queries | String | クエリの直接指定 |
記載例
{googleanalytics
var="result"
update_column_slug="pv"
update_target_dimension="customEvent:slug"
updated_topics_ids='updated_topics_ids'
topics_group_id=1}
{assign_array var=ext_data values=''}
{assign var=ext_data.topics_ids value=$updated_topics_ids}
{batch module='topics' name='sync_counter' ext_data=$ext_data}
logger
info.logに記録します。 [オペレーション]->[ログイ管理]->[カスタムログ]で確認できます。
属性
Param | Type | Description |
---|---|---|
msg1 | String | 文字列1(1KB以内) |
msg2 | String | 文字列2(1KB以内) |
msg3 | String | 文字列3(1KB以内) |
msg4 | String | 文字列4(1KB以内) |
記載例
{logger msg1=$log1 msg2=$log2}
login
ログインします。
属性
Param | Type | Description |
---|---|---|
member_id | Integer | メンバーID |
overwrite | Boolean | 既にログイン中の場合、現在のセッションを上書きするか(ログインし直すか)。 |
記載例
{login member_id=2 overwrite=false}
logout
ログアウトします。
属性
なし。
記載例
{logout}
lottery
抽選関数。
属性
Param | Type | Description |
---|---|---|
var | String | 結果を格納する変数名 (必須) |
cnt | Integer | 抜きだすID数 |
duplicate | Integer | 重複数 |
ids | Array | 対象のID (必須) |
exclude_ids | Array | 除くID |
記載例
{lottery
var='foo'
cnt=3
duplicate=0
ids=$ids
exclude_ids=$exclude_ids}
pg_dateformat
日付と時間をフォーマットに基づいて整形します。 フォーマットはDateTimeInterface::format() が受け入れるフォーマットを指定してください。 曜日や月の3文字表記は、現在のロケールによって各言語での表現に変換されます。
属性
Position | Type | Description |
---|---|---|
1 | String | フォーマット |
記載例
{"2024-06-01 12:34:56"|pg_dateformat}
{"2024-06-01 12:34:56"|pg_dateformat:"Y-m-d(D) [H:i:s]"}
{"2024-05-01 12:34:56"|pg_dateformat:'M'}
{"-2 days"|pg_dateformat}
{"-1 hour"|pg_dateformat}
出力結果
2024/06/01(土) 12:34
2024-06-01(土) [12:34:56]
5月
2024/06/19(水) 15:31
2024/06/21(金) 14:31
pg_dateformat2
日付と時間をフォーマットに基づいて整形します。
フォーマットはDateTimeInterface::format() が受け入れるフォーマットを指定してください。
曜日や月の3文字表記は、現在のロケールによって各言語での表現に変換されます。
また、対象の日時が24時間以内の場合には、HTML形式で H:i:s(s秒前に更新)
という文字に変換されます。この変換が不要な場合はpg_dateformatをご利用ください。
属性
Position | Type | Description |
---|---|---|
1 | String | フォーマット |
記載例
{"2024-06-01 12:34:56"|pg_dateformat2}
{"2024-06-01 12:34:56"|pg_dateformat2:"Y-m-d(D) [H:i:s]"}
{"2023-05-01 12:34:56"|pg_dateformat2:'M'}
{"-2 days"|pg_dateformat2}
{"-1 hour"|pg_dateformat2}
出力結果
2024/06/01(土) 12:34
2024-06-01(土) [12:34:56]
5月
2024/06/19(水) 15:31
<span style="color:#5FAF23;font-weight:bold;">14:31:42(1時間前に更新)</span>
purge_cdn_cache
CDNキャッシュをパージ(削除)します。
属性
Param | Type | Description |
---|---|---|
api_endpoint | String | エンドポイントのURLを指定します。 |
module | String | モジュール名を指定します。現状、topics 、 csvtable と all に対応しています(必須)。 |
topics_group_id | int | モジュール名にtopics を指定した場合、コンテンツ定義IDを指定します。 |
csvtable_id | int | モジュール名にcsvtable を指定した場合、マスタのIDを指定します。 |
記載例
{purge_cdn_cache api_endpoint='/rcms-api/1/list'}
{purge_cdn_cache module='all'}
{purge_cdn_cache module='topics' topics_group_id=123}
{purge_cdn_cache module='csvtable' csvtable_id=123}
put_file
ファイルをKurocoFilesまたはS3/GCS領域にアップロードします。
属性
Param | Type | Description |
---|---|---|
tmp_path | String | アップロードするファイル。一時フォルダにあるファイルを指定します。 |
path | String | アップロード先パス |
value | String | ファイルに出力する内容 |
files_path | String | KurocoFiles上 のパス /files/(user|ltd)/◯◯◯。tmp_path か files_path のどちらかを指定する必要があります。 |
bucket | String | アップロードする S3/GCSのバケット名 |
記載例
{put_file tmp_path=$tmp_path path=$upload_path}
read_dir
KurocoFilesに存在するファイルの一覧を取得し、繰り返します。
属性
Param | Type | Description |
---|---|---|
name | String | read_dirブロックを識別する名前 |
file_var | Object | 取得した以下のファイル情報を格納するSmarty変数名 ・path:ファイルパス ・size:ファイルサイズ (byte) ・ctime:ファイル内容の変更日時 (タイムスタンプ) ・mtime:ファイル属性(ファイル名など)の変更日時 (タイムスタンプ) ・is_dir:ディレクトリかどうか |
path | String | 取得対象ディレクトリのパス。/files/userまたは/files/ltd 配下を指定 |
pattern | String | ファイルパスでフィルタをかけたい場合、正規表現で指定 |
recursive | Boolean | true を指定すると、サブディレクトリの中身も再帰的に取得します。 |
name_only | Boolean | true を指定すると、file_varの変数がString形式でファイルパスのみ返すようになります。 |
type | String | 'file' か 'dir' を指定すると、それぞれファイルのみ、ディレクトリのみを対象として繰り返します。指定しなかった場合、両方が対象となります。 |
記載例
{read_dir name="hoge" file_var='file' path='/files/user'}
{$file|@debug_print_var}
{/read_dir}
read_file
ファイルを1行ずつ読み込み、繰り返します。
属性
Param | Type | Description |
---|---|---|
name | String | read_fileブロックを識別する名前 |
path | String | ファイルパスを相対パスで/files/から指定。 参照できるディレクトリは以下になります。
|
row | String | 読み込んだ1行分の文字列を保存するSmarty変数名 |
type | String | ファイル形式。'txt' か 'csv' か 'jsonl'を指定してください。指定しなかった場合、デフォルトは 'txt' です。 |
ignore_permission提供版: β版 | Boolean | /files/topics/ , /files/member/ のディレクトリを指定した場合に、true を指定するとファイルが保存されたコンテンツの公開状態や権限設定を無視します。 |
記載例
{read_file name="hoge" path='foo.txt' row="row"}
{$row|escape}
{/read_file}
rcms_match
preg_match関数を呼び出す。
属性
Param | Type | Description |
---|---|---|
var | String | 結果を格納する変数名 (必須) |
pattern | String | 検索するパターンを表す文字列 |
subject | String | 入力文字列 |
flags | Integer | 以下のフラグの組み合わせを指定できます。256 - PREG_OFFSET_CAPTURE : このフラグを設定した場合、各マッチに対応する文字列のオフセットも(バイト単位で)返されます。 var の値を配列に変更することに注意してください。 その配列のすべての要素は、 オフセット 0 で一致した文字列、 およびその文字列のオフセット 1 での subject へのオフセットからなります。512 - PREG_UNMATCHED_AS_NULL : このフラグが渡されると、マッチしなかったサブパターンは null として通知されます。 渡されなかった場合、空の string として通知されます。 |
offset | Integer | 検索の開始位置。デフォルトは先頭から。 |
記載例
{rcms_match
var='foo'
pattern='/^ex+/'
subject='example'
flags=256}
{rcms_match
var='foo'
pattern='/^ex+/'
subject='example'
flags=512
offset=2}
rcms_match_all
preg_match_all関数を呼び出す。
属性
Param | Type | Description |
---|---|---|
var | Array | 結果を格納する変数名 (必須) |
pattern | String | 検索するパターンを表す文字列 |
subject | String | 入力文字列 |
flags | Integer | 以下のフラグの組み合わせを指定できます。1 - PREG_PATTERN_ORDER : varで指定された変数名を仮に$matches とすると、$matches[0] はパターン全体にマッチした文字列の配列、 $matches[1] は第 1 のキャプチャ用サブパターンにマッチした文字列の配列、 といった順番となります。2 - PREG_SET_ORDER : $matches[0] は 1 回目のマッチングでキャプチャした値の配列、 $matches[1] は 2 回目のマッチングでキャプチャした値の配列、 といった順序となります。256 - PREG_OFFSET_CAPTURE : このフラグを設定した場合、各マッチに対応する文字列のオフセットも(バイト単位で)返されます。 これは、matches の値を配列の配列に変更することに注意してください。 その配列のすべての要素は、 オフセット 0 で一致した文字列 およびその文字列のオフセット 1 での subject へのオフセットからなります。512 - PREG_UNMATCHED_AS_NULL : このフラグが渡されると、 マッチしなかったサブパターンがあった場合 null として通知されます。 このフラグが渡されない場合、 空の string として通知されます。 |
offset | Integer | 検索の開始位置。デフォルトは先頭から。 |
記載例
{rcms_match_all
var='matches'
pattern='|<[^>]+>(.*)</[^>]+>|U'
subject='<b>example: </b><div align=\"left\">this is a test</div>'
flags=2}
{$matches|@debug_print_var}
出力結果
Array (2)
0 => Array (2)
0 => "<b>example: </b>"
1 => "example:"
1 => Array (2)
0 => "<div align=\"left\">this is a test</div>"
1 => "this is a test"
rcms_sort_by_key
連想配列を指定したキーの値でソートします。
記載例
{assign var="product_list" value=$product_list|@rcms_sort_by_key:'price':'asc'}
rcms_strip_tags
文字列から HTML および PHP タグを取り除きます。
記載例
{assign var="output" value=$input|rcms_strip_tags:'<br>'}
rcms_hash
ハッシュ関数を呼び出す。
属性
Param | Type | Description |
---|---|---|
var | String | 結果を格納する変数名 (必須) |
algo | String | アルゴリズム (default=sha256) |
data | String | 対象文字列 (必須) |
key | String | HMAC方式の場合は秘密鍵 |
binary | Boolean | true を指定すると、結果をバイナリで格納します。 |
記載例
{rcms_hash var='foo' data='hoge' key='salt'}
refresh_cs
MemberCustomSearchを再設定します。
属性
Param | Type | Description |
---|---|---|
add | Array | 追加するメンバーカスタムサーチIDの配列 |
記載例
{refresh_cs}
{assign_array var="custom_search_ids" values="1,2,3"}
{refresh_cs add=$custom_search_ids}
remove_dir
ディレクトリを削除します。
属性
Param | Type | Description |
---|---|---|
path | String | 削除するディレクトリのパス |
status_var | String | 削除の結果を格納するSmarty変数名 |
記載例
{remove_dir path='/files/user/hoge' status_var='status'}
remove_file
ファイルを削除します。
属性
Param | Type | Description |
---|---|---|
path | String | 削除するファイルのパス |
bucket | String | 削除するファイルが置かれているS3/GCSのバケット名 |
status_var | String | 削除の結果を格納するSmarty変数名 |
記載例
{remove_file path='/files/user/hoge.jpg' status_var='status'}
rename_file
ファイルを移動します。
属性
Param | Type | Description |
---|---|---|
src_path | String | 移動元パス |
dest_path | String | 移動先パス |
記載例
{rename_file src_path=$src_path dest_path=$dest_path}
return
カスタム関数を実行した結果とともに、カスタム関数を終了します。
属性
Param | Type | Description |
---|---|---|
value | Mixed | コール元のカスタム関数に値を返します。 |
記載例
カスタム関数「sub_funtion」に以下のように記述した場合、
{return value="Hello"}
別のカスタム関数で以下のように「sub_function」をコールすると、
{function name="sub_function" var="result"}
変数 $result
には "Hello"
が代入されます。
save_file
ファイルで保存します。
属性
Param | Type | Description |
---|---|---|
value | String | 保存内容 |
var | String | 結果を格納する変数名 |
記載例
{save_file var='path' value=$value}
secret
シークレットを呼び出す。
属性
Param | Type | Description |
---|---|---|
var | String | 結果を格納する変数名 (必須) |
key | String | シークレットのキー名 (必須) |
記載例
{secret var='foo' key='hoge'}
sendmail
メールを送信します。
また、sendmailの引数に与えた変数はメッセージひな形のテンプレート内で利用できます。
属性
Param | Type | Description |
---|---|---|
var | String | 結果を格納する変数名。成功したらtrue、失敗したら falseが格納されます。 |
to | String | 宛先 |
subject | String | 件名 |
contents | String | 本文 |
from | String | FROMアドレス |
from_nm | String | FROMの送信者名 |
mail_template | String | メッセージひな形の識別子 |
任意の変数名 | String | メッセージひな形のテンプレートに渡す変数を指定します。 |
記載例1
{sendmail
var='result'
to=$mail_to
subject='testmail'
contents="This is test."
from="test@example.com"
from_nm="test"}
記載例2
以下のようにすると、メッセージひな形で$member_detailの変数が使用できます。
{sendmail
var=result
to=$mail_to
subject='testmail'
mail_template='update_test'
member_detail=$member_detail
from="noreply@kuroco-mail.app"
from_nm="test"}
set_memory
メモリ割り当てを増やします。
属性
Param | Type | Description |
---|---|---|
var | String | 指定するメモリ容量。256M ,512M ,768M のいずれかでなければなりません。 |
記載例
{set_memory memory_limit='256M'}
slack_get_message
Slackのメッセージを取得します。
属性
Param | Type | Description |
---|---|---|
var | String | 結果を格納する変数名 |
channel | String | チャンネルID |
ts | String | メッセージのタイムスタンプ値 |
記載例
{slack_get_message
var='message'
channel='XXXXXXXXX'
ts='1675411163.005300'}
slack_post_message
Slackにメッセージ送信します。
属性
Param | Type | Description |
---|---|---|
var | String | 結果を格納する変数名。成功したらtrue、失敗したら falseが格納されます。 |
channel | String | チャンネルID |
users | Array | ユーザーIDの配列 |
text | String | メッセージ本文 |
thread_ts | String | スレッドの親メッセージのタイムスタンプ値 |
記載例
{slack_post_message
channel='XXXXXXXXX'
users=$users
text='test'}
slack_team_info
Slackのチーム情報を取得します。
属性
Param | Type | Description |
---|---|---|
var | Array | 結果を格納する変数名。失敗したら falseが格納されます。 |
team | String | 検索条件 |
記載例
{slack_team_info var='team' team=$team}
sleep
実行を遅延させます。 最短 100ms から最長 1000msまで遅延可能です。
属性
Param | Type | Description |
---|---|---|
ms | Ingeter | ミリ秒単位の停止時間。100以上、100以下の値でなければなりません 範囲外の数値を指定した場合は、100ms または1000msとなります。 |
記載例
{sleep ms=300}
storage_url
S3/GSC上のファイルを読み込む署名付きURLを取得します。
属性
Param | Type | Description |
---|---|---|
var | String | 結果を格納する変数名 |
path | String | S3/GCS上のパス |
expire | String | URLの有効期限。デフォルトは '+167 hour' |
記載例
{storage_url path=$path var='url' expire="+1 hour" }
strip
囲まれた領域の改行削除と各行にtrimを掛けます。
属性
なし。
記載例
{* 次の例は全て1行に出力されます *}
{strip}
{foreach from=$contents item=content name='loop1'}
{if $content.topics_group_id == 1}
{$content.subject}
{/if}
{if !$smarty.foreach.loop1.last}
,
{/if}
{/foreach}
{/strip}
strtodate
日付を取得します。
属性
Param | Type | Description |
---|---|---|
var | String | 結果を格納する変数名 (必須) |
timestamp | Int|String | タイムスタンプ |
format | String | フォーマット |
記載例
{strtodate var='today' timestamp='today' format='Ymd'}
subtract
変数に数値を引き算します。
属性
Param | Type | Description |
---|---|---|
var | String | 結果を格納する変数名 (必須) |
value | Int | 数値 |
記載例
{subtract var='i' value=5}
unzip
Zipファイルを展開します。
属性
Position | Type | Description |
---|---|---|
src | String | 展開するzipファイルパス。https:// から始まるURLか、クラウドストレージ上でのパスである必要があります。 |
dest | String | 展開したファイルを格納するフォルダのパス。KurocoFilesのパス(/files/user/ , /files/temp/ , /files/ltd/ のいずれかから始まるパス)か、GCS/S3 のパス( /files/g/ , /files/a/ のいずれかから始まるパス)である必要があります。 |
bucket | String | バケット名。省略した場合は [外部システム連携] - [Firebase] で設定したStorageが利用されます。 |
callback_batch | String | Zip展開処理完了後にコールバックするバッチ処理名 |
data | Mixed | 任意のデータ。コールバックバッチに引き渡されます。 |
overwrite | Integer | 展開先フォルダに同名のファイルが存在した場合に上書きするかどうか。0または1。 |
detect_order | Array | 展開したファイルのファイル名の文字コードを判別する際の優先順位を指定します。デフォルトでは ["utf8", "cp932", "EUC-JP"] となります。 |
記載例
{unzip
src='/files/g/private/temp/zip/hoge.zip'
dest='/files/g/private/temp/unzip/'
overwrite=1
callback_batch='batch1'
}
uuid
uuidを取得します。
属性
Param | Type | Description |
---|---|---|
var | String | 格納する変数名 |
記載例
{uuid var='foo'}
rcms_arsort
連想キーと要素との関係を維持しつつ配列を降順にソートします。
注意:配列に対する修飾子になるので、@をつける必要があります。
属性
なし。
記載例
{assign var="result_arr" value=$input_arr|@rcms_arsort}
rcms_asort
連想キーと要素との関係を維持しつつ配列を昇順にソートします。
注意:配列に対する修飾子になるので、@をつける必要があります。
属性
なし。
記載例
{assign var="result_arr" value=$input_arr|@rcms_asort}
rcms_file_size
指定されたファイルサイズを戻します。
属性
Position | Type | Description |
---|---|---|
1 | Integer | 結果の書式タイプ (default=1) |
2 | Integer | 小数での結果の精度 (default=2) |
記載例
{$row.path|rcms_file_size}
rcms_in_array
in_arrayを使う際に、smarty上でのis_arrayの記述を省くためのプラグイン。
属性
Position | Type | Description |
---|---|---|
1 | Array | list |
記載例
{assign_array var=fruits values="apple,banana,orange"}
{if 'beef'|rcms_in_array:$fruits}
{assign var=message value='beef is fruits.'}
{else}
{assign var=message value='beef is not fruits.'}
{/if}
rcms_krsort
配列をキーで逆順にソートします。
注意:配列に対する修飾子になるので、@をつける必要があります。
属性
なし。
記載例
{assign var="result_arr" value=$input_arr|@rcms_krsort}
rcms_ksort
配列をキーでソートします。
注意:配列に対する修飾子になるので、@をつける必要があります。
属性
なし。
記載例
{assign var="result_arr" value=$input_arr|@rcms_ksort}
rcms_rsort
配列を降順にソートします。
注意:配列に対する修飾子になるので、@をつける必要があります。
属性
なし。
記載例
{assign var="result_arr" value=$input_arr|@rcms_rsort}
rcms_sort
配列を昇順にソートします。
注意:配列に対する修飾子になるので、@をつける必要があります。
属性
なし。
記載例
{assign var="result_arr" value=$input_arr|@rcms_sort}
regex_replace
変数に対して正規表現による検索・置換を行います。
属性
Position | Type | Description |
---|---|---|
1 | String | 置換するための正規表現 |
2 | String | この文字列に置換する |
記載例
{assign var="string" value="This is KUROCO."}
{$string|regex_replace:"/kuroco/i":"Kuroco"}
{assign var="string" value="12,31,2023"}
{$string|regex_replace:'/(\d+),(\d+),(\d+)/':'$3-$1-$2'}
{assign var="string" value="本日は晴天なり"}
{$string|regex_replace:"/晴天/":"雨天"}
出力結果
This is Kuroco.
2023-12-31
本日は雨天なり
sort_name
言語設定が 英語('en')の場合に姓と名を入れ替えて表示します。
記載例
{'Yamada'|sort_name:'Taro'}
// 言語設定が enの場合は Taro Yamada と表示される。
// 言語設定が en以外の場合は Yamada Taro と表示される。
to_form_options
連想配列を、[['key'=>$key, 'value'=>$value], ...]
のような形式に変換します。
属性
Position | Type | Description |
---|---|---|
target | Array | 変換する配列 (必須) |
記載例
{assign var='form_options' value=$options_array|@to_form_options}
{assign var='form_options' value=$options_array|@to_form_options:'key':'label'}
to_object
配列を、stdClassオブジェクトに変換します。
属性
Position | Type | Description |
---|---|---|
target | Array | 変換する配列 (必須) |
記載例
{assign var='foo' value=$bar|@to_object}
twitter_post_message
Twitterにメッセージを送信します。
属性
Position | Type | Description |
---|---|---|
var | String | 結果を格納する変数名 |
text | String | メッセージ |
関連ドキュメント
このプラグインを使用するには、[外部システム連携] - [Twitter]の各種項目を設定する必要があります。
Twitterとの連携設定の具体的な手順については、Twitterと連携し、コンテンツ投稿時にTwitterへ自動投稿する をご確認ください。
update_counter
コンテンツのカウンター型の拡張項目の値を更新します。
属性
Param | Type | Description |
---|---|---|
var | String | 結果をassignする変数名 |
value | Integer | セットする数値 (必須) |
topics_group_id | Integer | コンテンツ定義ID (必須) |
slug | String | 対象のコンテンツのID/Slug (必須) |
ext_slug | String | 対象の項目のID/Slug (必須) |
index | Integer | 0から始まる繰り返しの順番 |
記載例
{update_counter
var='result'
value=3
topics_group_id=10
slug='a-content'
ext_slug='a_col_slug'
index=0
}
write_file
ファイルにデータ書き込みます。
属性
Position | Type | Description |
---|---|---|
path | String | ファイルパス。省略した場合は自動的にユニークなファイル名で一時領域にファイルを書き込みます。 |
var | String | 書き込んだ一時ファイルパスを格納する変数名(必須) |
value | String | Array | 書き込む内容。配列を指定した場合、CSV形式で書き込みます |
is_append | Integer | 追記モード。0または1。追記モードの場合は、path を指定する必要があります。 |
記載例
{write_file var="path" value="hoge"}
{write_file path=$path value="foo" is_append=1}
{write_file path=$path value="var" is_append=1}
xmltojson
XMLからJSONに変換します。
属性
Param | Type | Description |
---|---|---|
var | String | 結果を格納する変数名 (必須) |
xml | String | XML |
convert_namespace | Integer | 1を指定すると名前空間(namespace)を含む要素もJSONにエクスポートします。 |
記載例
{xmltojson var='json' xml='input'}
zip
クラウドファイルをZip圧縮します。
属性
Position | Type | Description |
---|---|---|
entries | Array | 圧縮するファイルリスト |
dest | String | zipファイルパス。KurocoFilesのパス(/files/user/ , /files/temp/ , /files/ltd/ のいずれかから始まるパス)か、GCS/S3 のパス( /files/g/ , /files/a のいずれかから始まるパス)である必要があります。 |
bucket | String | バケット名。省略した場合は [外部システム連携] - [Firebase] で設定したStorageが利用されます。 |
callback_batch | String | Zip圧縮処理完了後にコールバックするバッチ処理名 |
data | Mixed | 任意のデータ。コールバックバッチに引き渡されます。 |
記載例
{assign_array var='entries' values=''}
{assign_array var='entry1' values=''}
{append var='entry1' index='name' value='name1'}
{append var='entry1' index='url' value='https://xxxx/xxxx.jpg'}
{append var='entries' value=$entry1}
{assign_array var='entry2' values=''}
{append var='entry2' index='name' value='name2'}
{append var='entry2' index='url' value='https://xxxx/yyyy.jpg'}
{append var='entries' value=$entry2}
{zip entries=$entries dest='/files/user/a.zip' bucket=$bucket}
サポート
お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。