Smartyプラグイン

オリジナル処理やバッチ処理にてSmartyプラグイン利用できます。 利用可能なSmartyプラグインをまとめます。

generate_pdf

指定されたURLをもとに、PDFや画像を生成します。生成されたファイルはGCS上に保存されます。

なお、generate_pdfでは、ヘッドレスブラウザのPuppeteerを使用しています。ヘッドレスブラウザの幅や高さ下記の各種オプションによって挙動を制御できます。

前提条件

generate_pdfを利用するためには、Firebaseと連携が必要になります。 Firebaseと連携して、Storageにファイルを保存するを参考に連携してください。

構文

{generate_pdf 
    url="https://www.example.com/" 
    path="files/g/private/sample.pdf"
    option
}
項目用途記載例
urlPDF化するページURLを記載します。https://www.diverta.co.jp
path生成したPDFのファイル格納場所を記載します。
files/g/private/ または files/g/public/ 配下となります。
files/g/private/sample.pdf
optionPDF化のオプションを記載します。記載例はoptionをご確認ください。

記載例

{generate_pdf
    url="https://www.diverta.co.jp"
    path="files/g/private/sample.pdf"
    cookie=$smarty.cookies
    domain="www.diverta.co.jp"
}

option

項目用途記載例
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保存するファイルのフォーマットを指定します。
pdfpngjpegjpgwebp が指定可能です。
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_batchPDFが生成された後にKurocoのバッチ処理を実行したい場合に、バッチ処理のスラッグ名を指定します。callback_batch="my_callback_batch"
dataその他のパラメータを指定できます。このパラメータは上述のバッチ処理に引き渡されます。data=$smarty.request.data

関連ドキュメント

generate_pdfの具体的な利用方法については、定期的に外部サイトのキャプチャをPDF化する をご確認ください。

api

外部APIをコールします。
APIを提供している外部サービスに対してリクエストを送信し、レスポンスを変数に格納します。

構文

{api 
    endpoint='https://www.example.com/brah/'
    method='GET'
    query='param1=hoge&param2=foo'
    cache_time=20
    var='response'
    status_var='status'
}

option

項目用途記載例備考
endpointエンドポイント(必須)https://example.com/brah/
methodメソッドPOST/GET/PATCH/PURGE/PUT
queryクエリ文字列param1=hoge&param2=foo
queriesクエリ配列$params
json_bodyリクエスト Json Body{param1:"hoge",param2:"foo"}
headersリクエストヘッダー$headers配列で指定してください
cache_timeキャッシュ時間(分)20
varレスポンスの格納変数response
dl_flgダウンロードフラグtrue/falsetrueとした場合、レスポンスをKurocoの一次領域にファイルとして保存します
status_var0:失敗 1:成功statusリクエストが成功したか失敗したかが返ります

関連ドキュメント

Kuroco 内部のAPIをコールする方法については、オリジナル処理からKurocoのAPIを呼び出せますか? をご確認ください。

お探しのページは見つかりましたか?解決しない場合は、問い合わせフォームからお問い合わせいただくか、Slackコミュニティにご参加ください。