SlideShare una empresa de Scribd logo
1 de 55
MovableType
口田 聖子 @ webbingstudio
第3回 Movable Type 勉強会
2012.4.14(sat)
実務制作で考慮すること
の
l
今日のお題
※主に数十ページ程度のサイト向けの話
MovableTypeの実務制作で
制作担当者(コーダー等)が留意すべきこと
CMSとしての利用
静的サイトへの組み込み
デザインカンプを渡されてのコーディング
CMSを組み込む案件で
確認すべきことは多岐にわたる
コーディングに
付随する
確認事項
文書宣言
文字コード
社内の制作ルール
etc…
CMSの設置に
関連する
確認事項
サーバーの仕様
管理画面URL
データベース情報
etc…
導入予定の
CMS仕様に
関連する
確認事項
MovableType
WordPress
a-blog cms
etc…
CMSを組み込む案件で
確認すべきことは多岐にわたる
コーディングに
付随する
確認事項
文書宣言
文字コード
社内の制作ルール
etc…
CMSの設置に
関連する
確認事項
サーバーの仕様
管理画面URL
データベース情報
etc…
導入予定の
CMS仕様に
関連する
確認事項
MovableType
WordPress
a-blog cms
etc…
MovableTypeで
制作することになった場合
考慮するポイントには
どんなものがあるの?
静的ファイルとの連携1
実務制作では、全コンテンツを
CMSで管理する案件は少ない
静的コンテンツ 動的コンテンツ
共通パーツ
トップページに新着を出す処理も
MultiBlogより
PHPインクルードの方が軽い
ウェブサイトの
トップページ
子ブログ
新着情報
mt:Includeタグを使った場合
<$mt:Include
file=“/home/aaaa/htdocs/include/header.inc”$>
mt:Includeタグを使った場合
<$mt:Include
file=“/home/aaaa/htdocs/include/header.inc”$>
fileモディファイアは
最新バージョン(5.13)では非推薦
スタティック・パブリッシングにすると
Includes_cにキャッシュを作るので
FTPでの差し替えが即時に反映されない
PHPインクルードで対応
スタティック・パブリッシング(PHP構文)
<?php
include (‘/home/aaaa/htdocs/include/header.inc’);
?>
ダイナミック・パブリッシング(smarty)
{{php}}
include (‘/home/aaaa/htdocs/include/header.inc’);
{{/php}}
フルパスを変数化して
公開サーバー移行時の手数を減らす
スタティック・パブリッシング
<mt:BlogParentWebsite>
<mt:SetVarBlock name="Global_FullPath”>
<$mt:WebsitePath$></mt:SetVarBlock>
</mt:BlogParentWebsite>
・・・
<?php
include (‘<$mt:GetVar name="Global_FullPath"$>include/
header.inc’);
?>
フルパスを変数化して
公開サーバー移行時の手数を減らす
スタティック・パブリッシング
<mt:BlogParentWebsite>
<mt:SetVarBlock name="Global_FullPath”>
<$mt:WebsitePath$></mt:SetVarBlock>
</mt:BlogParentWebsite>
・・・
<?php
include (‘<$mt:GetVar name="Global_FullPath"$>include/
header.inc’);
?>
MovableTypeの
設定に保存された
サーバーのフルパスを取得
フルパスを変数化して
公開サーバー移行時の手数を減らす
ダイナミック・パブリッシング
<mt:BlogParentWebsite>
<mt:SetVarBlock name="Global_FullPath”>
<$mt:WebsitePath$></mt:SetVarBlock>
</mt:BlogParentWebsite>
・・・
{{php}}
include (smarty_function_mtgetvar(array('name' => 'Global_FullPath'),
$this) . ’include/header.inc');
{{/php}}
フルパスを変数化して
公開サーバー移行時の手数を減らす
ダイナミック・パブリッシング
<mt:BlogParentWebsite>
<mt:SetVarBlock name="Global_FullPath”>
<$mt:WebsitePath$></mt:SetVarBlock>
</mt:BlogParentWebsite>
・・・
{{php}}
include (smarty_function_mtgetvar(array('name' => 'Global_FullPath'),
$this) . ’include/header.inc');
{{/php}}
MTの変数に保存した値を
PHPの変数で取得
PHPインクルードは便利だが…
スタティック用のPHP構文を
ダイナミックで書き出すとページが真っ白に…
ダイナミック用のsmarty構文をスタティックで書き出すと
スクリプトがそのまま出てしまう…
■
■
PHPインクルードは便利だが…
制作前に、どのテンプレートを
ダイナミック・パブリッシングにするか
決めておく必要がある
スタティック用のPHP構文を
ダイナミックで書き出すとページが真っ白に…
ダイナミック用のsmarty構文をスタティックで書き出すと
スクリプトがそのまま出てしまう…
■
■
PHPインクルードは便利だが…
制作前に、どのテンプレートを
ダイナミック・パブリッシングにするか
決めておく必要がある
スタティック用のPHP構文を
ダイナミックで書き出すとページが真っ白に…
ダイナミック用のsmarty構文をスタティックで書き出すと
スクリプトがそのまま出てしまう…
■
■
もしかすると
Dynamic MTML
を利用すれば解決できる?
教えてえらい人!
PHPインクルードが使用できないことも
CGIで生成されているページでは
mt:Include+fileモディファイアを
使うしかない
MovableType既存の検索結果画面
ダイナミック・パブリッシングに対応してない
プラグインの生成ページ
(mailFormプラグインの確認画面など)
■
■
可変部分への対応2
タイトル・カスタムフィールドが長くて
複数行になった場合は?
カテゴリーは自由に増減・名称変更させる?
サムネイルを表示する新着で、
画像をアップロードしなかったらどうする?
自由度が全くなかったらCMSじゃない
カンプだけでは判断がつかないことがある
制作側が想定して、
デザイン的に矛盾するようであれば
制作前に質問を投げなければならない
カテゴリーを複数指定できる
親子関係を持たせられる
順番を指定できる
複数指定のときに
「主・副」を指定できる
MovableTypeのカテゴリーの仕様
カテゴリーによって
アイコンや配色が変わるようになっている場合
「カテゴリーの複数選択を可能にするのか?」
を確認しなければならない
カテゴリーがデザインに影響している場合
エントリーのタイトルです
お知らせ 2012.04.01
エントリーのタイトルです
セミナー情報 2012.04.01
主カテゴリーの情報だけ取得する
<mt:Ignore>### 主カテゴリーのみ表示します ###</mt:Ignore>
<mt:SetVarBlock name="Category_Primary">
<$mt:EntryCategory$></mt:SetVarBlock>
<mt:EntryCategories>
<mt:SetVarBlock name="Category_Label”><$mt:CategoryLabel$>
</mt:SetVarBlock>
<mt:If name="Category_Label" eq="$Category_Primary”>
<a href="<$mt:CategoryArchivelink$>">
<img src="<$mt:GetVar name="Global_Path"$>images/category_
<$mt:CategoryBasename$>_ico.png”
alt="<$mt:GetVar name="Category_Label"$>" width="80" height="15">
</a>
</mt:If>
</mt:EntryCategories>
カテゴリーの階層を調べる
<mt:Ignore>### 親がないときだけ真を返します ###</mt:Ignore>
<mt:HasNoParentCategory>
最上層のカテゴリーです
</mt:HasNoParentCategory>
<mt:Ignore>### 子がないときだけ真を返します ###</mt:Ignore>
<mt:HasNoSubCategories>
最下層のカテゴリーです
</mt:HasNoSubCategories>
<mt:Ignore>### 特定カテゴリーの下層のときだけ真を返します ###
</mt:Ignore>
<mt:IfIsDescendant parent=“ムーバブルタイプ">
「ムーバブルタイプ」の下層に入っています
</mt:IfIsDescendant>
カテゴリーの階層を調べる
<mt:Ignore>### カテゴリーに親がないときだけ真を返します ###</mt:Ignore>
<mt:HasNoParentCategory>
最上層のカテゴリーです
</mt:HasNoParentCategory>
<mt:Ignore>### カテゴリーに子がないときだけ真を返します ###</mt:Ignore>
<mt:HasNoSubCategories>
最下層のカテゴリーです
</mt:HasNoSubCategories>
<mt:Ignore>### 特定カテゴリーの下層にあるときだけ真を返します ###</mt:Ignore>
<mt:IfIsDescendant parent=“ムーバブルタイプ">
「ムーバブルタイプ」の下層に入っています
</mt:IfIsDescendant>
カテゴリーの深さを直接
取得するタグ・条件分岐は
ないようです
MovableTypeの検索・
ダイナミック・パブリッシング用の
ページネーション
<div class="content-nav">
<mt:IfPreviousResults>
<a href="<$mt:PreviousLink$>" rel="prev" onclick="return swapContent(-1);">&lt;
<__trans phrase="Previous"></a>&nbsp;&nbsp;</mt:IfPreviousResults>
<mt:PagerBlock><mt:IfCurrentPage><$mt:Var name="__value__"$><mt:Else><a
href="<$mt:PagerLink$>"><$mt:Var
name="__value__"$></a></mt:IfCurrentPage><mt:Unless
name="__last__">&nbsp;</mt:Unless></mt:PagerBlock>
<mt:IfMoreResults>&nbsp;&nbsp;<a href="<$mt:NextLink$>" rel="next" onclick="return
swapContent();"><__trans phrase="Next"> &gt;</a></mt:IfMoreResults>
</div>
ページ数が非常に多くなった場合でも
際限なくリンクを生成してしまう…
ページ数が非常に多くなった場合でも
際限なくリンクを生成してしまう…
jQueryでDOMを書き替えることを考えてみよう
ページネーションのHTMLを少し直す
<div class="content-nav">
<mt:IfPreviousResults>
<a href=“<$mt:PreviousLink$>” rel=“prev” onclick=“return swapContent(-1);”
class=“link_prev”>&lt; <__trans
phrase="Previous"></a>&nbsp;&nbsp;</mt:IfPreviousResults>
<mt:PagerBlock><mt:IfCurrentPage><$mt:Var name="__value__"$><mt:Else><a
href="<$mt:PagerLink$>" class=“link_page”><$mt:Var
name="__value__"$></a></mt:IfCurrentPage><mt:Unless
name="__last__">&nbsp;</mt:Unless></mt:PagerBlock>
<mt:IfMoreResults>&nbsp;&nbsp;<a href="<$mt:NextLink$>" rel="next" onclick="return
swapContent();" class=“link_next”><__trans phrase="Next">
&gt;</a></mt:IfMoreResults>
</div>
ページネーション書き換えの一例(前半)
$(function() {
function pagerShort(Obj, Show) {
var Current = $('.current_page', Obj).text();
var Len = $('a.link_page, span.current_page', Obj).size();
var Len = parseInt(Len) - 1;
Current = parseInt(Current);
Show = parseInt(Show);
var First = Current - Show - 1;
var Last = Current + Show;
if(First < Show) {
Last = (Show * 2) + 1;
}
if(Last >= Len) {
First = Len - (Show * 2);
}
ページネーション書き換えの一例(後半)
$('a.link_page, span.current_page', Obj).each(function(index){
if((index == 0)&&(First > 1)) {
$(this).after('<span class="omission">…</span>');
}
if((Last < Len)&&(index == Len)) {
$(this).before('<span class="omission">…</span>');
}
if((index != 0)&&(index != Len)) {
if((index < First)||(index >= Last)) {
$(this).remove();
}
}
});
}
$('#main . content-nav').each(function(index, Obj){
pagerShort($(Obj), 3);
});
});
ページネーション書き換えの一例(後半)
$('a.link_page, span.current_page', Obj).each(function(index){
if((index == 0)&&(First > 1)) {
$(this).after('<span class="omission">…</span>');
}
if((Last < Len)&&(index == Len)) {
$(this).before('<span class="omission">…</span>');
}
if((index != 0)&&(index != Len)) {
if((index < First)||(index >= Last)) {
$(this).remove();
}
}
});
}
$('#main . content-nav').each(function(index, Obj){
pagerShort($(Obj), 3);
});
});
3 = 省略せずに左右に
表示する数
長いリンクリストが省略されました
※このスクリプトは改良中です…あくまで参考としてご利用ください
画像アップロード3
一般の人は、デジカメ・携帯電話の写真が
Webではサイズが大きすぎることを
意識しない
MovableTypeは
高解像度のアップロード画像を
そのままサーバーに保存する
5つのブログを毎日更新
×記事1件につき、1MBの画像を2枚アップロード
=1年でサーバー容量が3.6GB減る
MovableTypeは
高解像度のアップロード画像を
そのままサーバーに保存する
5つのブログを毎日更新
×記事1件につき、1MBの画像を2枚アップロード
=1年でサーバー容量が3.6GB減る
サムネイルも生成していたら
もっと減る
ImageUploadUtilityプラグインで予防しよう
http://skeleton.juxtaposition.jp/image-upload-utility/
ImageUploadUtilityプラグインで予防しよう
ファイルアップロード時に任意サイズまで縮小して
サーバーに保管する
ファイル名が日本語だった場合、任意フォーマットの
ファイル名に変更して保管する
埋め込むサムネイルの長辺サイズを
テンプレートごとに指定・制限できる
ImageUploadUtilityプラグインで予防しよう
ファイルアップロード時に任意サイズまで縮小して
サーバーに保管する
ファイル名が日本語だった場合、任意フォーマットの
ファイル名に変更して保管する
埋め込むサムネイルの長辺サイズを
テンプレートごとに指定・制限できる
ファイル名がマルチバイトだと、FTP転送時に文字化けすることがある
管理画面の
カスタマイズ4
MTAppjQueryプラグインは鉄板
http://www.tinybeans.net/blog/download/mt-plugin/
mtapp-jquery.html
入力項目の制御に特化した
BodyFieldCustomizerプラグイン
http://www.koikikukan.com/archives/2011/05/06-025555.php
どう違うの?
MTAppjQuery
■ jQueryの知識があれば、項目のテキスト書き替えや
サイズ変更などの修正も可能
■ バージョンアップ時に不具合が出たとき対応しやすい
BodyFieldCustomizer
■「設定」画面でブログごとに表示を制御できる
■ jQueryのスキルがなくても使える
どう違うの?
MTAppjQuery
■ jQueryの知識があれば、項目のテキスト書き替えや
サイズ変更などの修正も可能
■ バージョンアップ時に不具合が出たとき対応しやすい
BodyFieldCustomizer
■「設定」画面でブログごとに表示を制御できる
■ jQueryのスキルがなくても使える
MTAppjQueryを
使っているけど、
並び替えだけ
BodyFieldCustomizerを
使う手もあるかも…
ヒントを強調する
if(mtappVars.screen_id == 'edit-entry'){
$('div#main-content .hint').css({
color: '#008822',
backgroundColor: '#E6F3DD',
padding: '5px',
fontStyle: 'normal'
});
}
user.jsのサンプル
使用しない左メニューを隠す
var Menu = $('#menu');
$('#menu-page, #menu-tag, #menu-feedback',
Menu).css({ display: 'none' });
固定ページ・コメントなどが
見えなくなっています
user.jsのサンプル
user.jsのサンプル
エントリー一覧の見出しを変更する
if(mtappVars.screen_id == 'list-entry') {
$('#page-title').text('セミナーの管理');
}
user.jsのサンプル
エントリー一覧の見出しを変更する
if(mtappVars.screen_id == 'list-entry') {
$('#page-title').text('セミナーの管理');
}
「ブログ記事の管理」を
「セミナーの管理」に
変更しました
まとめ5
納品後、数ヶ月先のことを考える
モダンブラウザの普及や、MovableTypeの機能向上で
デザイン性の高いテーマを作りやすくなった
以前より管理画面のカスタマイズもしやすくなった
数ヶ月先、数年先も今のデザインを保てるか?
更新作業・追加改修がしにくい構造になっていないか?
納品後、数ヶ月先のことを考える
モダンブラウザの普及や、MovableTypeの機能向上で
デザイン性の高いテーマを作りやすくなった
以前より管理画面のカスタマイズもしやすくなった
数ヶ月先、数年先も今のデザインを保てるか?
更新作業・改修がしにくい構造になっていないか?
MovableTypeの特徴を理解して
欠点をカバーできる制作を心がけましょう :D
MovableTypeの実務制作で考慮すること

