SlideShare a Scribd company logo
1 of 30
WordPress on Movable Type
   (and everything on Movable Type)


          2013/3/2
      MTCafe Gunma 2013
          藤本 壱
今日のアジェンダ
•   自己紹介
•   WPConnector プラグイン ( 開発中 ) の紹
    介
•   WPConnector プラグインの裏側
•   Everything on Movable Type
•   まとめ
自己紹介
自己紹介その 1
•   藤本 壱(ふじもと はじめ)
•   昭和 44 年 4 月生まれ/今年 44 歳
•   兵庫県伊丹市出身
•   群馬県前橋市在住
自己紹介その 2
•   本職は PC 系のフリーライター




•   2004 年秋から MT ユーザー
•   さまざまなプラグインを開発
ブログももちろん MT




http://www.h-fj.com/blog/
WPConnector プラグイン ( 開発
            中)
          の紹介
WordPress のメリット
•   テーマ/プラグインが豊富
•   動的出力 ( 管理者にとって手間が少な
    い)
•   テンプレートが生 PHP(WordPress 以外に
    も応用が利く )
•   非オブジェクト指向 ( なんちゃって PHP
    プログラマでも一応カスタマイズでき
    る)
•   無償
WordPress の弱点
•   静的出力に向かない
•   テンプレートタグが HTML も出力
    ( データと HTML を分離しにくい )
•   ステージングサーバー/公開サーバ
    ーを分離しにくい
•   本体のコードが読みにくい ( 非オブ
    ジェクト指向・・・ )
組み合わせて使おう
•   両者を組み合わせて相互補完
•   でもどうやって?


     WPConnector プラグイン
WPConnector プラグインの機
                能
•   WordPress のオブジェクト(投稿
    等)を MT の管理画面にも表示
•   WordPress のデータを Movable Type
    のテンプレートタグで出力
WordPress の投稿一覧を
     Movable Type の管理画面で
•   Movable Type の記事一覧と同じ
    UI(Listing Framework)
•   表示するフィールドを自由に選択
•   条件を指定して投稿を検索
•   フィールドの値で投稿を並べ替え
デモをご覧ください
WordPress のデータを
    Movable Type のテンプレートで
                 出力
•   MTWP 系のテンプレートタグ
    •   MTWPEntries
    •   MTWPEntryTitle
    •   MTWPEntryPermalink
    •   MTWPEntryDate
    •   etc.
テンプレートの例
<mt:WPEntries>
 <mt:If name="__first__"><ul></mt:If>
  <li>
   <a href="<$mt:WPEntryPermalink$>">
     <$mt:WPEntryTitle$>(<$mt:WPEntryDate$>)
   </a>
  </li>
 <mt:If name="__last__"></ul></mt:If>
</mt:WPEntries>
デモをご覧ください
WPConnector プラグインの裏
            側
Movable Type is a framework
•   Web アプリケーション開発のフレー
    ムワーク
    • Object Relational Mapper
      (Data::ObjectDriver,MT::Object)
    • Model(Perl のロジック )
    • View( テンプレート )
    • Controller(mt.cgi / config.yaml)
MT::Object を継承したクラス
          クラス            内容
MT::Entry       ブログ記事
MT::Page        ウェブページ
MT::Asset       アイテム
MT::Category    カテゴリ
MT::Tag         タグ
MT::Placement   ブログ記事とカテゴリのリンク
MT::Blog        ブログ
MT::Author      ユーザー
MT::Object の基本
•   ブログ記事を読み込んでタイトルを出
    力
    use MT::Entry

    my @entries = MT::Entry->load;
    for my $entry (@entries) {
       print $entry->title . “n”;
    }
WP::Object
•   MT::Object を継承
•   WordPress のオブジェクトを抽象化した
    クラス
•   WP::Object を継承して各オブジェクト
    に対応するクラスを作成
WP::Object を継承したクラス
              クラス                   内容
WP::Post(WP::Page,WP::Attachment) 投稿系
WP::Taxonomy(WP::Category,WP::P   分類系
ostTag)
WP::TermRelationship              投稿系と分類
                                  系のリンク
WP::Blog                          ブログ
WP::Comment                       コメント
WP::User                          ユーザー
WP::Object の基本
•   投稿を読み込んでタイトルを出力
    use WP::Post

    my @posts = WP::Post->load;
    for my $post (@posts) {
       print $post->title . “n”;
    }
