狠狠撸

狠狠撸Share a Scribd company logo
Movable Typeの可能性を広げるアドオン
DynamicMTMLについて
1
? 札幌生まれ/愛知県在住 28歳
? Web制作会社のテクニカル?ディレクター
? Webシステムの提案と導入サポート
MTのテンプレート設計?カスタマイズ
? MTとサーバ?インフラなどが好きで
プログラムが苦手
鈴木健太郎(@riatw)
念願の「初」北海道です!
やっとこれましたヽ(=?▽`=)?
? はじめてMTを使ったのはMT4.1のころ
? 仕事で使い始めたのがきっかけ
? 5年間で50以上の案件に導入
? 仕事もプライベートもMTが大好き
MTDDC Meetup Nagoya 2014の企画をしています!
1月18日(土)ウィンクあいち 1103号室(予定)
MTは今年で5年目
? プログラムが書けなくてもシステムが作れること
? 身の丈以上のことができること
MTを好きになった理由
これなら自分にもできるかも!
と思いました
そんな自分がさらにMTを好きになった
きっかけ、それが…
DynamicMTML
このテーマを选んだ理由
? プログラムは苦手だけどMTなら分かるWebデザイナー
? PHPは得意だけどデザインが苦手なWebプログラマー
? Webアプリ?サービスに興味のあるディレクター
このような方々にDynamicMTMLの
面白さと便利さを知ってもらうこと
? 顿测苍补尘颈肠惭罢惭尝とは?
? 顿测苍补尘颈肠惭罢惭尝を使う理由
? 特に便利な標準機能 7つ
? 顿测苍补尘颈肠惭罢惭尝で作れるサイト
? まとめ
アジェンダ
顿测苍补尘颈肠惭罢惭尝とは?
? アルファサード社が開発したMT向けのアドオン
? 動的ページ生成機能を大幅強化!
? PHPでDynamicMTML用のプラグインが作れる
概要
MTユーザとPHPユーザが仲良くなれるプラグイン
ざっくり言ってしまえば、DynamicMTMLは
? Movable Type v5.04以降
? PHPによるダイナミックパブリッシングが
動作する環境
? mod_rewriteが有効で.htaccessによる設定が可能な環境
動作環境
? PowerCMS/DynamicMTML · GitHub
https://github.com/PowerCMS/DynamicMTML
? DynamicMTML 導入のポイント
http://riatw.me/blog/dynamicmtml_point.html
? はじめてのDynamicMTML (かたつむりくんのWWW)
http://www.tinybeans.net/blog/movable-type/dynamicmtml/
参考情報
顿测苍补尘颈肠惭罢惭尝を使う理由
それは制作会社が
システム案件に強くなるため
なぜ强くなる必要があるのか?
それはクライアントから
求められるようになってきたから
制作会社にもシステム案件への
対応力が求められている
? 完全な静的サイトは殆ど無くなりつつある
? CMS、お問い合わせフォームなどは完全にマスト
? 顧客情報管理、他API連動、既存システムとの連動…
など…システム関係の要件は増加の一途
要件の多様化
? Webサイトとシステムが密に絡むようになってきた
? 今まで以上のスピード感が求められるようになった
? 案件に対するコスト意識が厳しくなってきた
→デザインは制作会社、システムはシステム会社と
?発注を分ける余裕が無くなってきた
? Webサイトがあることが当たり前になり、より一層
成果が求められるように、結果に厳しくなってきた
背景
? 簡単なシステムであれば制作会社が実装する
? 難しいシステムでも見た目と簡単なシステム部分は
制作会社だけでメンテナンスできるようにする
対応策
「メンテができる」って大事
? HTMLタグとPHPコードが混在したソースコード
? 恐る恐る触る
→思ったようにできない
→知らない間にバグが生まれる
→何これ暗号なの、いみふ(ry…
こんなことはありませんか?
(??ω:;.:...
デザイナー編
? システムを考慮していないデザインとコーディング
? 恐る恐るシステムを組み込む
→思ったようにできない
→デザインが再現できない
→どうやっても再現できないわ、こんなの(ry
こんなことはありませんか?
(??ω:;.:...
エンジニア編
? DynamicMTMLなら、ロジックはPHP、見た目はMTタグと
完全に分離できる
? デザイナーはMTタグさえ分かれば、見た目の調整や簡単な
機能追加はデザイナーだけでできる
? プログラマーはデザインが分からなくてもPHPが
書ければいい(MTの事情が少し分かると嬉しい)
解決策の一案としてのDynamicMTML
ヽ(=?▽`=)?
両者の強い所を活かすことで
メンテナンス性と再利用性の高い
サイトをつくることができる
DynamicMTMLはこのような
変化に対応する制作者の強い味方
デザインとプログラムが完全に
分離することでお互い保守が楽に!
? 提案→デザイン→システムがワンストップが提供できる
? デザインの修正が自社で完結することから、サポートの
スピードが向上する→信頼を獲得しやすい
? できることの幅が広がることで、デザイン?企画だけの
提案よりも大規模の案件に挑戦できる
制作会社が得られるメリット
? 従来の開発案件に加えて新しい案件を開拓できる
? デザインが得意な制作会社とコネクションが広がる
? 企画やデザインを気にせず、得意なシステムに注力する
ことができる
システム会社が得られるメリット
特に便利な標準機能 7つ
? ブログ記事の詳細検索
? ユーザエージェントによる分岐
? ログイン状況による分岐
? ユーザ権限に応じた分岐
? 静的ファイルの動的ビルド
? PHP API
? コールバック
? 条件に応じてブログ記事を出力できる
? MTEntriesに代わるタグとして使用できる
? タイトル?カテゴリID?投稿日などの条件が指定できる
ブログ記事の詳細検索
サンプル
//タイトルに MT が含まれている記事を表示する場合
//targetにはMTの標準のフィールドが指定できる
<mt:searchentries target="title" query="MT" lastn="10">
<li><a href="<$mt:entrypermalink$>"><$mt:entrytitle
escape="html"$></a></li>
</mt:searchentries>
34
? ユーザエージェント(端末情報)を取得できる
? 端末の種類?キャリアごとに分岐できる
? 同一URLでPC?スマフォ対応のサイトを作成できる
ユーザーエージェントによる分岐
サンプル
<mt:IfUserAgent wants= SmartPhone >
<$mt:include module="スマートフォン向けの内容"$>
<mt:else>
<$mt:include module="PC向けの内容"$>
</mt:IfUserAgent>
36
? ユーザのログイン状況によって表示を変えることができる
? 会員限定サイトやユーザのマイページを作ることができる
? 公開サイトに管理画面へのリンクを表示することができる
ログイン状況による分岐
サンプル
<p>○○の価格</p>
<mt:IfLogin>
//ログインしている場合
<p>19,800円がなんと、<span>16,800円!</span></p>
<mt:else>
<p>19,800円</p>
</mt:If>
38
? MTにログイン中のユーザ権限による分岐ができる
? ログイン状況による分岐と組み合わせることで、
一部の管理者だけが見える情報などの配信もできる
ユーザの権限に応じた分岐
? MT管理外のファイル(普通のHTMLなど)に直接MTタグを
書くことができる
? 1ファイルの中で静的に出力されるところと動的に出力される
ところを分けることができる
静的ファイルの動的ビルド
サンプル
<html>
<body>
<!-- 以下の内容は通常通りに再構築される -->
<mt:blogname>
<!-- 以下の内容は表示時に再構築される -->
<MTDynamicMTML>
<mt:date> <!-- 現在の日付を表示 -->
</MTDynamicMTML>
</body>
</html>
41
? MTの各種機能に対してPHPからアクセスできる
? MTのデータベースにPHPからアクセスすることができる
? プラグインを追加すれば、他のシステムのデータベースに
アクセスをして、MTタグで出力することができる
(WordPressのデータをMTタグで出力するなど)
PHP API
? ページを表示する前?後などにPHPの処理を追加できる
例1)フォーム送信されたデータの検証
例2)MTのユーザ情報を使用したBasic認証
例3)MTのデータベースに接続できなかった際の例外処理
コールバック
顿测苍补尘颈肠惭罢惭尝で作れるサイト
? イベント集客サイト
? レシピ?口コミ投稿サイト
? 会員限定情報サイト
? 伝票管理システム
? 見積作成システム
? その他簡単なWebアプリなど
DynamicMTML向きのサイト
? REST APIのみでサービスを提供するサイト
? データベースにおけるデータの持ち方が特殊なサイト
? 動作スピードが最優先なサイト
→ソーシャルゲームや大規模なWebカタログなど
DynamicMTMLが不向きなサイト
まとめ
? DynamicMTMLは制作会社でもシステム案件の
対応力を上げることのできるツール
? 従来の知識を生かしたまま、よりリッチなサイトを
簡単に作ること?保守することができる
? DynamicMTMLを使えば新しい協業の形が見えてくる
コラボすれば美味しさが増すツール!
何より楽しいツールなので一度試してみてください!
最后に少しだけ
? DynamicMTMLを使えば、動的生成向けのプラグインを
PHPで書くことができます
→MT案件は豊富にあります。協業の道もご検討ください
? DynamicMTML本体はGithubで管理されており、
いつでもPullRequestを受け付けています
→MTユーザにはプログラマーが不足しています
?PHPによるプラグイン作成やDynamicMTMLの
?バグフィックスにご協力をお願いします!
PHPプログラマの方へお願い
@riatw on Twitter
http://riatw.me/
Thank you so much!
51
Ad

