catdesign/forms-plugin

为 October CMS 简化表单的创建和管理

安装: 89

依赖关系: 0

建议者: 0

安全: 0

星标: 1

关注者: 1

分支: 2

类型:october-plugin

1.0.8 2022-02-20 10:17 UTC

This package is auto-updated.

Last update: 2024-09-29 05:56:56 UTC


README

作者: Semen Kuznetsov (CatDesign Group)

作者 URL: https://cat-design.ru

英文

关于插件

允许您管理网站上的表单。处理表单,发送邮件模板中的数据。与 Send Pulse 服务集成。

此插件适用于开发者。允许您简化网站表单的实现,为客户组织表单管理。

插件通过标准的 data-attributes-api 使用 Ajax 处理器。所有事件都在管理界面中管理。

插件提供基本的表单绘制部分。标准空白非常灵活,但在某些情况下,您可能需要根据基本示例编写自己的代码。

表单与 SendPulse 的集成是开箱即用的。为此,您需要填写 SendPulse API 设置。

其他功能。Shopaholic 订单与 SendPulse 的集成。需要 OrdersForShopaholic 插件。

使用 composer 安装

composer require catdesign/forms-plugin

注意!不要给予客户完整的系统根访问权限,否则他们可能会通过错误的设置破坏插件。权限在插件中已准备好。创建新用户并分配 - 管理员权限

获取表单

首先,创建表单和必要的字段。表单创建后,将分配一个代码。将表单组件抛到所需的网站页面或布局中。

总共有两种获取表单的方式。

1. 通过 ID 获取

{% set form = Forms.getByID(1) %}

我不推荐这种方法,因为删除表单时您将不得不替换代码中的调用。

2. 通过代码获取

{% set form = Forms.getByCode('code') %}

此方法更可取,因为您始终可以分配一个代码给表单。(需要开发者权限)

页面渲染(宏)

将宏导入模板

{% import 'catdesign.forms::macros' as Constructor %}

获取表单

{% set form = Forms.getByCode('code') %}

打开表单

{{ Constructor.open('css_id', form, 'css_classes', {additional_data_one: value, additional_data_two: value}) }}

渲染表单标题

{{ Constructor.title(form, 'css_title_classes', 'css_description_classes') }}

渲染所有字段

{{ Constructor.fields(form, 'css_wrapper_classes') }}

或渲染单个字段

{{ Constructor.hidden(form, 'field_code', 'css_classes', 'css_field_id') }}

{{ Constructor.text(form, 'field_code', 'css_classes', 'css_wrapper_classes', 'css_field_id') }}

{{ Constructor.select(form, 'field_code', 'css_classes', 'css_wrapper_classes', 'css_field_id') }}

{{ Constructor.number(form, 'field_code', 'css_classes', 'css_wrapper_classes', 'css_field_id') }}

{{ Constructor.checkbox(form, 'field_code', 'css_classes', 'css_wrapper_classes', 'css_field_id') }}

{{ Constructor.radio(form, 'field_code', 'css_classes', 'css_wrapper_classes', 'css_field_id') }}

{{ Constructor.textarea(form, 'field_code', 'css_classes', 'css_wrapper_classes', 'css_field_id') }}

渲染提交按钮

{{ Constructor.submit(form, 'css_classes', 'css_wrapper_classes', 'css_field_id') }}

关闭表单

{{ Constructor.close() }}

从两个字段的简单反馈表单绘制示例

{% import 'catdesign.forms::macros' as Constructor %}
{% set form= Forms.getByCode('feedback') %}

{{ Constructor.open('feedback', form, 'form', {current_url: this.page.url}) }}
    {{ Constructor.title(form, 'form__title', 'form__description') }}
    {{ Constructor.text(form, 'name', 'form-group__field', 'form__group', 'feedback-name') }}
    {{ Constructor.text(form, 'phone', 'form-group__field', 'form__group', null) }}
    {{ Constructor.submit(form, 'button button__green', 'form__button', null) }}
{{ Constructor.close() }}

请注意,宏变量是可选的。如果不需要 css_classes,例如,可以传递 null。