デモをご覧ください
管理画面の作成
•   Movable Type の管理画面作成関係のロ
    ジックをそのまま利用
    • オブジェクト一覧画面は Listing Framework
      で作成
    • 編集画面は読み込みロジックと編集画面テ
      ンプレートを作成
Everything on Movable Type
○○○::Object で広がる世界
•   WP::Object と同様のことは他の
    CMS 等でも可能(なはず)
•   CMS
    • Joomla, MODX, SoyCMS, a-blog cm
      s, ・・・
•   Web アプリケーションフレームワー
    ク
    • Ruby on Rail, CakePHP, ・・・
•   Etc.
Everything on Movable Type
•   ○○○::Object を通して他の CMS 等と
    Movable Type を連携
    • 他の CMS 等のデータを Movable Type のテ
      ンプレートタグで出力
    • 他の CMS 等のデータを Movable Type の管
      理画面で利用
まとめ
•   WPConnector プラグインで WordPress と
    Movable Type を連携できる
•   MT::Object を拡張して様々な CMS 等と
    連携できる
•   Everything on Movable Type
ご清聴ありがとうございまし
      た

More Related Content

What's hot

20130611 movable type nagoya seminar
20130611 movable type nagoya seminar20130611 movable type nagoya seminar
20130611 movable type nagoya seminarSix Apart
 
WordPress on Movable Type
WordPress on Movable TypeWordPress on Movable Type
WordPress on Movable TypeHajime Fujimoto
 
WordPress on movable type(WordCamp Kobe 2013)
WordPress on movable type(WordCamp Kobe 2013)WordPress on movable type(WordCamp Kobe 2013)
WordPress on movable type(WordCamp Kobe 2013)Hajime Fujimoto
 
20160720 okubo mt_cloud_handson
20160720 okubo mt_cloud_handson20160720 okubo mt_cloud_handson
20160720 okubo mt_cloud_handsonSix Apart
 
Wordpress on Movable Type~WPConnectorプラグインのご紹介~
Wordpress on Movable Type~WPConnectorプラグインのご紹介~Wordpress on Movable Type~WPConnectorプラグインのご紹介~
Wordpress on Movable Type~WPConnectorプラグインのご紹介~Hajime Fujimoto
 
20150729 cloud handson
20150729 cloud handson20150729 cloud handson
20150729 cloud handsonSix Apart
 
EPUBプラグインで、Movable Typeで電子書籍
EPUBプラグインで、Movable Typeで電子書籍EPUBプラグインで、Movable Typeで電子書籍
EPUBプラグインで、Movable Typeで電子書籍Hajime Fujimoto
 
20160610 mtsaga handson_public
20160610 mtsaga handson_public20160610 mtsaga handson_public
20160610 mtsaga handson_publicSix Apart
 
20161115 okubo mt_cloud_handson
20161115 okubo mt_cloud_handson20161115 okubo mt_cloud_handson
20161115 okubo mt_cloud_handsonSix Apart
 
WordPressテーマ事始め
WordPressテーマ事始めWordPressテーマ事始め
WordPressテーマ事始めMasaya Kogawa
 
20150930 MTCloud handson
20150930 MTCloud handson20150930 MTCloud handson
20150930 MTCloud handsonSix Apart
 
20160121 hachioji mt_cloud_handson
20160121 hachioji mt_cloud_handson20160121 hachioji mt_cloud_handson
20160121 hachioji mt_cloud_handsonSix Apart
 
20150708 cloud handson
20150708 cloud handson20150708 cloud handson
20150708 cloud handsonSix Apart
 
詳説 Movable type 7
詳説 Movable type 7詳説 Movable type 7
詳説 Movable type 7Yuji Takayama
 
Web Worker +α - HTML5/JavaScript and Service Worker API
Web Worker +α - HTML5/JavaScript and Service Worker APIWeb Worker +α - HTML5/JavaScript and Service Worker API
Web Worker +α - HTML5/JavaScript and Service Worker APIKen William
 
20130225 pronet study
20130225 pronet study20130225 pronet study
20130225 pronet studySix Apart
 

What's hot (20)

JSer Class #1
JSer Class #1JSer Class #1
JSer Class #1
 
20130611 movable type nagoya seminar
20130611 movable type nagoya seminar20130611 movable type nagoya seminar
20130611 movable type nagoya seminar
 
WordPress on Movable Type
WordPress on Movable TypeWordPress on Movable Type
WordPress on Movable Type
 
