bitrix-highloadblock について
Bitrix Highload blocks の開発者向けリファレンススキルです。フラットな ORM テーブル、UF_* フィールド、レコード操作を扱い、データモデルの保守に必要な関連、権限、イベント、移行、性能診断も説明します。
主な機能
- 01Highload block と UF フィールドの管理
- 02データクラスによるレコード CRUD
- 03関連とディレクトリプロパティの処理
- 04ORM イベントと権限チェックの説明
- 05バッチ処理と性能診断の案内
- 06移行とスキーマ変更ルールの説明
活用シーン
- 01Highload block のフィールド作成や変更
- 02Highload block レコードのインポートや更新
- 03関連・権限・イベントの問題調査
- 04バッチ処理やキャッシュ性能の診断
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ bxmaximum/ bitrix-framework-skills --skill bitrix-highloadblockインストール後、Claude Code で/bitrix-highloadblockを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
rules/components.mdevents-rights.mdmanage-blocks.mdperformance.mdrecords.mdrelations-directory.md詳細
Highload ブロック
ベースライン:main 23.0+ · 検証済み:highloadblock 25.100.0、main 26.800.0
列がユーザーフィールド(UF_*)であるフラットな ORM テーブルです。セクション、ツリー、SEO はありません。それらが必要な場合は bitrix-iblocks を、スキーマをコードで管理する場合は独自のタブレット(bitrix-orm)を使用してください。
| タスク | 参照先 |
|---|---|
| ブロック、UF フィールド、ストレージレイアウトの作成・名前変更・削除、再コンパイル、マイグレーション | rules/manage-blocks.md |
| レコードの CRUD、複数値/ファイル値、エラー、冪等なインポート | rules/records.md |
hlblock のリンク、_REF/_SINGLE、iblock の directory プロパティ | rules/relations-directory.md |
ORM イベント(二重ディスパッチ)、権限 hl_element_* | rules/events-rights.md |
highloadblock.list/highloadblock.view | rules/components.md |
| バッチ処理、インデックス、キャッシュ、SQL トラッキング、診断 | rules/performance.md |
不変条件
- 最初に
Loader::includeModule('highloadblock')を実行します。安定したNAMEでブロックを検索してください。数値のIDは環境ごとに異なります。 HighloadBlockTable::compileEntity($idOrNameOrRow)はリクエストごとに一度だけ実行し、その後$entity->getDataClass()を呼び出します。ブロックが不明な場合はSystemExceptionがスローされます。- 書き込みはデータクラス(
add/update/delete)経由でのみ行い、HL テーブルやその複数値テーブルに生の SQL を実行しないでください。 add()/update()は不明なキーを黙って破棄します。$dataClass::getEntity()->hasField()でコードを確認してください。- データクラスの呼び出しでは権限はチェックされません。
hl_element_*を自分で確認してください。 - UF、
NAME、またはTABLE_NAMEを変更した後は、新しいリクエストで処理を続けてください。
コメント
Markdown 対応