Loading...
Loading...
Compare original and translation side by side
/kuroco-docs/kuroco-docs| プラグイン | 説明 | 例 |
|---|---|---|
| 変数代入 | |
| 配列追加 | |
| JSONパース | |
| JSONエンコード | |
| 插件 | 说明 | 示例 |
|---|---|---|
| 变量赋值 | |
| 数组追加 | |
| JSON解析 | |
| JSON编码 | |
| プラグイン | 説明 | 例 |
|---|---|---|
| 内部API呼び出し | |
| 記事一覧取得 | |
| 記事詳細取得 | |
| タグ一覧取得 | |
| 插件 | 说明 | 示例 |
|---|---|---|
| 内部API调用 | |
| 获取文章列表 | |
| 获取文章详情 | |
| 获取标签列表 | |
| プラグイン | 説明 | 例 |
|---|---|---|
| エスケープ | |
| 文字列切り詰め | |
| マルチバイト対応 | |
| 日付フォーマット | |
| 翻訳 | |
| 改行をBRに | |
| 文字列置換 | |
| 插件 | 说明 | 示例 |
|---|---|---|
| 转义处理 | |
| 字符串截断 | |
| 多字节兼容截断 | |
| 日期格式化 | |
| 翻译处理 | |
| 换行转BR标签 | |
| 字符串替换 | |
| プラグイン | 説明 | 例 |
|---|---|---|
| ファイルアップロード | |
| フォーム入力 | |
| ページネーション | |
| 編集ボタン | |
| selectオプション | |
| 插件 | 说明 | 示例 |
|---|---|---|
| 文件上传 | |
| 表单输入 | |
| 分页组件 | |
| 编辑按钮 | |
| 下拉选项 | |
| プラグイン | 説明 | 例 |
|---|---|---|
| 権限制御ブロック | |
| ログイン処理 | |
| ログアウト処理 | |
| 插件 | 说明 | 示例 |
|---|---|---|
| 权限控制块 | |
| 登录处理 | |
| 登出处理 | |
| プラグイン | 説明 | 例 |
|---|---|---|
| メール送信 | |
| Slack通知 | |
| AI呼び出し | |
| GitHubデプロイ | |
| 插件 | 说明 | 示例 |
|---|---|---|
| 邮件发送 | |
| Slack通知 | |
| AI调用 | |
| GitHub部署 | |
| プラグイン | 説明 | 例 |
|---|---|---|
| ファイル書き込み | |
| ストレージアップロード | |
| ファイル読み込み | |
| ディレクトリ読み込み | |
| 插件 | 说明 | 示例 |
|---|---|---|
| 文件写入 | |
| 存储上传 | |
| 文件读取 | |
| 目录读取 | |
| プラグイン | 説明 | 例 |
|---|---|---|
| Vueコンポーネント | |
| headに追加 | |
| body終了前に追加 | |
| 插件 | 说明 | 示例 |
|---|---|---|
| Vue组件 | |
| 头部追加 | |
| 页面底部追加 | |
{function_name param1="value1" param2="value2"}{function_name param1="value1" param2="value2"}|{$variable|modifier1|modifier2:param}|{$variable|modifier1|modifier2:param}{block_name param="value"}
コンテンツ
{/block_name}{block_name param="value"}
内容
{/block_name}| カテゴリ | ファイル | 主なプラグイン |
|---|---|---|
| 構文リファレンス | syntax.md | 基本構文、制御構造、組み込み変数、ベストプラクティス |
| API・データ取得 | api-plugins.md | api_internal, assign_topics_list, assign_tag_list |
| 文字列処理 | string-plugins.md | escape, truncate, date_format, translate |
| 配列操作 | array-plugins.md | count, in_array, implode, explode, sort系 |
| フォーム・UI | form-plugins.md | fileupload, inquiry_input, pager, html_* |
| 認証・権限 | auth-plugins.md | rcms_auth, login, logout |
| 外部連携 | integration-plugins.md | sendmail, slack_*, ai_completion |
| ファイル操作 | file-plugins.md | write_file, put_file, read_file, read_dir |
| Vue.js連携 | vue-plugins.md | rcms_vue_component, head_include |
| 全プラグイン | all-plugins.md | 全206プラグイン一覧 |
| 分类 | 文件 | 主要插件 |
|---|---|---|
| 语法参考 | syntax.md | 基本语法、控制结构、内置变量、最佳实践 |
| API与数据获取 | api-plugins.md | api_internal, assign_topics_list, assign_tag_list |
| 字符串处理 | string-plugins.md | escape, truncate, date_format, translate |
| 数组操作 | array-plugins.md | count, in_array, implode, explode, 排序类 |
| 表单与UI | form-plugins.md | fileupload, inquiry_input, pager, html_* |
| 认证与权限 | auth-plugins.md | rcms_auth, login, logout |
| 外部联动 | integration-plugins.md | sendmail, slack_*, ai_completion |
| 文件操作 | file-plugins.md | write_file, put_file, read_file, read_dir |
| Vue.js联动 | vue-plugins.md | rcms_vue_component, head_include |
| 全插件 | all-plugins.md | 全部206个插件列表 |
{assign var="queries" value=$dataSet.emptyArray}
{append var="queries" index="cnt" value=10}
{append var="queries" index="filter" value="topics_flg = 1"}
{api_internal
endpoint='/rcms-api/1/news'
method='GET'
member_id=1
queries=$queries
var='result'
}
{foreach from=$result.list item="news"}
<h2>{$news.subject|escape}</h2>
<p>{$news.contents|truncate:200}</p>
<time>{$news.ymd|date_format:"%Y年%m月%d日"}</time>
{/foreach}
{pager data=$result.pageInfo}{assign var="queries" value=$dataSet.emptyArray}
{append var="queries" index="cnt" value=10}
{append var="queries" index="filter" value="topics_flg = 1"}
{api_internal
endpoint='/rcms-api/1/news'
method='GET'
member_id=1
queries=$queries
var='result'
}
{foreach from=$result.list item="news"}
<h2>{$news.subject|escape}</h2>
<p>{$news.contents|truncate:200}</p>
<time>{$news.ymd|date_format:"%Y年%m月%d日"}</time>
{/foreach}
{pager data=$result.pageInfo}{sendmail
var=mail_result
to=$inquiry.email
subject="お問い合わせありがとうございます"
mail_template="inquiry_thanks"
}
{slack_post_message
webhook_url=$smarty.const.SLACK_WEBHOOK_URL
text="新規問い合わせ: {$inquiry.name}様 - {$inquiry.subject}"
}{sendmail
var=mail_result
to=$inquiry.email
subject="感谢您的咨询"
mail_template="inquiry_thanks"
}
{slack_post_message
webhook_url=$smarty.const.SLACK_WEBHOOK_URL
text="新咨询: {$inquiry.name} 先生/女士 - {$inquiry.subject}"
}{rcms_auth target="write:news"}
<a href="/management/news/edit/">編集</a>
{/rcms_auth}
{rcms_auth target="delete:news"}
<button class="delete-btn">削除</button>
{/rcms_auth}{rcms_auth target="write:news"}
<a href="/management/news/edit/">编辑</a>
{/rcms_auth}
{rcms_auth target="delete:news"}
<button class="delete-btn">删除</button>
{/rcms_auth}Smarty構文について: バッチ処理・トリガーはSmartyテンプレートで記述します。構文やプラグインの詳細は上記 Part 1 を参照してください。
关于Smarty语法: 批量处理、触发器使用Smarty模板编写。语法与插件详情请参考上述Part 1。
| 頻度 | 用途 |
|---|---|
| 15分毎 | 頻繁な同期が必要な場合 |
| 30分毎 | 準リアルタイム処理 |
| 1時間毎 | 定期的な集計・更新 |
| 毎日(指定時刻) | 日次レポート、バックアップ |
| 频率 | 用途 |
|---|---|
| 每15分钟 | 需要频繁同步的场景 |
| 每30分钟 | 准实时处理 |
| 每1小时 | 定期统计与更新 |
| 每日(指定时间) | 日度报告、备份 |
| 項目 | 説明 | 例 |
|---|---|---|
| タイトル | バッチの名前 | CSV出力バッチ |
| 識別子 | ユニークな識別子(英数字) | csv_export |
| 実行頻度 | 実行間隔 | 毎日 03:00 |
| 実行内容 | Smarty構文で記述 | 下記参照 |
| 项目 | 说明 | 示例 |
|---|---|---|
| 标题 | 批量任务名称 | CSV导出任务 |
| 标识符 | 唯一标识符(英数字) | csv_export |
| 执行频率 | 执行间隔 | 每日 03:00 |
| 执行内容 | 使用Smarty语法编写 | 详见下文 |
{api_internal
endpoint='/rcms-api/1/news'
method='GET'
member_id=1
queries=$queries
var='response'
}{api_internal
endpoint='/rcms-api/1/news'
method='GET'
member_id=1
queries=$queries
var='response'
}{assign var="queries" value=$dataSet.emptyArray}
{append var="queries" index="cnt" value=0}
{append var="queries" index="filter" value="topics_flg = 1"}
{api_internal
endpoint='/rcms-api/1/news'
method='GET'
member_id=1
queries=$queries
var='news_list'
}
{foreach from=$news_list.list item="news"}
ID: {$news.topics_id}, タイトル: {$news.subject}
{/foreach}{assign var="queries" value=$dataSet.emptyArray}
{append var="queries" index="cnt" value=0}
{append var="queries" index="filter" value="topics_flg = 1"}
{api_internal
endpoint='/rcms-api/1/news'
method='GET'
member_id=1
queries=$queries
var='news_list'
}
{foreach from=$news_list.list item="news"}
ID: {$news.topics_id}, 标题: {$news.subject}
{/foreach}{assign var="body" value=$dataSet.emptyArray}
{append var="body" index="subject" value="タイトル"}
{append var="body" index="contents" value="本文"}
{append var="body" index="topics_flg" value=1}
{api_internal
endpoint='/rcms-api/1/news/insert'
method='POST'
member_id=1
body=$body
var='result'
}{assign var="body" value=$dataSet.emptyArray}
{append var="body" index="subject" value="标题"}
{append var="body" index="contents" value="正文"}
{append var="body" index="topics_flg" value=1}
{api_internal
endpoint='/rcms-api/1/news/insert'
method='POST'
member_id=1
body=$body
var='result'
}{api_request
url='https://api.example.com/endpoint'
method='GET'
headers=$headers
body=$body
var='response'
}{api_request
url='https://api.example.com/endpoint'
method='GET'
headers=$headers
body=$body
var='response'
}{assign var="headers" value=$dataSet.emptyArray}
{append var="headers" index="Content-Type" value="application/json"}
{append var="headers" index="Authorization" value="Bearer YOUR_API_KEY"}
{assign var="body" value=$dataSet.emptyArray}
{append var="body" index="message" value="Hello"}
{api_request
url='https://api.example.com/post'
method='POST'
headers=$headers
body=$body|@json_encode
var='response'
}{assign var="headers" value=$dataSet.emptyArray}
{append var="headers" index="Content-Type" value="application/json"}
{append var="headers" index="Authorization" value="Bearer YOUR_API_KEY"}
{assign var="body" value=$dataSet.emptyArray}
{append var="body" index="message" value="Hello"}
{api_request
url='https://api.example.com/post'
method='POST'
headers=$headers
body=$body|@json_encode
var='response'
}| イベント | タイミング |
|---|---|
| 作成時 | コンテンツ新規作成後 |
| 更新時 | コンテンツ更新後 |
| 削除時 | コンテンツ削除後 |
| 公開時 | 公開ステータス変更時 |
{$topics.topics_id} {* コンテンツID *}
{$topics.subject} {* タイトル *}
{$topics.contents} {* 本文 *}
{$topics.ymd} {* 公開日 *}
{$topics.ext_col_01} {* 拡張項目 *}| 事件 | 触发时机 |
|---|---|
| 创建时 | 内容新建完成后 |
| 更新时 | 内容更新完成后 |
| 删除时 | 内容删除完成后 |
| 发布时 | 发布状态变更时 |
{$topics.topics_id} {* 内容ID *}
{$topics.subject} {* 标题 *}
{$topics.contents} {* 正文 *}
{$topics.ymd} {* 发布日期 *}
{$topics.ext_col_01} {* 扩展字段 *}{$inquiry.inquiry_id} {* 回答ID *}
{$inquiry.name} {* 名前 *}
{$inquiry.email} {* メールアドレス *}
{$inquiry.message} {* メッセージ *}{$inquiry.inquiry_id} {* 回复ID *}
{$inquiry.name} {* 姓名 *}
{$inquiry.email} {* 邮箱地址 *}
{$inquiry.message} {* 留言内容 *}{assign var="message" value=$dataSet.emptyArray}
{append var="message" index="text" value="通知メッセージ"}
{slack_send
webhook_url="https://hooks.slack.com/services/xxx/yyy/zzz"
body=$message|@json_encode
}{assign var="message" value=$dataSet.emptyArray}
{append var="message" index="text" value="通知消息"}
{slack_send
webhook_url="https://hooks.slack.com/services/xxx/yyy/zzz"
body=$message|@json_encode
}{send_mail
to="recipient@example.com"
subject="件名"
body="本文"
}{send_mail
to="recipient@example.com"
subject="标题"
body="正文"
}{assign var="headers" value=$dataSet.emptyArray}
{append var="headers" index="Authorization" value="token YOUR_GITHUB_TOKEN"}
{append var="headers" index="Accept" value="application/vnd.github.v3+json"}
{assign var="body" value=$dataSet.emptyArray}
{append var="body" index="event_type" value="kuroco-update"}
{api_request
url='https://api.github.com/repos/owner/repo/dispatches'
method='POST'
headers=$headers
body=$body|@json_encode
var='response'
}{assign var="headers" value=$dataSet.emptyArray}
{append var="headers" index="Authorization" value="token YOUR_GITHUB_TOKEN"}
{append var="headers" index="Accept" value="application/vnd.github.v3+json"}
{assign var="body" value=$dataSet.emptyArray}
{append var="body" index="event_type" value="kuroco-update"}
{api_request
url='https://api.github.com/repos/owner/repo/dispatches'
method='POST'
headers=$headers
body=$body|@json_encode
var='response'
}{api_internal
endpoint='/rcms-api/1/news'
method='GET'
member_id=1
var='response'
}
{if $response.errors}
{slack_send webhook_url="..." text="エラー: {$response.errors|@json_encode}"}
{log message="エラー: {$response.errors|@json_encode}"}
{else}
{log message="処理完了: {$response.pageInfo.totalCnt}件"}
{/if}{api_internal
endpoint='/rcms-api/1/news'
method='GET'
member_id=1
var='response'
}
{if $response.errors}
{slack_send webhook_url="..." text="错误: {$response.errors|@json_encode}"}
{log message="错误: {$response.errors|@json_encode}"}
{else}
{log message="处理完成: {$response.pageInfo.totalCnt}条"}
{/if}{assign var="page" value=1}
{while true}
{assign var="queries" value=$dataSet.emptyArray}
{append var="queries" index="pageID" value=$page}
{append var="queries" index="cnt" value=100}
{api_internal endpoint='/rcms-api/1/news' method='GET' member_id=1 queries=$queries var='response'}
{foreach from=$response.list item="item"}
{* 処理 *}
{/foreach}
{if $page >= $response.pageInfo.totalPageCnt}{break}{/if}
{assign var="page" value=$page+1}
{/while}{assign var="page" value=1}
{while true}
{assign var="queries" value=$dataSet.emptyArray}
{append var="queries" index="pageID" value=$page}
{append var="queries" index="cnt" value=100}
{api_internal endpoint='/rcms-api/1/news' method='GET' member_id=1 queries=$queries var='response'}
{foreach from=$response.list item="item"}
{* 处理逻辑 *}
{/foreach}
{if $page >= $response.pageInfo.totalPageCnt}{break}{/if}
{assign var="page" value=$page+1}
{/while}/kuroco-api-content/kuroco-mng-api-browser/kuroco-api-content/kuroco-mng-api-browser../kuroco-docs/docs/tutorials/how-to-use-batch.md../kuroco-docs/docs/tutorials/auto-run-github-with-contents-update.md../kuroco-docs/docs/tutorials/send-slack-notification-after-a-form-has-been-submitted.md../kuroco-docs/docs/reference/trigger-variables.md../kuroco-docs/docs/tutorials/how-to-use-batch.md../kuroco-docs/docs/tutorials/auto-run-github-with-contents-update.md../kuroco-docs/docs/tutorials/send-slack-notification-after-a-form-has-been-submitted.md../kuroco-docs/docs/reference/trigger-variables.md