WordPress on movable type(WordCamp Kobe 2013)
WordPress on movable type(WordCamp Kobe 2013)WordPress on movable type(WordCamp Kobe 2013)
WordPress on movable type(WordCamp Kobe 2013)
 
Data API 2.0
Data API 2.0Data API 2.0
Data API 2.0
 
20160720 okubo mt_cloud_handson
20160720 okubo mt_cloud_handson20160720 okubo mt_cloud_handson
20160720 okubo mt_cloud_handson
 
Wordpress on Movable Type~WPConnectorプラグインのご紹介~
Wordpress on Movable Type~WPConnectorプラグインのご紹介~Wordpress on Movable Type~WPConnectorプラグインのご紹介~
Wordpress on Movable Type~WPConnectorプラグインのご紹介~
 
20150729 cloud handson
20150729 cloud handson20150729 cloud handson
20150729 cloud handson
 
DOM Scripting ことはじめ
DOM Scripting ことはじめDOM Scripting ことはじめ
DOM Scripting ことはじめ
 
EPUBプラグインで、Movable Typeで電子書籍
EPUBプラグインで、Movable Typeで電子書籍EPUBプラグインで、Movable Typeで電子書籍
EPUBプラグインで、Movable Typeで電子書籍
 
20160610 mtsaga handson_public
20160610 mtsaga handson_public20160610 mtsaga handson_public
20160610 mtsaga handson_public
 
20161115 okubo mt_cloud_handson
20161115 okubo mt_cloud_handson20161115 okubo mt_cloud_handson
20161115 okubo mt_cloud_handson
 
前期講座07
前期講座07前期講座07
前期講座07
 
WordPressテーマ事始め
WordPressテーマ事始めWordPressテーマ事始め
WordPressテーマ事始め
 
20150930 MTCloud handson
20150930 MTCloud handson20150930 MTCloud handson
20150930 MTCloud handson
 
20160121 hachioji mt_cloud_handson
20160121 hachioji mt_cloud_handson20160121 hachioji mt_cloud_handson
20160121 hachioji mt_cloud_handson
 
20150708 cloud handson
20150708 cloud handson20150708 cloud handson
20150708 cloud handson
 
詳説 Movable type 7
詳説 Movable type 7詳説 Movable type 7
詳説 Movable type 7
 
Web Worker +α - HTML5/JavaScript and Service Worker API
Web Worker +α - HTML5/JavaScript and Service Worker APIWeb Worker +α - HTML5/JavaScript and Service Worker API
Web Worker +α - HTML5/JavaScript and Service Worker API
 
20130225 pronet study
20130225 pronet study20130225 pronet study
20130225 pronet study
 

Viewers also liked

Mariana Zonta_Portfolio_2014
Mariana Zonta_Portfolio_2014Mariana Zonta_Portfolio_2014
Mariana Zonta_Portfolio_2014Mariana Zonta
 
May 9, 2010 mother's day
May 9, 2010 mother's dayMay 9, 2010 mother's day
May 9, 2010 mother's daykingdomrev
 
MTCafe Gunma 2013へのお誘い
MTCafe Gunma 2013へのお誘いMTCafe Gunma 2013へのお誘い
MTCafe Gunma 2013へのお誘いHajime Fujimoto
 
Courses That Matter Manifesto
Courses That Matter ManifestoCourses That Matter Manifesto
Courses That Matter ManifestoAinslie
 
Презентация проекта ForumHouse
Презентация проекта ForumHouseПрезентация проекта ForumHouse
Презентация проекта ForumHouseFORUMHOUSE
 
Landstingsprogram a4
Landstingsprogram a4Landstingsprogram a4
Landstingsprogram a4Centerrollo
 
Презентация проекта FreeHouse
Презентация проекта FreeHouseПрезентация проекта FreeHouse
Презентация проекта FreeHouseFORUMHOUSE
 
Презентация проекта NewsHouse
Презентация проекта NewsHouseПрезентация проекта NewsHouse
Презентация проекта NewsHouseFORUMHOUSE
 
Презентация проекта ForumHouse
Презентация проекта ForumHouseПрезентация проекта ForumHouse
Презентация проекта ForumHouseFORUMHOUSE
 
Movable TypeのWebアプリケーションフレームワークの基本
Movable TypeのWebアプリケーションフレームワークの基本Movable TypeのWebアプリケーションフレームワークの基本
Movable TypeのWebアプリケーションフレームワークの基本Hajime Fujimoto
 