Recommended

驰颈颈フレームワークを使ってみた
驰颈颈フレームワークを使ってみた
Hisateru Tanaka
?
オカヤマ コンピュータサイエンス ラボ についてのおはなし
オカヤマ コンピュータサイエンス ラボ についてのおはなし
sady_nitro
?
大分県 未来のIT技術者発見事業「プログラミング体験教室」
大分県 未来のIT技術者発見事業「プログラミング体験教室」
Kazuhiro Abe
?
20201128 Power Automate
20201128 Power Automate
ひかり 影中
?
5分でわかる 怖くない機械学習
5分でわかる 怖くない機械学習
__john_smith__
?
文系私立大学生て?も、フ?ロク?ラマーになりたい!
文系私立大学生て?も、フ?ロク?ラマーになりたい!
Kyoka Fujiike
?
いまさら闻けない机械学习のキホン
いまさら闻けない机械学习のキホン
dsuke Takaoka
?
実践的! 人工知能X機械学習 ?iettyの場合?
実践的! 人工知能X機械学習 ?iettyの場合?
takemi.ohama
?
Mitakalab in Hongo
Mitakalab in Hongo
Ryo Suzuki
?
UE4 Saitama 初心者ハンズオン#4 アニメーション初級編
UE4 Saitama 初心者ハンズオン#4 アニメーション初級編
Yuuki Ogino
?
Javado2
Javado2
__john_smith__
?
UE4 Saitama 初心者向けハンズオン #5 『アニメーションモンタージュ(Slotアニメーション)でコンボを作る』
UE4 Saitama 初心者向けハンズオン #5 『アニメーションモンタージュ(Slotアニメーション)でコンボを作る』
Yuuki Ogino
?
30歳过き?てもエンシ?ニアて?いるためにやったこと
30歳过き?てもエンシ?ニアて?いるためにやったこと
onozaty
?
惭补测补をつかった小ネタ绍介と鲍苍颈迟测で何かやってみる。
惭补测补をつかった小ネタ绍介と鲍苍颈迟测で何かやってみる。
poko ponmaru
?
惭5蝉迟补肠办の非公式グッズをつくってみた
惭5蝉迟补肠办の非公式グッズをつくってみた
ssuser68f293
?
集まっ罢补颈濒(集まっている)#8
集まっ罢补颈濒(集まっている)#8
Yusaku Kinoshita
?
集まっ迟补颈濒#7「迟别谤补迟补颈濒より」
集まっ迟补颈濒#7「迟别谤补迟补颈濒より」
Yusaku Kinoshita
?
20140712 mintsumu
20140712 mintsumu
Seigo Tanaka
?
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
?
Movable Type 6 Overview SPEC2
Movable Type 6 Overview SPEC2
Yuji Takayama
?
Azure と MTのステキな関係 @ MTDDC Meetup Hokkaido
Azure と MTのステキな関係 @ MTDDC Meetup Hokkaido
Masaki Takeda
?
MTCafe sapporo#4
MTCafe sapporo#4
bitpart
?
20131005 mtddc hokkaido
20131005 mtddc hokkaido
bitpart
?
MTDDC Meetup HOKKAIDO 2013 KEYNOTE - Movable Type 6
MTDDC Meetup HOKKAIDO 2013 KEYNOTE - Movable Type 6
Daiji Hirata
?
WordPress on Movable Type
WordPress on Movable Type
Hajime Fujimoto
?
Data APIの背景と活用方法
Data APIの背景と活用方法
Hajime Fujimoto
?
MTDDC Meetup HOKKAIDO 2013 (サーバーワークス発表資料)
MTDDC Meetup HOKKAIDO 2013 (サーバーワークス発表資料)
Serverworks Co.,Ltd.
?
Movable Type as a Playground
Movable Type as a Playground
Taku AMANO
?
Movable Type PHP API について - MTCafe Saitama 2013
Movable Type PHP API について - MTCafe Saitama 2013
Taketoshi Yagishita
?
Data API ことはじめ
Data API ことはじめ
Yuji Takayama
?

