blocs / admin
BLOCS administration package
Installs: 1 337
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 2
Forks: 0
Open Issues: 0
Requires
- blocs/blocs: *
- blocs/docs: *
- dev-main
- v1.1.134
- v1.1.133
- v1.1.132
- v1.1.131
- v1.1.130
- v1.1.129
- v1.1.128
- v1.1.127
- v1.1.126
- v1.1.125
- v1.1.124
- v1.1.123
- v1.1.122
- v1.1.121
- v1.1.120
- v1.1.119
- v1.1.118
- v1.1.117
- v1.1.116
- v1.1.115
- v1.1.114
- v1.1.113
- v1.1.112
- v1.1.111
- v1.1.110
- v1.1.109
- v1.1.108
- v1.1.107
- v1.1.106
- v1.1.105
- v1.1.104
- v1.1.103
- v1.1.102
- v1.1.101
- v1.1.100
- v1.1.99
- v1.1.98
- v1.1.97
- v1.1.96
- v1.1.95
- v1.1.94
- v1.1.93
- v1.1.92
- v1.1.91
- v1.1.90
- v1.1.89
- v1.1.88
- v1.1.87
- v1.1.86
- v1.1.85
- v1.1.84
- v1.1.83
- v1.1.82
- v1.1.81
- v1.1.80
- v1.1.79
- v1.1.78
- v1.1.77
- v1.1.76
- v1.1.75
- v1.1.74
- v1.1.73
- v1.1.72
- v1.1.71
- v1.1.70
- v1.1.69
- v1.1.68
- v1.1.67
- v1.1.66
- v1.1.65
- v1.1.64
- v1.1.63
- v1.1.62
- v1.1.61
- v1.1.60
- v1.1.59
- v1.1.58
- v1.1.57
- v1.1.56
- v1.1.55
- v1.1.54
- v1.1.53
- v1.1.52
- v1.1.51
- v1.1.50
- v1.1.49
- v1.1.48
- v1.1.47
- v1.1.46
- v1.1.45
- v1.1.44
- v1.1.43
- v1.1.42
- v1.1.41
- v1.1.40
- v1.1.39
- v1.1.38
- v1.1.37
- v1.1.36
- v1.1.35
- v1.1.34
- v1.1.33
- v1.1.32
- v1.1.31
- v1.1.30
- v1.1.29
- v1.1.28
- v1.1.27
- v1.1.26
- v1.1.25
- v1.1.24
- v1.1.23
- v1.1.22
- v1.1.21
- v1.1.20
- v1.1.19
- v1.1.18
- v1.1.17
- v1.1.16
- v1.1.15
- v1.1.14
- v1.1.13
- v1.1.12
- v1.1.11
- v1.1.10
- v1.1.9
- v1.1.8
- v1.1.7
- v1.1.6
- v1.1.5
- v1.1.4
- v1.1.3
- v1.1.2
- v1.1.1
- v1.1.0
- v1.0.154
- v1.0.153
- v1.0.152
- v1.0.151
- v1.0.150
- v1.0.149
- v1.0.148
- v1.0.147
- v1.0.146
- v1.0.145
- v1.0.144
- v1.0.143
- v1.0.142
- v1.0.141
- v1.0.140
- v1.0.139
- v1.0.138
- v1.0.137
- v1.0.136
- v1.0.135
- v1.0.134
- v1.0.133
- v1.0.132
- v1.0.131
- v1.0.130
- v1.0.129
- v1.0.128
- v1.0.127
- v1.0.126
- v1.0.125
- v1.0.124
- v1.0.123
- v1.0.122
- v1.0.121
- v1.0.120
- v1.0.119
- v1.0.118
- v1.0.117
- v1.0.116
- v1.0.115
- v1.0.114
- v1.0.113
- v1.0.112
- v1.0.111
- v1.0.110
- v1.0.109
- v1.0.108
- v1.0.107
- v1.0.106
- v1.0.105
- v1.0.104
- v1.0.103
- v1.0.102
- v1.0.101
- v1.0.100
- v1.0.99
- v1.0.98
- v1.0.97
- v1.0.96
- v1.0.95
- v1.0.94
- v1.0.93
- v1.0.92
- v1.0.91
- v1.0.90
- v1.0.89
- v1.0.88
- v1.0.87
- v1.0.86
- v1.0.85
- v1.0.84
- v1.0.83
- v1.0.82
- v1.0.81
- v1.0.80
- v1.0.79
- v1.0.78
- v1.0.77
- v1.0.76
- v1.0.75
- v1.0.74
- v1.0.73
- v1.0.72
- v1.0.71
- v1.0.70
- v1.0.69
- v1.0.68
- v1.0.67
- v1.0.66
- v1.0.65
- v1.0.64
- v1.0.63
- v1.0.62
- v1.0.61
- v1.0.60
- v1.0.59
- v1.0.58
- v1.0.57
- v1.0.56
- v1.0.55
- v1.0.54
- v1.0.53
- v1.0.52
- v1.0.51
- v1.0.50
- v1.0.49
- v1.0.48
- v1.0.47
- v1.0.46
- v1.0.45
- v1.0.44
- v1.0.43
- v1.0.42
- v1.0.41
- v1.0.40
- v1.0.39
- v1.0.38
- v1.0.37
- v1.0.36
- v1.0.35
- v1.0.34
- v1.0.33
- v1.0.32
- v1.0.31
- v1.0.30
- v1.0.29
- v1.0.28
- v1.0.27
- v1.0.26
- v1.0.25
- v1.0.24
- v1.0.23
- v1.0.22
- v1.0.21
- v1.0.20
- v1.0.19
- v1.0.18
- v1.0.17
- v1.0.16
- v1.0.15
- v1.0.14
- v1.0.13
- v1.0.12
- v1.0.11
- v1.0.10
- v1.0.9
- v1.0.8
- v1.0.7
- v1.0.6
- v1.0.5
- v1.0.4
- v1.0.3
- v1.0.2
- v1.0.0
- dev-develop
- dev-feature/fix_non_numeric_pageno
- dev-feature/fix_empty_file
This package is auto-updated.
Last update: 2024-12-18 09:43:33 UTC
README
BLOCSはPHPで動作するテンプレートエンジンです。 テンプレートエンジンとは、プログラムで作成されたデータとデザインのためのテンプレート(ビュー)を紐つけてHTMLを生成するライブラリです。テンプレートエンジンを使うことで、プログラムとテンプレートを分離することができます。
ロジック(プログラム)とデザイン(HTML/CSS)を分離して疎な関係にすることで、プログラマーとコーダーのお互いのソース変更や開発の遅れなどの影響を最小限にし、効率的な開発、維持を行うことができます。
理念
- HTMLと同様にあつかえる(HTMLとの親和性)
- 直感的でシンプルに記述できる
- 入力フォームと一緒にバリデーションが設定できる
HTMLとの親和性
BLOCSは、データとテンプレートの紐つけにデータ属性を使用します。 データ属性は特別なタグなどではなく、通常のタグに属性を追加するだけですので、普通のHTMLと同様に扱うことができます。 すなわち、オーサリングツールで作成したHTMLをそのままテンプレートとして使用でき、またオーサリングツールを使ってテンプレートを変更できるということです。
BLOCSでの記述例:
<html> <div data-val=$message>メッセージ</div> </html>
直感的でシンプルな記述
タグにデータ属性を追加することで、プログラムより渡されたデータを表示したり、条件にしたがって表示/非表示を制御することができます。 データ属性を組み合わせることで、非常にシンプルにデータとテンプレートの紐つけができます。
また、データ属性は4種類しかありません。 学習コストが小さいので、プログラムがわからないデザイナーやコーダーでもテンプレートの作成、変更ができます。 デザインに変更が入るたびにプログラマーにテンプレートの変更を依頼しなくてもよくなります。
代表的なテンプレートエンジンでの記述例:
<html> <ul> {foreach from=$list item=data} <li> <div>{$data.name}</div> <div>{$data.age}</div> </li> {/foreach} </ul> </html>
BLOCSでの記述例:
<html> <ul> <li data-repeat=$list> <div data-val=$name>田中太郎</div> <div data-val=$age>19</div> </li> </ul> </html>
バリデーション
BLOCSなら面倒な入力値のチェック処理(バリデーション)も簡単です。データ属性でチェック条件と、エラーメッセージが設定できます。また、BLOCSはjQuery Validation Engineと連携して、JavaScriptによるリアルタイムでのバリデーションもできます。ユーザーを待たせず画面遷移なしで、入力画面で即時に入力データをチェックできます。
さらに、BLOCSはメニュー項目の入力値チェックをします。メニュー項目にない値が入力された時にはエラーを表示されますので、不正なデータ入力を防げます。そして、正しいデータはメニューのラベルを自動で取得して変換しますので、入力データの確認画面などで面倒な値の変換処理を作る必要はありません。
テンプレート(メニュー入力画面):
<html>
<span data-val=$type>メニュー項目</span>
<form action='./' method='post'>
<select id="type" name="type">
<option value="company">法人のお客様</option>
<option value="private">個人のお客様</option>
<option value="other">その他</option>
</select>
<div class="input_error" data-form="type" data-validate="required">必須入力です</div>
<input type='submit' />
</form>
</html>
表示結果:
3行目: メニュー項目のラベル(個人のお客様)を表示
<html> <span>個人のお客様</span> <form action='./' method='post'> <select id="type" name="type"> <option value="company" >法人のお客様</option> <option value="private" selected>個人のお客様</option> <option value="other" >その他</option> </select> <input type='submit' /> </form> </html>