デザイナーにもできる再構築の高速化/負荷分散
デザイナーにもできる再構築の高速化/負荷分散 デザイナーにもできる再構築の高速化/負荷分散
デザイナーにもできる再構築の高速化/負荷分散 Hajime Fujimoto
 
Movable Type 5のテーマ機能を活用する
Movable Type 5のテーマ機能を活用するMovable Type 5のテーマ機能を活用する
Movable Type 5のテーマ機能を活用するHajime Fujimoto
 

Viewers also liked (19)

情報処理第3回
情報処理第3回情報処理第3回
情報処理第3回
 
情報処理第4回
情報処理第4回情報処理第4回
情報処理第4回
 
Estonia 2010
Estonia 2010Estonia 2010
Estonia 2010
 
Mariana Zonta_Portfolio_2014
Mariana Zonta_Portfolio_2014Mariana Zonta_Portfolio_2014
Mariana Zonta_Portfolio_2014
 
May 9, 2010 mother's day
May 9, 2010 mother's dayMay 9, 2010 mother's day
May 9, 2010 mother's day
 
Mb 415
Mb 415Mb 415
Mb 415
 
Mo 595
Mo 595Mo 595
Mo 595
 
MTCafe Gunma 2013へのお誘い
MTCafe Gunma 2013へのお誘いMTCafe Gunma 2013へのお誘い
MTCafe Gunma 2013へのお誘い
 
Courses That Matter Manifesto
Courses That Matter ManifestoCourses That Matter Manifesto
Courses That Matter Manifesto
 
Länsprogram a4
Länsprogram a4Länsprogram a4
Länsprogram a4
 
情報処理第2回
情報処理第2回情報処理第2回
情報処理第2回
 
Презентация проекта ForumHouse
Презентация проекта ForumHouseПрезентация проекта ForumHouse
Презентация проекта ForumHouse
 
Landstingsprogram a4
Landstingsprogram a4Landstingsprogram a4
Landstingsprogram a4
 
Презентация проекта FreeHouse
Презентация проекта FreeHouseПрезентация проекта FreeHouse
Презентация проекта FreeHouse
 
Презентация проекта NewsHouse
Презентация проекта NewsHouseПрезентация проекта NewsHouse
Презентация проекта NewsHouse
 
Презентация проекта ForumHouse
Презентация проекта ForumHouseПрезентация проекта ForumHouse
Презентация проекта ForumHouse
 
Movable TypeのWebアプリケーションフレームワークの基本
Movable TypeのWebアプリケーションフレームワークの基本Movable TypeのWebアプリケーションフレームワークの基本
Movable TypeのWebアプリケーションフレームワークの基本
 
デザイナーにもできる再構築の高速化/負荷分散
デザイナーにもできる再構築の高速化/負荷分散 デザイナーにもできる再構築の高速化/負荷分散
デザイナーにもできる再構築の高速化/負荷分散
 
Movable Type 5のテーマ機能を活用する
Movable Type 5のテーマ機能を活用するMovable Type 5のテーマ機能を活用する
Movable Type 5のテーマ機能を活用する
 

Similar to Word Press on Movable Type

20140924 mt cloud_handson_seminar
20140924 mt cloud_handson_seminar20140924 mt cloud_handson_seminar
20140924 mt cloud_handson_seminarSix Apart
 
はじめてのASP.NET MVC5
はじめてのASP.NET MVC5はじめてのASP.NET MVC5
はじめてのASP.NET MVC5Tomo Mizoe
 
20141119 Movable Type HandsOn Seminar
20141119 Movable Type HandsOn Seminar20141119 Movable Type HandsOn Seminar
20141119 Movable Type HandsOn SeminarSix Apart
 
Contao Open Source CMS / 3.3と、その向こう
Contao Open Source CMS / 3.3と、その向こうContao Open Source CMS / 3.3と、その向こう
Contao Open Source CMS / 3.3と、その向こうTakahiro Kambe
 
WordPress on Movable Type
WordPress on Movable TypeWordPress on Movable Type
WordPress on Movable TypeHajime Fujimoto
 
20141206 handson
20141206 handson20141206 handson
20141206 handsonSix Apart
 
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...Akira Inoue
 
20141101 handson
20141101 handson20141101 handson
20141101 handsonSix Apart
 
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」ericsagnes
 