Más contenido relacionado

Similar a MovableTypeの実務制作で考慮すること

CMS と concrete5 の わかりやすい紹介
CMS と concrete5 のわかりやすい紹介�CMS と concrete5 のわかりやすい紹介�
CMS と concrete5 の わかりやすい紹介Katz Ueno
 
WebMatrix 夏休み特番 & 勉強会
WebMatrix 夏休み特番 & 勉強会WebMatrix 夏休み特番 & 勉強会
WebMatrix 夏休み特番 & 勉強会masakit555
 
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT appsMAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT appsShotaro Suzuki
 
第一回スライド
第一回スライド第一回スライド
第一回スライド洋介 池田
 
検索エンジンを有効利用するWEBサイト構築
検索エンジンを有効利用するWEBサイト構築検索エンジンを有効利用するWEBサイト構築
検索エンジンを有効利用するWEBサイト構築sato165 @delab
 
IA2010 - アジャイル時代のWeb解析事例
IA2010 -  アジャイル時代のWeb解析事例IA2010 -  アジャイル時代のWeb解析事例
IA2010 - アジャイル時代のWeb解析事例Makoto Shimizu
 
Plone 4.2 - THIS IS IT!
Plone 4.2 - THIS IS IT!Plone 4.2 - THIS IS IT!
Plone 4.2 - THIS IS IT!Shigeo Honda
 
