logologo
Початок
Посібник
Розробка
Плагіни
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Початок
Посібник
Розробка
Плагіни
API
logologo
Огляд

Блоки

Огляд

Блоки даних

Таблиця
Форма
Деталі
Список
Картки-сітка
Діаграма

Блок фільтрів

Форма

Інші блоки

Панель керування
Iframe
Блок посилання
Markdown
JS Block

Налаштування блоку

Діапазон даних
Макет
Правила зв'язування блоків
Правила зв'язування полів
Правила сортування
Видалення блоку
Заголовок блоку

Поле

Огляд

Загальні налаштування

Поля таблиці
Поля деталей
Поля форми фільтрації
Поля форми

Специфічні налаштування

Дата
Файловий менеджер
Підформа
Випадаючий список
Селектор даних
Каскадний селектор
Підтаблиця
Піддеталі
Заголовок
JS Field
JS Item
JS Column

Налаштування поля

Значення за замовчуванням
Мітка поля
Показувати мітку
Підказка для поля
Діапазон даних
Компонент поля
Форматування чисел
Режим
Обов'язкове
Поле заголовка
Правила валідації
Компонент поля зв'язку

Дія

Огляд

Налаштування дії

Кнопка редагування
Повторне підтвердження
Призначення поля
Прив'язка робочого процесу
Спливаюче вікно редагування
Правила зв'язування дій

Тип дії

Додати
Перегляд
Видалити
Редагувати
Імпорт
Імпорт Pro
Експорт
Експорт Pro
Експорт вкладень
Фільтр
Посилання
Відкрити спливаюче вікно
Оновити
Надіслати дані
Запустити робочий процес
Оновити запис
Масове оновлення
Додати підзапис
JS Action
Дозволи на дії

Поглиблено

Правила зв'язування
Потік подій
Змінна
RunJS
Previous PageПанель керування
Next PageБлок посилання
Повідомлення про переклад ШІ

Ця документація була автоматично перекладена штучним інтелектом.

#Блок Iframe

This feature is provided by the plugin «Блок: iframe»

#Вступ

Блок Iframe дозволяє вбудовувати зовнішні вебсторінки або контент у поточну сторінку. Ви можете легко інтегрувати зовнішні застосунки на сторінку, налаштувавши URL або безпосередньо вставивши HTML-код. Використовуючи HTML-сторінку, ви можете гнучко налаштовувати вміст відповідно до ваших потреб відображення. Цей метод особливо підходить для сценаріїв, що вимагають індивідуального відображення, оскільки він дозволяє завантажувати зовнішні ресурси без перенаправлення, покращуючи взаємодію з користувачем та інтерактивність сторінки.

20251026205102

#Синтаксис шаблонів

В режимі HTML вміст блоку підтримує використання синтаксису шаблонного рушія Liquid.

20251026205331

#Підтримка змінних

#Підтримка змінних в HTML

  • Підтримує вибір змінних з поточного контексту блоку за допомогою селектора змінних. 20251026205441

  • Підтримує впровадження та використання змінних у застосунку за допомогою коду.

Ви також можете впроваджувати власні змінні в застосунок за допомогою коду та використовувати їх в HTML. Наприклад, створіть динамічний календарний застосунок, використовуючи Vue 3 та Element Plus:

<!doctype html>
<html lang="zh">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Vue3 CDN Example</title>
    <script src="https://cdn.bootcdn.net/ajax/libs/vue/3.5.9/vue.global.prod.js"></script>
    <script src="https://unpkg.com/element-plus"></script>
    <script src="https://unpkg.com/element-plus/dist/locale/zh-cn"></script>
    <link
      rel="stylesheet"
      href="https://unpkg.com/element-plus/dist/index.css"
    />
  </head>
  <body>
    <div id="app">
      <el-container>
        <el-main>
          <el-calendar v-model="month">
            <div class="header-container">
              <div class="action-group">
                <span class="month-display">{{ month }}</span>
                <el-button-group>
                  <el-button
                    type="primary"
                    :loading="loading"
                    @click="changeMonth(-1)"
                    >Last month</el-button
                  >
                  <el-button
                    type="primary"
                    :loading="loading"
                    @click="changeMonth(1)"
                    >Next month</el-button
                  >
                </el-button-group>
              </div>
            </div>
          </el-calendar>
        </el-main>
      </el-container>
    </div>
    <script>
      const { createApp, ref, provide } = Vue;
      const app = createApp({
        setup() {
          const month = ref(new Date().toISOString().slice(0, 7));
          const loading = ref(false);

          const changeMonth = (offset) => {
            const date = new Date(month.value + '-01');
            date.setMonth(date.getMonth() + offset);
            month.value = date.toISOString().slice(0, 7);
          };
          provide('month', month);
          provide('changeMonth', changeMonth);
          return { month, loading, changeMonth };
        },
      });
      app.use(ElementPlus);
      app.mount('#app');
    </script>
  </body>
</html>
![20250320163250](https://static-docs.nocobase.com/20250320163250.png)

Приклад: Простий компонент календаря, створений за допомогою React та Ant Design (antd), що використовує dayjs для роботи з датами.

```html
<!doctype html>
<html lang="zh">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>React CDN Example</title>
    <script src="https://unpkg.com/react@18/umd/react.production.min.js"></script>
    <script src="https://unpkg.com/react-dom@18/umd/react-dom.production.min.js"></script>
    <link
      rel="stylesheet"
      href="https://cdn.jsdelivr.net/npm/antd/dist/antd.min.css"
    />
    <script src="https://unpkg.com/dayjs/dayjs.min.js"></script>
  </head>
  <body>
    <div id="app"></div>
    <script src="https://cdn.jsdelivr.net/npm/antd/dist/antd.min.js"></script>
    <script>
      document.addEventListener('DOMContentLoaded', function () {
        const { useState } = React;
        const { Calendar, Button, Space, Typography } = window.antd;
        const { Title } = Typography;
        const CalendarComponent = () => {
          const [month, setMonth] = useState(dayjs().format('YYYY-MM'));
          const [loading, setLoading] = useState(false);
          const changeMonth = (offset) => {
            const newMonth = dayjs(month)
              .add(offset, 'month')
              .format('YYYY-MM');
            setMonth(newMonth);
          };
          return React.createElement(
            'div',
            { style: { padding: 20 } },
            React.createElement(
              'div',
              {
                style: {
                  display: 'flex',
                  justifyContent: 'space-between',
                  alignItems: 'center',
                  marginBottom: 16,
                },
              },
              React.createElement(Title, { level: 4 }, month),
              React.createElement(
                Space,
                null,
                React.createElement(
                  Button,
                  { type: 'primary', loading, onClick: () => changeMonth(-1) },
                  'Last month',
                ),
                React.createElement(
                  Button,
                  { type: 'primary', loading, onClick: () => changeMonth(1) },
                  'Next month',
                ),
              ),
            ),
            React.createElement(Calendar, {
              fullscreen: false,
              value: dayjs(month),
            }),
          );
        };
        ReactDOM.createRoot(document.getElementById('app')).render(
          React.createElement(CalendarComponent),
        );
      });
    </script>
  </body>
</html>

20250320164537

#Підтримка змінних в URL

20251026212608

Більше інформації про змінні дивіться у розділі Змінні.