logologo
Start
Dokumentacja
Deweloperzy
Wtyczki
API
English
简体中文
日本語
한국어
Deutsch
Français
Español
Português
Русский
Italiano
Türkçe
Українська
Tiếng Việt
Bahasa Indonesia
ไทย
Polski
Nederlands
Čeština
العربية
עברית
हिन्दी
Svenska
Start
Dokumentacja
Deweloperzy
Wtyczki
API
logologo
Przegląd

Bloki

Przegląd

Bloki danych

Tabela
Formularz
Szczegóły
Lista
Karty siatki
Wykres

Blok filtrów

Formularz

Inne bloki

Panel akcji
Iframe
Blok referencyjny
Markdown
Blok JS

Ustawienia bloku

Zakres danych
Układ
Reguły interakcji bloków
Reguły interakcji pól
Reguły sortowania
Usuwanie bloku
Tytuł bloku

Pola

Przegląd

Ustawienia ogólne

Pola tabeli
Pola szczegółów
Pola formularza filtrowania
Pola formularza

Ustawienia specyficzne

Data
Menedżer plików
Podformularz
Selektor rozwijany
Selektor danych
Selektor kaskadowy
Podtabela
Podszczegóły
Tytuł
Pole JS
Element JS
Kolumna JS

Ustawienia pola

Wartość domyślna
Etykieta pola
Pokaż etykietę
Podpowiedź pola
Zakres danych
Komponent pola
Formatowanie liczbowe
Tryb
Wymagane
Pole tytułowe
Reguły walidacji
Komponent pola relacyjnego

Akcje

Przegląd

Ustawienia akcji

Przycisk edycji
Wymagaj potwierdzenia
Przypisanie wartości pola
Powiąż przepływ pracy
Okno edycji
Reguły interakcji akcji

Typy akcji

Dodaj
Wyświetl
Usuń
Edytuj
Importuj
Importuj Pro
Eksportuj
Eksportuj Pro
Eksportuj załączniki
Filtruj
Link
Otwórz okno
Odśwież
Prześlij dane
Uruchom przepływ pracy
Zaktualizuj rekord
Aktualizacja masowa
Dodaj podrekord
Akcja JS
Uprawnienia do akcji

Zaawansowane

Reguły interakcji
Strumień zdarzeń
Zmienne
Uruchom JS
Previous PagePanel akcji
Next PageBlok referencyjny
TIP

Ten dokument został przetłumaczony przez AI. W przypadku niedokładności, proszę odnieść się do wersji angielskiej

#Blok Iframe

This feature is provided by the plugin «Blok: iframe»

#Wprowadzenie

Blok Iframe umożliwia osadzanie zewnętrznych stron internetowych lub treści na bieżącej stronie. Mogą Państwo łatwo zintegrować zewnętrzne aplikacje na stronie, konfigurując adres URL lub bezpośrednio wstawiając kod HTML. Korzystając ze strony HTML, mogą Państwo elastycznie dostosowywać zawartość do konkretnych potrzeb wyświetlania. Ta metoda jest szczególnie odpowiednia dla scenariuszy wymagających spersonalizowanego wyświetlania, ponieważ pozwala ładować zasoby zewnętrzne bez przekierowań, co poprawia komfort użytkowania i interaktywność strony.

20251026205102

#Składnia szablonu

W trybie HTML zawartość bloku obsługuje użycie składni silnika szablonów Liquid.

20251026205331

#Obsługa zmiennych

#Obsługa zmiennych w HTML

  • Umożliwia wybieranie zmiennych z bieżącego kontekstu bloku za pomocą selektora zmiennych. 20251026205441

  • Umożliwia wstrzykiwanie i używanie zmiennych w aplikacji za pomocą kodu.

Mogą Państwo również wstrzykiwać niestandardowe zmienne do aplikacji za pomocą kodu i używać ich w HTML. Na przykład, tworząc dynamiczną aplikację kalendarza za pomocą Vue 3 i 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

Przykład: Prosty komponent kalendarza stworzony za pomocą React i Ant Design (antd), wykorzystujący dayjs do obsługi dat.

<!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

#Obsługa zmiennych w URL

20251026212608

Więcej informacji na temat zmiennych znajdą Państwo w sekcji Zmienne.