20160317 ichigaya mt_cloud_handson
20160317 ichigaya mt_cloud_handson20160317 ichigaya mt_cloud_handson
20160317 ichigaya mt_cloud_handsonSix Apart
 
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよクライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよSeki Yousuke
 
Html5から考えてみる。未来のcms word camp kobe
Html5から考えてみる。未来のcms word camp kobeHtml5から考えてみる。未来のcms word camp kobe
Html5から考えてみる。未来のcms word camp kobeMasakazu Muraoka
 
Web担当者Forumミーティング2013 Autumn 「マルチデバイス、HTML5がとりまくWebサイト制作とCMSの現在」
Web担当者Forumミーティング2013 Autumn 「マルチデバイス、HTML5がとりまくWebサイト制作とCMSの現在」Web担当者Forumミーティング2013 Autumn 「マルチデバイス、HTML5がとりまくWebサイト制作とCMSの現在」
Web担当者Forumミーティング2013 Autumn 「マルチデバイス、HTML5がとりまくWebサイト制作とCMSの現在」xyz corporation
 
OthloEvent #9 Xamarinハンズオン
OthloEvent #9 XamarinハンズオンOthloEvent #9 Xamarinハンズオン
OthloEvent #9 XamarinハンズオンHidetsugu Tamaki
 