プラグイン作者脳になろう ~実案件で学ぶプラグイン開発フロー~
プラグイン作者脳になろう ~実案件で学ぶプラグイン開発フロー~プラグイン作者脳になろう ~実案件で学ぶプラグイン開発フロー~
プラグイン作者脳になろう ~実案件で学ぶプラグイン開発フロー~Takeuchi Yuichi
 
Movable typeseminar 20120925
Movable typeseminar 20120925Movable typeseminar 20120925
Movable typeseminar 20120925Six Apart
 
MediaWiki Tips for saveMLAK - wikibana
MediaWiki Tips for saveMLAK - wikibanaMediaWiki Tips for saveMLAK - wikibana
MediaWiki Tips for saveMLAK - wikibananinomy
 
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~Akira Inoue
 
20140926 mt cloud_handson_seminar
20140926 mt cloud_handson_seminar20140926 mt cloud_handson_seminar
20140926 mt cloud_handson_seminarSix Apart
 
TypeScriptへの入口
TypeScriptへの入口TypeScriptへの入口
TypeScriptへの入口Sunao Tomita
 
2012 05-19第44回cocoa勉強会発表資料
2012 05-19第44回cocoa勉強会発表資料2012 05-19第44回cocoa勉強会発表資料
2012 05-19第44回cocoa勉強会発表資料OCHI Shuji
 
WEB TOUCH MEETING #52
WEB TOUCH MEETING #52WEB TOUCH MEETING #52
WEB TOUCH MEETING #52Tao Sasaki
 
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?Kazumi IWANAGA
 
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門Narami Kiyokura
 
Data API ことはじめ
Data API ことはじめData API ことはじめ
Data API ことはじめYuji Takayama
 

Similar to Word Press on Movable Type (20)

20140924 mt cloud_handson_seminar
20140924 mt cloud_handson_seminar20140924 mt cloud_handson_seminar
20140924 mt cloud_handson_seminar
 
はじめてのASP.NET MVC5
はじめてのASP.NET MVC5はじめてのASP.NET MVC5
はじめてのASP.NET MVC5
 
20141119 Movable Type HandsOn Seminar
20141119 Movable Type HandsOn Seminar20141119 Movable Type HandsOn Seminar
20141119 Movable Type HandsOn Seminar
 
Contao Open Source CMS / 3.3と、その向こう
Contao Open Source CMS / 3.3と、その向こうContao Open Source CMS / 3.3と、その向こう
Contao Open Source CMS / 3.3と、その向こう
 
WordPress on Movable Type
WordPress on Movable TypeWordPress on Movable Type
WordPress on Movable Type
 
20141206 handson
20141206 handson20141206 handson
20141206 handson
 
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
TypeScript ファースト ステップ (v.0.9 対応版) ~ Any browser. Any host. Any OS. Open Sourc...
 
20141101 handson
20141101 handson20141101 handson
20141101 handson
 
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
 
プラグイン作者脳になろう ~実案件で学ぶプラグイン開発フロー~
プラグイン作者脳になろう ~実案件で学ぶプラグイン開発フロー~プラグイン作者脳になろう ~実案件で学ぶプラグイン開発フロー~
プラグイン作者脳になろう ~実案件で学ぶプラグイン開発フロー~
 
Movable typeseminar 20120925
Movable typeseminar 20120925Movable typeseminar 20120925
Movable typeseminar 20120925
 
MediaWiki Tips for saveMLAK - wikibana
MediaWiki Tips for saveMLAK - wikibanaMediaWiki Tips for saveMLAK - wikibana
MediaWiki Tips for saveMLAK - wikibana
 
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
Visual Studio 2012 Web 開発 ~ One ASP.NET から TypeScript まで ~
 
20140926 mt cloud_handson_seminar
20140926 mt cloud_handson_seminar20140926 mt cloud_handson_seminar
20140926 mt cloud_handson_seminar
 
TypeScriptへの入口
TypeScriptへの入口TypeScriptへの入口
TypeScriptへの入口
 
2012 05-19第44回cocoa勉強会発表資料
2012 05-19第44回cocoa勉強会発表資料2012 05-19第44回cocoa勉強会発表資料
2012 05-19第44回cocoa勉強会発表資料
 
WEB TOUCH MEETING #52
WEB TOUCH MEETING #52WEB TOUCH MEETING #52
WEB TOUCH MEETING #52
 
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?Azure でサーバーレス、 Infrastructure as Code どうしてますか?
Azure でサーバーレス、 Infrastructure as Code どうしてますか?
 
Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門Visual Studioで始めるTypeScript開発入門
Visual Studioで始めるTypeScript開発入門
 