More Related Content

What's hot (11)

Mitakalab in Hongo
Mitakalab in Hongo
Ryo Suzuki
?
UE4 Saitama 初心者ハンズオン#4 アニメーション初級編
UE4 Saitama 初心者ハンズオン#4 アニメーション初級編
Yuuki Ogino
?
Javado2
Javado2
__john_smith__
?
UE4 Saitama 初心者向けハンズオン #5 『アニメーションモンタージュ(Slotアニメーション)でコンボを作る』
UE4 Saitama 初心者向けハンズオン #5 『アニメーションモンタージュ(Slotアニメーション)でコンボを作る』
Yuuki Ogino
?
30歳过き?てもエンシ?ニアて?いるためにやったこと
30歳过き?てもエンシ?ニアて?いるためにやったこと
onozaty
?
惭补测补をつかった小ネタ绍介と鲍苍颈迟测で何かやってみる。
惭补测补をつかった小ネタ绍介と鲍苍颈迟测で何かやってみる。
poko ponmaru
?
惭5蝉迟补肠办の非公式グッズをつくってみた
惭5蝉迟补肠办の非公式グッズをつくってみた
ssuser68f293
?
集まっ罢补颈濒(集まっている)#8
集まっ罢补颈濒(集まっている)#8
Yusaku Kinoshita
?
集まっ迟补颈濒#7「迟别谤补迟补颈濒より」
集まっ迟补颈濒#7「迟别谤补迟补颈濒より」
Yusaku Kinoshita
?
20140712 mintsumu
20140712 mintsumu
Seigo Tanaka
?
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
?
Mitakalab in Hongo
Mitakalab in Hongo
Ryo Suzuki
?
UE4 Saitama 初心者ハンズオン#4 アニメーション初級編
UE4 Saitama 初心者ハンズオン#4 アニメーション初級編
Yuuki Ogino
?
UE4 Saitama 初心者向けハンズオン #5 『アニメーションモンタージュ(Slotアニメーション)でコンボを作る』
UE4 Saitama 初心者向けハンズオン #5 『アニメーションモンタージュ(Slotアニメーション)でコンボを作る』
Yuuki Ogino
?
30歳过き?てもエンシ?ニアて?いるためにやったこと
30歳过き?てもエンシ?ニアて?いるためにやったこと
onozaty
?
惭补测补をつかった小ネタ绍介と鲍苍颈迟测で何かやってみる。
惭补测补をつかった小ネタ绍介と鲍苍颈迟测で何かやってみる。
poko ponmaru
?
惭5蝉迟补肠办の非公式グッズをつくってみた
惭5蝉迟补肠办の非公式グッズをつくってみた
ssuser68f293
?
集まっ罢补颈濒(集まっている)#8
集まっ罢补颈濒(集まっている)#8
Yusaku Kinoshita
?
集まっ迟补颈濒#7「迟别谤补迟补颈濒より」
集まっ迟补颈濒#7「迟别谤补迟补颈濒より」
Yusaku Kinoshita
?
テスト文字列に「うんこ」と入れるな
テスト文字列に「うんこ」と入れるな
Kentaro Matsui
?

