loodsen/bx.options

选项管理器

安装: 362

依赖: 0

建议: 0

安全性: 0

星标: 1

关注者: 1

分支: 1

开放问题: 0

类型:bitrix-module

0.4.11 2023-04-07 06:54 UTC

This package is auto-updated.

Last update: 2024-09-19 12:14:44 UTC


README

使用

示例文件 /local/modules/some/options.php

<?php

global $USER;
global $APPLICATION;

if (!$USER->IsAdmin()) {
    return;
}

use Bitrix\Main\Loader;
use Bx\Options\Form\Element\Field\SelectField;
use Bx\Options\Form\Element\Field\TextField;
use Bx\Options\Form\Element\UI\Divider;
use Bx\Options\Form\Element\UI\Notice;
use Bx\Options\Form\Render\JsonRender;
use Bx\Options\Form\Element\Tab;
use Bx\Options\Form\TabbedForm;
use Bx\Options\Form\Validator\NotEmpty;

Loader::includeModule('bx.options');

$cityVariant = [
  "1" => "Москва",
  "2" => "Москва 2",
  "3" => "Москва 3",
  "4" => "Москва 4",
];


$form = new TabbedForm(
    "",
    new Tab(
        "Общие настройки",
        (new TextField("some_setting", "Название"))
        ->setValidator(new NotEmpty()),
        new TextField("some_setting1", "Название 1"),
        new Divider("Разделитель"),
        new TextField("some_setting2", "Название 2"),
        new TextField("some_setting3", "Название 3"),
        new SelectField("some_select", "Город", $cityVariant)
    ),
    new Tab(
        "Логирование",
        new Notice("Заголовок", "Текст", "info"),
        new TextField("some_setting123", "Название2"),
        new SelectField("some_select2", "Город2", $cityVariant, true),
        new Divider("Разделитель2"),
    )
);

$APPLICATION->IncludeComponent("bx.options:option.form", "vue_app", [
  "UI_OBJECT" => $form,
  "NAMESPACE" => "bx.options",
]);

模块开发

为了开发模块的前端,需要安装依赖

cd options_app
yarn install

为了启动开发服务器

yarn serve

处理测试数据

在开发过程中,可以使用测试数据,有两种方式

  1. 使用测试数据而不启动 Bitrix 服务器,只需从文件 option_app/public/dev_data.json 中获取数据即可
  2. 使用 API 数据,需要启动 Bitrix 服务器,并将文件中的 useApi 值更改为 true