Data API ことはじめ
Data API ことはじめData API ことはじめ
Data API ことはじめ
 

More from Hajime Fujimoto

Movable Typeでロボットを動かす?AIスピーカーをしゃべらせる?Data APIでMovable TypeとIoTをFUSION
Movable Typeでロボットを動かす?AIスピーカーをしゃべらせる?Data APIでMovable TypeとIoTをFUSIONMovable Typeでロボットを動かす?AIスピーカーをしゃべらせる?Data APIでMovable TypeとIoTをFUSION
Movable Typeでロボットを動かす?AIスピーカーをしゃべらせる?Data APIでMovable TypeとIoTをFUSIONHajime Fujimoto
 
コンテンツタイプの活用と拡張
コンテンツタイプの活用と拡張コンテンツタイプの活用と拡張
コンテンツタイプの活用と拡張Hajime Fujimoto
 
Objecttreeプラグイン&ObjectRelationプラグインのご紹介
Objecttreeプラグイン&ObjectRelationプラグインのご紹介Objecttreeプラグイン&ObjectRelationプラグインのご紹介
Objecttreeプラグイン&ObjectRelationプラグインのご紹介Hajime Fujimoto
 
PHPやVBAでMovable Typeを操作しようData API Library for PHP/VBAのご紹介
PHPやVBAでMovable Typeを操作しようData API Library for PHP/VBAのご紹介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の権限と承認フローMovable Typeの権限と承認フロー
Movable Typeの権限と承認フローHajime Fujimoto
 
2つの「Layout」プラグインでMovable Typeをパワーアップ
2つの「Layout」プラグインでMovable Typeをパワーアップ2つの「Layout」プラグインでMovable Typeをパワーアップ
2つの「Layout」プラグインでMovable TypeをパワーアップHajime Fujimoto
 
はじめよう!MovableType.net ハンズオン
はじめよう!MovableType.net ハンズオンはじめよう!MovableType.net ハンズオン
はじめよう!MovableType.net ハンズオンHajime Fujimoto
 
JavaScriptテンプレートエンジンで活かすData API
JavaScriptテンプレートエンジンで活かすData APIJavaScriptテンプレートエンジンで活かすData API
JavaScriptテンプレートエンジンで活かすData APIHajime Fujimoto
 
Data APIの背景と活用方法 MTCafe Nagoya Ver.
Data APIの背景と活用方法 MTCafe Nagoya Ver.Data APIの背景と活用方法 MTCafe Nagoya Ver.
Data APIの背景と活用方法 MTCafe Nagoya Ver.Hajime Fujimoto
 
Movable Type 6.0をできるだけ安く使う方法
Movable Type 6.0をできるだけ安く使う方法Movable Type 6.0をできるだけ安く使う方法
Movable Type 6.0をできるだけ安く使う方法Hajime Fujimoto
 
Movable Type 6の新機能 Data APIの活用法
Movable Type 6の新機能 Data APIの活用法Movable Type 6の新機能 Data APIの活用法
Movable Type 6の新機能 Data APIの活用法Hajime Fujimoto
 
Data APIの背景と活用方法
Data APIの背景と活用方法Data APIの背景と活用方法
Data APIの背景と活用方法Hajime Fujimoto
 
WordPress on Movable Type
WordPress on Movable TypeWordPress on Movable Type
WordPress on Movable TypeHajime Fujimoto
 
Amazonec2ではじめるMovable Type
Amazonec2ではじめるMovable TypeAmazonec2ではじめるMovable Type
Amazonec2ではじめるMovable TypeHajime Fujimoto
 
MTフル活用に役立つプラグイン
MTフル活用に役立つプラグインMTフル活用に役立つプラグイン
MTフル活用に役立つプラグインHajime Fujimoto
 
Movable TypeでEPUB3とKindle本を作ろう
Movable TypeでEPUB3とKindle本を作ろうMovable TypeでEPUB3とKindle本を作ろう
Movable TypeでEPUB3とKindle本を作ろうHajime Fujimoto
 

More from Hajime Fujimoto (20)

Movable Typeでロボットを動かす?AIスピーカーをしゃべらせる?Data APIでMovable TypeとIoTをFUSION
Movable Typeでロボットを動かす?AIスピーカーをしゃべらせる?Data APIでMovable TypeとIoTをFUSIONMovable Typeでロボットを動かす?AIスピーカーをしゃべらせる?Data APIでMovable TypeとIoTをFUSION
Movable Typeでロボットを動かす?AIスピーカーをしゃべらせる?Data APIでMovable TypeとIoTをFUSION
 
