このカテゴリでは、Movable Type 4 で変数を扱う場合に必要となる「MTGetVar」などのGetVar系のテンプレートタグの説明を行います。
『GetVar系』カテゴリ内のエントリ一覧
- MTGetVar
- MTGetVarにおけるfunctionモデファイア(pop関数)
- MTGetVarにおけるfunctionモデファイア(shift関数)
- MTGetVarにおけるfunctionモデファイア(count関数)
MTGetVar
変数から、値を出力する(取り出す)テンプレートタグです。ファンクションタグです。変数は、代入するだけでは、画面上へその変更点は反映されません。代入された変数は、MTGetVarなどのテンプレートタグで取り出さないと、意味を成しません。
基本的な書式
書式は以下のとおりです。
<MTGetVar name="tmpData">
nameモデファイアには値を取り出したい変数名を記述します。nameモデファイアは必須です。
MTSetVarで指定していたvalueモデファイアは必要ありません。
上記サンプルコードは、MTGetVarを記述した場所へ、指定した変数名の値を出力します。
MTGetVarにおけるfunctionモデファイア(pop関数)
MTGetVarテンプレートタグにおけるfunctionモデファイアの中で、popという関数がありますが、これは「配列変数の一番上(または一番最後)から値を返し、その要素のデータを削除する」という機能を持ちます。
例えば、testVar[ ]という配列があり、要素が0から10までとします。MTGetVarで変数名を指定しつつfunctionモデファイアでpopという関数を指定すると、配列の一番最後のデータを取得しつつ削除できます。
書式例
<MTGetVar name="testVar" function="pop">
図解
実行前
- 変数名:値
- testVar[0]:0
- testVar[1]:1
- testVar[2]:2
- testVar[3]:3
- testVar[4]:4
- testVar[5]:5
- testVar[6]:6
- testVar[7]:7
- testVar[8]:8
- testVar[9]:9
- testVar[10]:10
<MTGetVar name="testVar" function="pop">を追加すると...
- 変数名:値
- testVar[0]:0
- testVar[1]:1
- testVar[2]:2
- testVar[3]:3
- testVar[4]:4
- testVar[5]:5
- testVar[6]:6
- testVar[7]:7
- testVar[8]:8
- testVar[9]:9
- testVar[10]:
一連のテストコード例
<h3>実行例</h3>
<!-- 元データを準備 -->
<MTFor var="x" from="0" to="10">
<MTSetVar name="testVar[$x]" value="$x">
</MTFor>
<!-- 元データを出力 -->
<MTFor var="x" from="0" to="15">
<MTGetVar name="x">:<MTGetVar name="testVar[$x]"><br />
</MTFor>
<br />
<!-- 配列最後の要素データを取得・削除 -->
最後の要素:<MTGetVar name="testVar" function="pop">
<br />
<!-- もう一度元データを出力 -->
<MTFor var="x" from="0" to="15">
<MTGetVar name="x">:<MTGetVar name="testVar[$x]"><br />
</MTFor>
短縮形
このコードは、<MTGetVar name="pop(testVar)">と記述することもできます。
MTGetVarにおけるfunctionモデファイア(shift関数)
MTGetVarテンプレートタグにおけるfunctionモデファイアの中で、shiftという関数がありますが、これは「配列変数の一番下(または一番最初)から値を返し、その要素のデータを削除する」という機能を持ちます。
例えば、testVar[ ]という配列があり、要素が0から10までとします。MTGetVarで変数名を指定しつつfunctionモデファイアでshiftという関数を指定すると、配列の一番最初のデータを取得しつつ削除できます。
shiftでのデータ取得・削除においては、popとは異なり、shiftで削除したデータ以後は今までのデータと配列要素は1つづつずれるというのが注意するべき点です。
書式例
<MTGetVar name="testVar" function="shift">
図解
実行前
- 変数名:値
- testVar[0]:0
- testVar[1]:1
- testVar[2]:2
- testVar[3]:3
- testVar[4]:4
- testVar[5]:5
- testVar[6]:6
- testVar[7]:7
- testVar[8]:8
- testVar[9]:9
- testVar[10]:10
<MTGetVar name="testVar" function="shift">を追加すると...
- 変数名:値
- testVar[0]:1
- testVar[1]:2
- testVar[2]:3
- testVar[3]:4
- testVar[4]:5
- testVar[5]:6
- testVar[6]:7
- testVar[7]:8
- testVar[8]:9
- testVar[9]:10
- testVar[10]:
一連のテストコード例
<h3>実行例</h3>
<!-- 元データを準備 -->
<MTFor var="x" from="0" to="10">
<MTSetVar name="testVar[$x]" value="$x">
</MTFor>
<!-- 元データを出力 -->
<MTFor var="x" from="0" to="15">
<MTGetVar name="x">:<MTGetVar name="testVar[$x]"><br />
</MTFor>
<br />
<!-- 配列最後の要素データを取得・削除 -->
最後の要素:<MTGetVar name="testVar" function="shift">
<br />
<!-- もう一度元データを出力 -->
<MTFor var="x" from="0" to="15">
<MTGetVar name="x">:<MTGetVar name="testVar[$x]"><br />
</MTFor>
短縮形
このコードは、<MTGetVar name="shift(testVar)">と記述することもできます。
MTGetVarにおけるfunctionモデファイア(count関数)
MTGetVarテンプレートタグにおけるfunctionモデファイアの中で、countという関数がありますが、これは「配列変数の要素数を数える」という機能を持ちます。
例えば、testVar[ ]という配列があり、要素が0から10までとします。MTGetVarで変数名を指定しつつfunctionモデファイアでcountという関数を指定すると、配列の要素数を取得できます。
書式例
<MTGetVar name="testVar" function="count">
図解
実行前
- 変数名:値
- testVar[0]:0
- testVar[1]:1
- testVar[2]:2
- testVar[3]:3
- testVar[4]:4
- testVar[5]:5
- testVar[6]:6
- testVar[7]:7
- testVar[8]:8
- testVar[9]:9
- testVar[10]:10
<MTGetVar name="testVar" function="count">を記述すると...
11という結果が返ってきます。元データには変更は加えられません。
一連のテストコード例
<!-- 元データを準備 -->
<MTFor var="x" from="0" to="10">
<MTSetVar name="testVar[$x]" value="$x">
</MTFor>
<!-- 元データを出力 -->
<MTFor var="x" from="0" to="15">
<MTGetVar name="x">:<MTGetVar name="testVar[$x]"><br />
</MTFor>
<br />
<!-- 配列の要素数を取得 -->
配列の要素数:<MTGetVar name="testVar" function="count">
<br />
<!-- もう一度元データを出力 -->
<MTFor var="x" from="0" to="15">
<MTGetVar name="x">:<MTGetVar name="testVar[$x]"><br />
</MTFor>
短縮形
このコードは、<MTGetVar name="count(testVar)">と記述することもできます。
- エントリ
- タグ
-
- .htaccess
- Advantage
- Apache
- Archive
- Asset
- Author
- Authority
- AutoSave
- BackUp
- body
- Bug
- Calc
- Category
- Check
- CMS
- Comment
- Company Site
- Config
- Contact
- CORESERVER
- count
- Create
- Creative Commons
- CSS
- Custom Field
- Date
- Default
- delete
- Designer
- DNS
- Domain
- Entry
- Environment
- Eval
- Example
- Export
- Feature
- Feed
- FFFTP
- File
- Folder
- For
- GetVar
- head
- html
- If
- Image
- Import
- Include
- index
- info
- Install
- key
- keyword
- License
- Local
- Loop
- Management
- Manager
- Meta
- Modifier
- Module
- MTElse
- MTElseIf
- MTFor
- MTGetVar
- MTIf
- MTIgnore
- MTLoop
- MTSeHashVar
- MTSetVar
- MTSetVarBlock
- MTSetVars
- MTSetVarTemplate
- MTUnless
- MySQL
- Navigation
- Next
- op
- Page
- Perl
- php
- PhpMyAdmin
- Ping
- Plugin
- pop
- Previous
- Principle
- push
- ReBuild
- Role
- Sample
- SetUp
- SetVar
- shift
- Spam
- Tag
- Template
- TrackBack
- Trouble
- undef
- unshift
- UpGrade
- UpLoad
- Usability
- Variable
- Version
- WebPage
- Wizard
- Writer
- XAMPP
- XHTML
- XML
- 導入編
- ローカル環境
- サンプル
- トラブル集