mtでのプレビューサイト制作
TRANSCRIPT
![Page 1: MTでのプレビューサイト制作](https://reader035.vdocuments.mx/reader035/viewer/2022081804/5589c88ad8b42a3a578b4685/html5/thumbnails/1.jpg)
MTでのプレビューサイト制作 2013.08.03 Kei Yoshida
![Page 2: MTでのプレビューサイト制作](https://reader035.vdocuments.mx/reader035/viewer/2022081804/5589c88ad8b42a3a578b4685/html5/thumbnails/2.jpg)
MTで確認用にプレビューサイトを 構築したときのノウハウの話
ブログ記事を公開前にクライアントや上司などが確認できるように プレビューサイトを構築したい
![Page 3: MTでのプレビューサイト制作](https://reader035.vdocuments.mx/reader035/viewer/2022081804/5589c88ad8b42a3a578b4685/html5/thumbnails/3.jpg)
プレビューしたいページをベーシック認証を かけたプレビュー用ディレクトリに出力する
プレビュー確認する方法はいろいろあると思いますが… (プラグインを使ったりPowerCMSを導入したり、カテゴリを利用したり)
![Page 4: MTでのプレビューサイト制作](https://reader035.vdocuments.mx/reader035/viewer/2022081804/5589c88ad8b42a3a578b4685/html5/thumbnails/4.jpg)
プレビューしたいページをベーシック認証を かけたプレビュー用ディレクトリのみに出力する
http://testtest.com/
http://testtest.com/preview/
公開サイト
プレビュー用ディレクトリ
※http://preview.testtest.com/などサブドメインをきれば、 階層を公開サイトと同じにできる
![Page 5: MTでのプレビューサイト制作](https://reader035.vdocuments.mx/reader035/viewer/2022081804/5589c88ad8b42a3a578b4685/html5/thumbnails/5.jpg)
プレビュー確認するかどうかにカスタムフィールドを利用 ([CFpreviewCheck]という名前のチェックボックスを作成)
![Page 6: MTでのプレビューサイト制作](https://reader035.vdocuments.mx/reader035/viewer/2022081804/5589c88ad8b42a3a578b4685/html5/thumbnails/6.jpg)
プレビュー確認用カスタムフィールドにチェックが 入っている場合は、プレビュー用ディレクトリに出力する
(カスタムフィールドにチェックが入っている場合は、公開サイトに出力しない)
![Page 7: MTでのプレビューサイト制作](https://reader035.vdocuments.mx/reader035/viewer/2022081804/5589c88ad8b42a3a578b4685/html5/thumbnails/7.jpg)
各テンプレートはプレビュー用テンプレートと公開用テンプレートの二つ作る
http://testtest.com/
http://testtest.com/preview/
公開用テンプレートは↑に確認用カスタムフィールドにチェックが入っている記事を除いて出力
プレビュー用テンプレートは↑に全ての記事を出力
やりたいこと…
![Page 8: MTでのプレビューサイト制作](https://reader035.vdocuments.mx/reader035/viewer/2022081804/5589c88ad8b42a3a578b4685/html5/thumbnails/8.jpg)
メインページテンプレート
<mt:Entries field:CFpreviewCheck="0"> ~ </mt:Entries>
公開用
<mt:Entries> ~ </mt:Entries>
プレビュー用
![Page 9: MTでのプレビューサイト制作](https://reader035.vdocuments.mx/reader035/viewer/2022081804/5589c88ad8b42a3a578b4685/html5/thumbnails/9.jpg)
ブログ記事テンプレート
<mt:Unless tag="CFpreviewCheck">%y/%m/%-f</mt:Unless>
公開用テンプレートのアーカイブマッピング
preview/%y/%m/%-f
プレビュー用テンプレートのアーカイブマッピング
※ファイル名を決めるアーカイブマッピングにMTタグで条件分岐を行い、チェックが入った記事は出力しない
![Page 10: MTでのプレビューサイト制作](https://reader035.vdocuments.mx/reader035/viewer/2022081804/5589c88ad8b42a3a578b4685/html5/thumbnails/10.jpg)
躓いたところ…
![Page 11: MTでのプレビューサイト制作](https://reader035.vdocuments.mx/reader035/viewer/2022081804/5589c88ad8b42a3a578b4685/html5/thumbnails/11.jpg)
「次の記事」、「前の記事」の出力
![Page 12: MTでのプレビューサイト制作](https://reader035.vdocuments.mx/reader035/viewer/2022081804/5589c88ad8b42a3a578b4685/html5/thumbnails/12.jpg)
MTEntryNext、MTEntryPreviousを使う場合カスタムフィールドでの条件判定が難しい
![Page 13: MTでのプレビューサイト制作](https://reader035.vdocuments.mx/reader035/viewer/2022081804/5589c88ad8b42a3a578b4685/html5/thumbnails/13.jpg)
結局…
MTでJSON出力→ PHPでJSONから「次の記事」、「前の記事」を取得
<mt:Unless name="removenl" strip_linefeeds="1" strip=" " > {"item":[ <mt:Entries field:CFpreviewCheck="0"> <mt:SetvarBlock name="item{entryID}"><mt:EntryID /></mt:SetvarBlock> <mt:SetvarBlock name="item{title}"><mt:EntryTitle encode_html="1"></mt:SetvarBlock> <mt:SetvarBlock name="item{url}"><mt:entryPermalink></mt:SetvarBlock> <mt:SetvarBlock name="item{entryDate}"><$mt:EntryDate format="%Y年%b月%e日"$> </mt:SetvarBlock> <mt:SetvarBlock name="item{author}"><$mt:AuthorID$></mt:SetvarBlock> <mt:SetvarBlock name="item{tag}"><mt:EntryTags glue=","><mt:tagName encode_html="1"></mt:entryTags></mt:SetvarBlock> <mt:var name="item" to_json="1"><mt:unless __last__>,</mt:unless __last__> </mt:Entries> ]} </mt:Unless>
MTでJSON作成
![Page 14: MTでのプレビューサイト制作](https://reader035.vdocuments.mx/reader035/viewer/2022081804/5589c88ad8b42a3a578b4685/html5/thumbnails/14.jpg)
MTの公開プロフィールにデフォルトで 「公開」、「下書き」の他に「承認待ち」とか欲しい… プラグインを作ってくださっている方もいますが、 「承認待ち」だけを別ディレクトリへみたいなものは 難しかったので…
感じたこと…
![Page 15: MTでのプレビューサイト制作](https://reader035.vdocuments.mx/reader035/viewer/2022081804/5589c88ad8b42a3a578b4685/html5/thumbnails/15.jpg)
ご静聴ありがとうございました