国産baserCMSの基本機能と秘めたポテンシャル
国産baserCMSの基本機能と秘めたポテンシャル国産baserCMSの基本機能と秘めたポテンシャル
国産baserCMSの基本機能と秘めたポテンシャルRyuji Egashira
 
話題のNode-REDでIoTアプリを作ってみよう
話題のNode-REDでIoTアプリを作ってみよう話題のNode-REDでIoTアプリを作ってみよう
話題のNode-REDでIoTアプリを作ってみようKimihiko Kitase
 
20160720 okubo mt_cloud_handson
20160720 okubo mt_cloud_handson20160720 okubo mt_cloud_handson
20160720 okubo mt_cloud_handsonSix Apart
 
Movable typeseminar 20120925
Movable typeseminar 20120925Movable typeseminar 20120925
Movable typeseminar 20120925Six Apart
 
20140908 Movable Type Seminar
20140908 Movable Type Seminar20140908 Movable Type Seminar
20140908 Movable Type SeminarSix Apart
 
20140924 mt cloud_handson_seminar
20140924 mt cloud_handson_seminar20140924 mt cloud_handson_seminar
20140924 mt cloud_handson_seminarSix Apart
 

Similar a MovableTypeの実務制作で考慮すること (20)

CMS と concrete5 の わかりやすい紹介
CMS と concrete5 のわかりやすい紹介�CMS と concrete5 のわかりやすい紹介�
CMS と concrete5 の わかりやすい紹介
 
