XOOPS 양식 요소
XOOPS는 XoopsFormElement 클래스 계층을 통해 포괄적인 양식 요소 세트를 제공합니다. 이러한 요소는 웹 양식의 렌더링, 유효성 검사 및 데이터 처리를 처리합니다.
양식 요소 계층 구조
섹션 제목: “양식 요소 계층 구조”classDiagram class XoopsFormElement { +getName() +getCaption() +render() +setValue() +getValue() }
XoopsFormElement <|-- XoopsFormText XoopsFormElement <|-- XoopsFormTextArea XoopsFormElement <|-- XoopsFormSelect XoopsFormElement <|-- XoopsFormCheckBox XoopsFormElement <|-- XoopsFormRadio XoopsFormElement <|-- XoopsFormButton XoopsFormElement <|-- XoopsFormHidden XoopsFormElement <|-- XoopsFormFile XoopsFormElement <|-- XoopsFormLabel XoopsFormElement <|-- XoopsFormPassword XoopsFormElement <|-- XoopsFormDateTime텍스트 입력 요소
섹션 제목: “텍스트 입력 요소”XoopsFormText
섹션 제목: “XoopsFormText”한 줄 텍스트 입력:
use XoopsFormText;
$element = new XoopsFormText( caption: 'Username', name: 'username', size: 30, maxlength: 50, value: $currentValue);XoopsFormPassword
섹션 제목: “XoopsFormPassword”마스킹을 통한 비밀번호 입력:
use XoopsFormPassword;
$element = new XoopsFormPassword( caption: 'Password', name: 'password', size: 30, maxlength: 100);XoopsFormTextArea
섹션 제목: “XoopsFormTextArea”여러 줄 텍스트 입력:
use XoopsFormTextArea;
$element = new XoopsFormTextArea( caption: 'Description', name: 'description', value: $currentValue, rows: 5, cols: 50);선택 요소
섹션 제목: “선택 요소”XoopsFormSelect
섹션 제목: “XoopsFormSelect”드롭다운 선택:
use XoopsFormSelect;
$element = new XoopsFormSelect( caption: 'Category', name: 'category_id', value: $selected, size: 1, multiple: false);
$element->addOption(1, 'Category 1');$element->addOption(2, 'Category 2');$element->addOptionArray([ 3 => 'Category 3', 4 => 'Category 4']);XoopsFormCheckBox
섹션 제목: “XoopsFormCheckBox”체크박스 입력:
use XoopsFormCheckBox;
$element = new XoopsFormCheckBox( caption: 'Features', name: 'features', value: $selected);
$element->addOption('comments', 'Enable Comments');$element->addOption('ratings', 'Enable Ratings');XoopsFormRadio
섹션 제목: “XoopsFormRadio”라디오 버튼 그룹:
use XoopsFormRadio;
$element = new XoopsFormRadio( caption: 'Status', name: 'status', value: $currentValue);
$element->addOption('draft', 'Draft');$element->addOption('published', 'Published');$element->addOption('archived', 'Archived');파일 업로드
섹션 제목: “파일 업로드”XoopsFormFile
섹션 제목: “XoopsFormFile”파일 업로드 입력:
use XoopsFormFile;
$element = new XoopsFormFile( caption: 'Upload Image', name: 'image');
$element->setMaxFileSize(2 * 1024 * 1024); // 2MB날짜 및 시간
섹션 제목: “날짜 및 시간”XoopsFormDateTime
섹션 제목: “XoopsFormDateTime”날짜/시간 선택기:
use XoopsFormDateTime;
$element = new XoopsFormDateTime( caption: 'Publish Date', name: 'publish_date', size: 15, value: time());특수 요소
섹션 제목: “특수 요소”XoopsFormHidden
섹션 제목: “XoopsFormHidden”숨겨진 필드:
use XoopsFormHidden;
$element = new XoopsFormHidden('article_id', $articleId);XoopsFormLabel
섹션 제목: “XoopsFormLabel”표시 전용 라벨:
use XoopsFormLabel;
$element = new XoopsFormLabel( caption: 'Created By', value: $authorName);XoopsFormButton
섹션 제목: “XoopsFormButton”양식 버튼:
use XoopsFormButton;
// Submit button$submit = new XoopsFormButton('', 'submit', 'Save', 'submit');
// Reset button$reset = new XoopsFormButton('', 'reset', 'Reset', 'reset');요소 사용자 정의
섹션 제목: “요소 사용자 정의”CSS 클래스 추가
섹션 제목: “CSS 클래스 추가”$element->setExtra('class="form-control custom-class"');맞춤 속성 추가
섹션 제목: “맞춤 속성 추가”$element->setExtra('data-validate="required" placeholder="Enter text..."');설정 설명
섹션 제목: “설정 설명”$element->setDescription('Enter a unique username (3-20 characters)');관련 문서
섹션 제목: “관련 문서”- 양식 개요
- 양식 유효성 검사
- 맞춤형 렌더러