コンテンツタイプの活用と拡張
コンテンツタイプの活用と拡張コンテンツタイプの活用と拡張
コンテンツタイプの活用と拡張
 
PowerCMSとIoTの連携
PowerCMSとIoTの連携PowerCMSとIoTの連携
PowerCMSとIoTの連携
 
Connect with Data API
Connect with Data APIConnect with Data API
Connect with Data API
 
Objecttreeプラグイン&ObjectRelationプラグインのご紹介
Objecttreeプラグイン&ObjectRelationプラグインのご紹介Objecttreeプラグイン&ObjectRelationプラグインのご紹介
Objecttreeプラグイン&ObjectRelationプラグインのご紹介
 
PHPやVBAでMovable Typeを操作しようData API Library for PHP/VBAのご紹介
PHPやVBAでMovable Typeを操作しようData API Library for PHP/VBAのご紹介PHPやVBAでMovable Typeを操作しようData API Library for PHP/VBAのご紹介
PHPやVBAでMovable Typeを操作しようData API Library for PHP/VBAのご紹介
 
Movable Typeの権限と承認フロー
Movable Typeの権限と承認フローMovable Typeの権限と承認フロー
Movable Typeの権限と承認フロー
 
2つの「Layout」プラグインでMovable Typeをパワーアップ
2つの「Layout」プラグインでMovable Typeをパワーアップ2つの「Layout」プラグインでMovable Typeをパワーアップ
2つの「Layout」プラグインでMovable Typeをパワーアップ
 
はじめよう!MovableType.net ハンズオン
はじめよう!MovableType.net ハンズオンはじめよう!MovableType.net ハンズオン
はじめよう!MovableType.net ハンズオン
 
JavaScriptテンプレートエンジンで活かすData API
JavaScriptテンプレートエンジンで活かすData APIJavaScriptテンプレートエンジンで活かすData API
JavaScriptテンプレートエンジンで活かすData API
 
Data APIの背景と活用方法 MTCafe Nagoya Ver.
Data APIの背景と活用方法 MTCafe Nagoya Ver.Data APIの背景と活用方法 MTCafe Nagoya Ver.
Data APIの背景と活用方法 MTCafe Nagoya Ver.
 
Movable Type 6.0をできるだけ安く使う方法
Movable Type 6.0をできるだけ安く使う方法Movable Type 6.0をできるだけ安く使う方法
Movable Type 6.0をできるだけ安く使う方法
 
Movable Type 6の新機能 Data APIの活用法
Movable Type 6の新機能 Data APIの活用法Movable Type 6の新機能 Data APIの活用法
Movable Type 6の新機能 Data APIの活用法
 
Data APIの基本
Data APIの基本Data APIの基本
Data APIの基本
 
Data APIの背景と活用方法
Data APIの背景と活用方法Data APIの背景と活用方法
Data APIの背景と活用方法
 
WordPress on Movable Type
WordPress on Movable TypeWordPress on Movable Type
WordPress on Movable Type
 
Vagrantのすすめ
VagrantのすすめVagrantのすすめ
Vagrantのすすめ
 
Amazonec2ではじめるMovable Type
Amazonec2ではじめるMovable TypeAmazonec2ではじめるMovable Type
Amazonec2ではじめるMovable Type
 
MTフル活用に役立つプラグイン
MTフル活用に役立つプラグインMTフル活用に役立つプラグイン
MTフル活用に役立つプラグイン
 
Movable TypeでEPUB3とKindle本を作ろう
Movable TypeでEPUB3とKindle本を作ろうMovable TypeでEPUB3とKindle本を作ろう
Movable TypeでEPUB3とKindle本を作ろう
 