WebMatrix 夏休み特番 & 勉強会
WebMatrix 夏休み特番 & 勉強会WebMatrix 夏休み特番 & 勉強会
WebMatrix 夏休み特番 & 勉強会
 
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT appsMAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
MAF2013 Enterprise Windows 8 – Architecture for rapid development of WinRT apps
 
第一回スライド
第一回スライド第一回スライド
第一回スライド
 
検索エンジンを有効利用するWEBサイト構築
検索エンジンを有効利用するWEBサイト構築検索エンジンを有効利用するWEBサイト構築
検索エンジンを有効利用するWEBサイト構築
 
IA2010 - アジャイル時代のWeb解析事例
IA2010 -  アジャイル時代のWeb解析事例IA2010 -  アジャイル時代のWeb解析事例
IA2010 - アジャイル時代のWeb解析事例
 
Plone 4.2 - THIS IS IT!
Plone 4.2 - THIS IS IT!Plone 4.2 - THIS IS IT!
Plone 4.2 - THIS IS IT!
 
20160317 ichigaya mt_cloud_handson
20160317 ichigaya mt_cloud_handson20160317 ichigaya mt_cloud_handson
20160317 ichigaya mt_cloud_handson
 
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよクライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
クライアントサイドMVVMアーキテクチャとVue.jsをまとめたよ
 