Viewers also liked (8)

Movable Type 6 Overview SPEC2
Movable Type 6 Overview SPEC2
Yuji Takayama
?
Azure と MTのステキな関係 @ MTDDC Meetup Hokkaido
Azure と MTのステキな関係 @ MTDDC Meetup Hokkaido
Masaki Takeda
?
MTCafe sapporo#4
MTCafe sapporo#4
bitpart
?
20131005 mtddc hokkaido
20131005 mtddc hokkaido
bitpart
?
MTDDC Meetup HOKKAIDO 2013 KEYNOTE - Movable Type 6
MTDDC Meetup HOKKAIDO 2013 KEYNOTE - Movable Type 6
Daiji Hirata
?
WordPress on Movable Type
WordPress on Movable Type
Hajime Fujimoto
?
Data APIの背景と活用方法
Data APIの背景と活用方法
Hajime Fujimoto
?
MTDDC Meetup HOKKAIDO 2013 (サーバーワークス発表資料)
MTDDC Meetup HOKKAIDO 2013 (サーバーワークス発表資料)
Serverworks Co.,Ltd.
?
Movable Type 6 Overview SPEC2
Movable Type 6 Overview SPEC2
Yuji Takayama
?
Azure と MTのステキな関係 @ MTDDC Meetup Hokkaido
Azure と MTのステキな関係 @ MTDDC Meetup Hokkaido
Masaki Takeda
?
MTCafe sapporo#4
MTCafe sapporo#4
bitpart
?
20131005 mtddc hokkaido
20131005 mtddc hokkaido
bitpart
?
MTDDC Meetup HOKKAIDO 2013 KEYNOTE - Movable Type 6
MTDDC Meetup HOKKAIDO 2013 KEYNOTE - Movable Type 6
Daiji Hirata
?
Data APIの背景と活用方法
Data APIの背景と活用方法
Hajime Fujimoto
?
MTDDC Meetup HOKKAIDO 2013 (サーバーワークス発表資料)
MTDDC Meetup HOKKAIDO 2013 (サーバーワークス発表資料)
Serverworks Co.,Ltd.
?
Ad