Word Press on Movable Type

  • 1. WordPress on Movable Type (and everything on Movable Type) 2013/3/2 MTCafe Gunma 2013 藤本 壱
  • 2. 今日のアジェンダ • 自己紹介 • WPConnector プラグイン ( 開発中 ) の紹 介 • WPConnector プラグインの裏側 • Everything on Movable Type • まとめ
  • 4. 自己紹介その 1 • 藤本 壱(ふじもと はじめ) • 昭和 44 年 4 月生まれ/今年 44 歳 • 兵庫県伊丹市出身 • 群馬県前橋市在住
  • 5. 自己紹介その 2 • 本職は PC 系のフリーライター • 2004 年秋から MT ユーザー • さまざまなプラグインを開発
  • 7. WPConnector プラグイン ( 開発 中) の紹介
  • 8. WordPress のメリット • テーマ/プラグインが豊富 • 動的出力 ( 管理者にとって手間が少な い) • テンプレートが生 PHP(WordPress 以外に も応用が利く ) • 非オブジェクト指向 ( なんちゃって PHP プログラマでも一応カスタマイズでき る) • 無償
  • 9. WordPress の弱点 • 静的出力に向かない • テンプレートタグが HTML も出力 ( データと HTML を分離しにくい ) • ステージングサーバー/公開サーバ ーを分離しにくい • 本体のコードが読みにくい ( 非オブ ジェクト指向・・・ )
  • 10. 組み合わせて使おう • 両者を組み合わせて相互補完 • でもどうやって? WPConnector プラグイン
  • 11. WPConnector プラグインの機 能 • WordPress のオブジェクト(投稿 等)を MT の管理画面にも表示 • WordPress のデータを Movable Type のテンプレートタグで出力
  • 12. WordPress の投稿一覧を Movable Type の管理画面で • Movable Type の記事一覧と同じ UI(Listing Framework) • 表示するフィールドを自由に選択 • 条件を指定して投稿を検索 • フィールドの値で投稿を並べ替え
  • 14. WordPress のデータを Movable Type のテンプレートで 出力 • MTWP 系のテンプレートタグ • MTWPEntries • MTWPEntryTitle • MTWPEntryPermalink • MTWPEntryDate • etc.
  • 15. テンプレートの例 <mt:WPEntries> <mt:If name="__first__"><ul></mt:If> <li> <a href="<$mt:WPEntryPermalink$>"> <$mt:WPEntryTitle$>(<$mt:WPEntryDate$>) </a> </li> <mt:If name="__last__"></ul></mt:If> </mt:WPEntries>
  • 18. Movable Type is a framework • Web アプリケーション開発のフレー ムワーク • Object Relational Mapper (Data::ObjectDriver,MT::Object) • Model(Perl のロジック ) • View( テンプレート ) • Controller(mt.cgi / config.yaml)
  • 19. MT::Object を継承したクラス クラス 内容 MT::Entry ブログ記事 MT::Page ウェブページ MT::Asset アイテム MT::Category カテゴリ MT::Tag タグ MT::Placement ブログ記事とカテゴリのリンク MT::Blog ブログ MT::Author ユーザー
  • 20. MT::Object の基本 • ブログ記事を読み込んでタイトルを出 力 use MT::Entry my @entries = MT::Entry->load; for my $entry (@entries) { print $entry->title . “n”; }
  • 21. WP::Object • MT::Object を継承 • WordPress のオブジェクトを抽象化した クラス • WP::Object を継承して各オブジェクト に対応するクラスを作成
  • 22. WP::Object を継承したクラス クラス 内容 WP::Post(WP::Page,WP::Attachment) 投稿系 WP::Taxonomy(WP::Category,WP::P 分類系 ostTag) WP::TermRelationship 投稿系と分類 系のリンク WP::Blog ブログ WP::Comment コメント WP::User ユーザー
  • 23. WP::Object の基本 • 投稿を読み込んでタイトルを出力 use WP::Post my @posts = WP::Post->load; for my $post (@posts) { print $post->title . “n”; }
  • 25. 管理画面の作成 • Movable Type の管理画面作成関係のロ ジックをそのまま利用 • オブジェクト一覧画面は Listing Framework で作成 • 編集画面は読み込みロジックと編集画面テ ンプレートを作成
  • 27. ○○○::Object で広がる世界 • WP::Object と同様のことは他の CMS 等でも可能(なはず) • CMS • Joomla, MODX, SoyCMS, a-blog cm s, ・・・ • Web アプリケーションフレームワー ク • Ruby on Rail, CakePHP, ・・・ • Etc.
  • 28. Everything on Movable Type • ○○○::Object を通して他の CMS 等と Movable Type を連携 • 他の CMS 等のデータを Movable Type のテ ンプレートタグで出力 • 他の CMS 等のデータを Movable Type の管 理画面で利用
  • 29. まとめ • WPConnector プラグインで WordPress と Movable Type を連携できる • MT::Object を拡張して様々な CMS 等と 連携できる • Everything on Movable Type