Html5から考えてみる。未来のcms word camp kobe
Html5から考えてみる。未来のcms word camp kobeHtml5から考えてみる。未来のcms word camp kobe
Html5から考えてみる。未来のcms word camp kobe
 
Web
WebWeb
Web
 
Web担当者Forumミーティング2013 Autumn 「マルチデバイス、HTML5がとりまくWebサイト制作とCMSの現在」
Web担当者Forumミーティング2013 Autumn 「マルチデバイス、HTML5がとりまくWebサイト制作とCMSの現在」Web担当者Forumミーティング2013 Autumn 「マルチデバイス、HTML5がとりまくWebサイト制作とCMSの現在」
Web担当者Forumミーティング2013 Autumn 「マルチデバイス、HTML5がとりまくWebサイト制作とCMSの現在」
 
OthloEvent #9 Xamarinハンズオン
OthloEvent #9 XamarinハンズオンOthloEvent #9 Xamarinハンズオン
OthloEvent #9 Xamarinハンズオン
 
国産baserCMSの基本機能と秘めたポテンシャル
国産baserCMSの基本機能と秘めたポテンシャル国産baserCMSの基本機能と秘めたポテンシャル
国産baserCMSの基本機能と秘めたポテンシャル
 
話題のNode-REDでIoTアプリを作ってみよう
話題のNode-REDでIoTアプリを作ってみよう話題のNode-REDでIoTアプリを作ってみよう
話題のNode-REDでIoTアプリを作ってみよう
 
20160720 okubo mt_cloud_handson
20160720 okubo mt_cloud_handson20160720 okubo mt_cloud_handson
20160720 okubo mt_cloud_handson
 
Movable typeseminar 20120925
Movable typeseminar 20120925Movable typeseminar 20120925
Movable typeseminar 20120925
 
Wcosaka2012concrete5
Wcosaka2012concrete5Wcosaka2012concrete5
Wcosaka2012concrete5
 
20140908 Movable Type Seminar
20140908 Movable Type Seminar20140908 Movable Type Seminar
20140908 Movable Type Seminar
 
20140924 mt cloud_handson_seminar
20140924 mt cloud_handson_seminar20140924 mt cloud_handson_seminar
20140924 mt cloud_handson_seminar
 

Más de Seiko Kuchida

a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」
a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」
a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」Seiko Kuchida
 
a-sap10「モジュールIDを理解する」
a-sap10「モジュールIDを理解する」a-sap10「モジュールIDを理解する」
a-sap10「モジュールIDを理解する」Seiko Kuchida
 
a-blog cms 勉強会 in 札幌 x SaCSS 2016 投稿画面を改良してみよう
a-blog cms 勉強会 in 札幌 x SaCSS 2016 投稿画面を改良してみようa-blog cms 勉強会 in 札幌 x SaCSS 2016 投稿画面を改良してみよう
a-blog cms 勉強会 in 札幌 x SaCSS 2016 投稿画面を改良してみようSeiko Kuchida
 
SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」
SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」
SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」Seiko Kuchida
 
a-sap09「a-blog cmsとWordPress」
a-sap09「a-blog cmsとWordPress」a-sap09「a-blog cmsとWordPress」
a-sap09「a-blog cmsとWordPress」Seiko Kuchida
 
a-sap08「a-blog cmsとMovable Type」
a-sap08「a-blog cmsとMovable Type」a-sap08「a-blog cmsとMovable Type」
a-sap08「a-blog cmsとMovable Type」Seiko Kuchida
 
a-blog cmsのインポート機能を使いこなす
a-blog cmsのインポート機能を使いこなすa-blog cmsのインポート機能を使いこなす
a-blog cmsのインポート機能を使いこなすSeiko Kuchida
 