Similar to 「Movable Typeの可能性を広げるアドオン「DynamicMTML」について」 v2 (MTDDC Meetup HOKKAIDO 2013版) (20)

Movable Type as a Playground
Movable Type as a Playground
Taku AMANO
?
Movable Type PHP API について - MTCafe Saitama 2013
Movable Type PHP API について - MTCafe Saitama 2013
Taketoshi Yagishita
?
Data API ことはじめ
Data API ことはじめ
Yuji Takayama
?
20130909 movable type_seminar
20130909 movable type_seminar
Six Apart
?
Movable Typeのプラグインでできること
Movable Typeのプラグインでできること
Hajime Fujimoto
?
20130911 Movable Type Seminar
20130911 Movable Type Seminar
Six Apart
?
20160610 mtsaga handson_public
20160610 mtsaga handson_public
Six Apart
?
詳説 Data api mtddc 拡張版 v3対応
詳説 Data api mtddc 拡張版 v3対応
Yuji Takayama
?
概説 Data API v3
概説 Data API v3
Yuji Takayama
?
3rdFocus製品で出来る、Movable Typeをより上手に拡張するアイデア
3rdFocus製品で出来る、Movable Typeをより上手に拡張するアイデア
Hiroshi Yamato
?
Data API + AWS = (CMS と?うて?しょう 札幌編)
Data API + AWS = (CMS と?うて?しょう 札幌編)
Yuji Takayama
?
Movable Type の現在と未来 ?Data API の可能性?
Movable Type の現在と未来 ?Data API の可能性?
新一 佐藤
?
20130611 movable type nagoya seminar
20130611 movable type nagoya seminar
Six Apart
?
20130626 movable type seminar
20130626 movable type seminar
Six Apart
?
MTDDC Meetup TOHOKU 2015 Keynote
MTDDC Meetup TOHOKU 2015 Keynote
Daiji Hirata
?
20140903 sa business_seminar
20140903 sa business_seminar
Yasufumi Nishiyama
?
20150124 mt nagano_publish
20150124 mt nagano_publish
Six Apart
?
20140924 mt cloud_handson_seminar
20140924 mt cloud_handson_seminar
Six Apart
?
PHPやVBAでMovable Typeを操作しようData API Library for PHP/VBAのご紹介
PHPやVBAでMovable Typeを操作しようData API Library for PHP/VBAのご紹介
Hajime Fujimoto
?
他システムとの連携開発事例に見る Movable Type の可能性
他システムとの連携開発事例に見る Movable Type の可能性
cocokoko
?
Movable Type as a Playground
Movable Type as a Playground
Taku AMANO
?
Movable Type PHP API について - MTCafe Saitama 2013
Movable Type PHP API について - MTCafe Saitama 2013
Taketoshi Yagishita
?
Data API ことはじめ
Data API ことはじめ
Yuji Takayama
?
20130909 movable type_seminar
20130909 movable type_seminar
Six Apart
?
Movable Typeのプラグインでできること
Movable Typeのプラグインでできること
Hajime Fujimoto
?
20130911 Movable Type Seminar
20130911 Movable Type Seminar
Six Apart
?
20160610 mtsaga handson_public
20160610 mtsaga handson_public
Six Apart
?
詳説 Data api mtddc 拡張版 v3対応
詳説 Data api mtddc 拡張版 v3対応
Yuji Takayama
?
3rdFocus製品で出来る、Movable Typeをより上手に拡張するアイデア
3rdFocus製品で出来る、Movable Typeをより上手に拡張するアイデア
Hiroshi Yamato
?
Data API + AWS = (CMS と?うて?しょう 札幌編)
Data API + AWS = (CMS と?うて?しょう 札幌編)
Yuji Takayama
?
Movable Type の現在と未来 ?Data API の可能性?
Movable Type の現在と未来 ?Data API の可能性?
新一 佐藤
?
20130611 movable type nagoya seminar
20130611 movable type nagoya seminar
Six Apart
?
20130626 movable type seminar
20130626 movable type seminar
Six Apart
?
MTDDC Meetup TOHOKU 2015 Keynote
MTDDC Meetup TOHOKU 2015 Keynote
Daiji Hirata
?
20150124 mt nagano_publish
20150124 mt nagano_publish
Six Apart
?
20140924 mt cloud_handson_seminar
20140924 mt cloud_handson_seminar
Six Apart
?
PHPやVBAでMovable Typeを操作しようData API Library for PHP/VBAのご紹介
PHPやVBAでMovable Typeを操作しようData API Library for PHP/VBAのご紹介
Hajime Fujimoto
?
他システムとの連携開発事例に見る Movable Type の可能性
他システムとの連携開発事例に見る Movable Type の可能性
cocokoko
?
Ad

「Movable Typeの可能性を広げるアドオン「DynamicMTML」について」 v2 (MTDDC Meetup HOKKAIDO 2013版)