日本のCMSの今。特徴とプロジェクトから考える、次のCMS選び:本編
日本のCMSの今。特徴とプロジェクトから考える、次のCMS選び:本編日本のCMSの今。特徴とプロジェクトから考える、次のCMS選び:本編
日本のCMSの今。特徴とプロジェクトから考える、次のCMS選び:本編Seiko Kuchida
 
プロ用CMSフレームワークテーマ「echo」のご紹介
プロ用CMSフレームワークテーマ「echo」のご紹介プロ用CMSフレームワークテーマ「echo」のご紹介
プロ用CMSフレームワークテーマ「echo」のご紹介Seiko Kuchida
 
Web制作の幅が広がる! プロジェクトの傾向から考える、 2つ目•3つ目のCMS選び
Web制作の幅が広がる! プロジェクトの傾向から考える、 2つ目•3つ目のCMS選びWeb制作の幅が広がる! プロジェクトの傾向から考える、 2つ目•3つ目のCMS選び
Web制作の幅が広がる! プロジェクトの傾向から考える、 2つ目•3つ目のCMS選びSeiko Kuchida
 
20150615_改めて知っておきたい、MovableTypeの魅力
20150615_改めて知っておきたい、MovableTypeの魅力20150615_改めて知っておきたい、MovableTypeの魅力
20150615_改めて知っておきたい、MovableTypeの魅力Seiko Kuchida
 
a-blog cms Training Camp 2014 Autumn「来年作るべきCMSのテーマとは?」
a-blog cms Training Camp 2014 Autumn「来年作るべきCMSのテーマとは?」a-blog cms Training Camp 2014 Autumn「来年作るべきCMSのテーマとは?」
a-blog cms Training Camp 2014 Autumn「来年作るべきCMSのテーマとは?」Seiko Kuchida
 
自動化ツール「Grunt.js」について
自動化ツール「Grunt.js」について自動化ツール「Grunt.js」について
自動化ツール「Grunt.js」についてSeiko Kuchida
 
a-sap 07セッション「Movable Typeとa-blog cmsの今」
a-sap 07セッション「Movable Typeとa-blog cmsの今」a-sap 07セッション「Movable Typeとa-blog cmsの今」
a-sap 07セッション「Movable Typeとa-blog cmsの今」Seiko Kuchida
 
Galage labsサーバー部6U自己紹介
Galage labsサーバー部6U自己紹介Galage labsサーバー部6U自己紹介
Galage labsサーバー部6U自己紹介Seiko Kuchida
 
CMSテーマ「logical jp」について
CMSテーマ「logical jp」についてCMSテーマ「logical jp」について
CMSテーマ「logical jp」についてSeiko Kuchida
 
CSS Nite in SAPPORO x a-blog cms
CSS Nite in SAPPORO x a-blog cmsCSS Nite in SAPPORO x a-blog cms
CSS Nite in SAPPORO x a-blog cmsSeiko Kuchida
 
a-sap06「カスタムフィールドを使いこなす」
a-sap06「カスタムフィールドを使いこなす」a-sap06「カスタムフィールドを使いこなす」
a-sap06「カスタムフィールドを使いこなす」Seiko Kuchida
 
a-sap04「ちょっとすごい!a-blog cmsのカスタムフィールド」
a-sap04「ちょっとすごい!a-blog cmsのカスタムフィールド」a-sap04「ちょっとすごい!a-blog cmsのカスタムフィールド」
a-sap04「ちょっとすごい!a-blog cmsのカスタムフィールド」Seiko Kuchida
 
a-sap03セッション「インクルードとグローバル変数」
a-sap03セッション「インクルードとグローバル変数」a-sap03セッション「インクルードとグローバル変数」
a-sap03セッション「インクルードとグローバル変数」Seiko Kuchida
 

Más de Seiko Kuchida (20)

a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」
a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」
a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」
 
a-sap10「モジュールIDを理解する」
a-sap10「モジュールIDを理解する」a-sap10「モジュールIDを理解する」
a-sap10「モジュールIDを理解する」
 
a-blog cms 勉強会 in 札幌 x SaCSS 2016 投稿画面を改良してみよう
a-blog cms 勉強会 in 札幌 x SaCSS 2016 投稿画面を改良してみようa-blog cms 勉強会 in 札幌 x SaCSS 2016 投稿画面を改良してみよう
a-blog cms 勉強会 in 札幌 x SaCSS 2016 投稿画面を改良してみよう
 
SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」
SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」
SaCSS vol.79「CMSがらみのサイトの受発注で確認すべきこと」
 
a-sap09「a-blog cmsとWordPress」
a-sap09「a-blog cmsとWordPress」a-sap09「a-blog cmsとWordPress」
a-sap09「a-blog cmsとWordPress」
 
a-sap08「a-blog cmsとMovable Type」
a-sap08「a-blog cmsとMovable Type」a-sap08「a-blog cmsとMovable Type」
a-sap08「a-blog cmsとMovable Type」
 
a-blog cmsのインポート機能を使いこなす
a-blog cmsのインポート機能を使いこなすa-blog cmsのインポート機能を使いこなす
a-blog cmsのインポート機能を使いこなす
 
日本のCMSの今。特徴とプロジェクトから考える、次のCMS選び:本編
日本のCMSの今。特徴とプロジェクトから考える、次のCMS選び:本編日本のCMSの今。特徴とプロジェクトから考える、次のCMS選び:本編
日本のCMSの今。特徴とプロジェクトから考える、次のCMS選び:本編
 
プロ用CMSフレームワークテーマ「echo」のご紹介
プロ用CMSフレームワークテーマ「echo」のご紹介プロ用CMSフレームワークテーマ「echo」のご紹介
プロ用CMSフレームワークテーマ「echo」のご紹介
 
Web制作の幅が広がる! プロジェクトの傾向から考える、 2つ目•3つ目のCMS選び
Web制作の幅が広がる! プロジェクトの傾向から考える、 2つ目•3つ目のCMS選びWeb制作の幅が広がる! プロジェクトの傾向から考える、 2つ目•3つ目のCMS選び
Web制作の幅が広がる! プロジェクトの傾向から考える、 2つ目•3つ目のCMS選び
 
20150615_改めて知っておきたい、MovableTypeの魅力
20150615_改めて知っておきたい、MovableTypeの魅力20150615_改めて知っておきたい、MovableTypeの魅力
20150615_改めて知っておきたい、MovableTypeの魅力
 
a-blog cms Training Camp 2014 Autumn「来年作るべきCMSのテーマとは?」
a-blog cms Training Camp 2014 Autumn「来年作るべきCMSのテーマとは?」a-blog cms Training Camp 2014 Autumn「来年作るべきCMSのテーマとは?」
a-blog cms Training Camp 2014 Autumn「来年作るべきCMSのテーマとは?」
 
自動化ツール「Grunt.js」について
自動化ツール「Grunt.js」について自動化ツール「Grunt.js」について
自動化ツール「Grunt.js」について
 
a-sap 07セッション「Movable Typeとa-blog cmsの今」
a-sap 07セッション「Movable Typeとa-blog cmsの今」a-sap 07セッション「Movable Typeとa-blog cmsの今」
a-sap 07セッション「Movable Typeとa-blog cmsの今」
 
Galage labsサーバー部6U自己紹介
Galage labsサーバー部6U自己紹介Galage labsサーバー部6U自己紹介
Galage labsサーバー部6U自己紹介
 
CMSテーマ「logical jp」について
CMSテーマ「logical jp」についてCMSテーマ「logical jp」について
CMSテーマ「logical jp」について
 
CSS Nite in SAPPORO x a-blog cms
CSS Nite in SAPPORO x a-blog cmsCSS Nite in SAPPORO x a-blog cms
CSS Nite in SAPPORO x a-blog cms
 
a-sap06「カスタムフィールドを使いこなす」
a-sap06「カスタムフィールドを使いこなす」a-sap06「カスタムフィールドを使いこなす」
a-sap06「カスタムフィールドを使いこなす」
 
a-sap04「ちょっとすごい!a-blog cmsのカスタムフィールド」
a-sap04「ちょっとすごい!a-blog cmsのカスタムフィールド」a-sap04「ちょっとすごい!a-blog cmsのカスタムフィールド」
a-sap04「ちょっとすごい!a-blog cmsのカスタムフィールド」
 
a-sap03セッション「インクルードとグローバル変数」
a-sap03セッション「インクルードとグローバル変数」a-sap03セッション「インクルードとグローバル変数」
a-sap03セッション「インクルードとグローバル変数」
 

MovableTypeの実務制作で考慮すること