口田 聖子 :: WebbingStudio
2012.09.08
         (Sat)@ Garage labs
a-sap06「カスタムフィールドを使いこなす」
CSS Nite in SAPPOROの中身は
    a-blog cms
他の
地方版でも
使ってます
12日に坂田さんが来るよ!
今回のお題
カスタムフィールドは
管理ページにも作れる
エントリーのフィールドも
 使いやすくしたい…
エントリーのフィールドも
 使いやすくしたい…

        不要な項目



不要な項目
もっとカスタムフィールド
管理ページ用
カスタムフィールドの作り方
カテゴリーごとに
カスタムフィールドを変える
基本の項目を消すには?
もっとカスタムフィールド
管理ページ用
カスタムフィールドの作り方
カテゴリーごとに
カスタムフィールドを変える
  前回のおd(ry
基本の項目を消すには?
1
  管理ページ用
カスタムフィールドの
  使いどころ
a-blog cms 基本テーマ「blog」
ブログ設定画面に
オリジナルの項目がある
キーカラーを変更!
ユーザー設定画面も
オリジナルの項目がある
サイドバーに
プロフィールを表示
書いておいてなんですが
 ユーザーフィールドは
あんまし出番ないかも。
         ー
       がーん
         ー
各カテゴリーページに
       画像を入れたい




「site」テーマにも追加できる
エントリーと同様に
画像・選択肢も作れる
カテゴリー別に画像を表示!
2
フィールドを作ろう!
カスタムフィールドを
     追加する場所

                   blog



[テーマ名]   admin   category



                   user
カスタムフィールドを
     追加する場所

                   blog



[テーマ名]   admin   category



                   user
HTMLファイルがふたつ必要




field.html   preview.html
HTMLファイルがふたつ必要




field.html   preview.html
 編集画面用       詳細画面用
テンプレート      テンプレート
詳細画面って何?
詳細画面って何?




編集前 後に移動する
   ・
 各設定の情報画面
field.htmlの作り方は
  エントリーのときと同じ




https://github.com/maki-t2nd/cfm
preview.htmlには
           出力用のコードを書く

<table class="adminTable adminTableY">
    <tr>
        <th>★フィールドの名前★</th>
        <td>{★フィールドの英語名★}[raw]</td>
    </tr>
</table>
preview.htmlには
           出力用のコードを書く

                                     [raw]って?
<table class="adminTable adminTableY">
    <tr>
        <th>★フィールドの名前★</th>
        <td>{★フィールドの英語名★}[raw]</td>
    </tr>
</table>
タグの後ろに[raw]を付けると
  HTMLをそのまま出力します

{hoge}
↓ ↓ ↓ ↓
&lt;p&gt;ほげほげほげほげ&lt;/p&gt;


{hoge}[raw]
↓ ↓ ↓ ↓
<p>ほげほげ</p>
公開画面はどう書くの?
 <!-- BEGIN_MODULE Blog_Field -->


 <!-- BEGIN ★フィールドの英語名★:veil -->
 {★フィールドの英語名★}
 <!-- END ★フィールドの英語名★:veil -->


 <!-- END_MODULE Blog_Field -->


http://www.a-blogcms.jp/support/reference/field.html
公開画面はどう書くの?
 <!-- BEGIN_MODULE Blog_Field -->    ブログ
 <!-- BEGIN ★フィールドの英語名★:veil -->
 {★フィールドの英語名★}
 <!-- END ★フィールドの英語名★:veil -->


 <!-- END_MODULE Blog_Field -->      ブログ
http://www.a-blogcms.jp/support/reference/field.html
公開画面はどう書くの?
 <!-- BEGIN_MODULE Category_Field -->


 <!-- BEGIN ★フィールドの英語名★:veil -->
 {★フィールドの英語名★}
 <!-- END ★フィールドの英語名★:veil -->


 <!-- END_MODULE Category_Field -->


http://www.a-blogcms.jp/support/reference/field.html
公開画面はどう書くの?
 <!-- BEGIN_MODULE Category_Field -->   カテゴリー

 <!-- BEGIN ★フィールドの英語名★:veil -->
 {★フィールドの英語名★}
 <!-- END ★フィールドの英語名★:veil -->


 <!-- END_MODULE Category_Field -->     カテゴリー

http://www.a-blogcms.jp/support/reference/field.html
公開画面はどう書くの?
 <!-- BEGIN_MODULE User_Field -->


 <!-- BEGIN ★フィールドの英語名★:veil -->
 {★フィールドの英語名★}
 <!-- END ★フィールドの英語名★:veil -->


 <!-- END_MODULE User_Field -->


http://www.a-blogcms.jp/support/reference/field.html
公開画面はどう書くの?
 <!-- BEGIN_MODULE User_Field -->   ユーザー
 <!-- BEGIN ★フィールドの英語名★:veil -->
 {★フィールドの英語名★}
 <!-- END ★フィールドの英語名★:veil -->


 <!-- END_MODULE User_Field -->     ユーザー
http://www.a-blogcms.jp/support/reference/field.html
3
カスタムフィールドを
使いやすくするTIPS
カテゴリーごとに
カスタムフィールドを変える
管理ページの
カテゴリー一覧でIDを調べる
管理ページの
カテゴリー一覧でIDを調べる


     これがカテゴリーID
field_cid(調べたID).html
         を新規作成




field_cid27.html   field_cid29.html
各カテゴリー専用の
  カスタムフィールドを書く


    aaaaaa            bbbb
    aaaaa             bbbbbb




field_cid27.html   field_cid29.html
各カテゴリー専用の
  カスタムフィールドを書く
             カテゴリーID
             27のときだけ
    aaaaaa             bbbb
    aaaaa              bbbbbb

             カテゴリーID
             29のときだけ
field_cid27.html   field_cid29.html
field.htmlにはこう書く

<!--#include file="/admin/entry/field_cid%{CID}.html" -->

<!--#include file="/admin/entry/field_eid%{EID}.html" -->

<!--#include file="/admin/entry/field_bid%{BID}.html" -->




%{CID} = 表示しているページが属するカテゴリーID
%{EID} = 表示しているページのエントリーID
%{BID} = 表示しているページが属するブログID
項目が切り替わるようになる

カテゴリーID カテゴリーID
  27の     29の      それ以外
 投稿画面    投稿画面

 aaaaaa   bbbb
 aaaaa    bbbbbb
エントリー別・ブログ別でも
    手順は同じ!


    cccccc            ddd
    cccc              dddd
                      ddd


field_eid99.html   field_bid3.html
エントリー別・ブログ別でも
    手順は同じ!
             エントリーID
             99のときだけ
    cccccc             ddd
    cccc               dddd
                       ddd
              ブログID
             3のときだけ
field_eid99.html   field_bid3.html
特定のカテゴリーだけ
   本文を消す
 本文=ユニットを囲んでいる
 divにはclassがついている
 本文=ユニットを囲んでいる
 divにはclassがついている

        .entryFormColumn
テーマのbody要素を編集


<body class="category-%{CID}">


%{CID} = 表示しているページが属するカテゴリーID
テーマのbody要素を編集


<body class="category-%{CID}">


%{CID} = 表示しているページが属するカテゴリーID

ということは…
=カテゴリーごとにclassが変わる
あとはCSSで消すだけ :D

.category-11 .entryFormColumn,
.category-22 .entryFormColumn
{
  display: none !important;
}
あとはCSSで消すだけ :D

.category-11 .entryFormColumn,
.category-22 .entryFormColumn
{
  display: none !important;
}
                カテゴリーIDが
          11・22のときは本文が出なくなる
特定のブログだけ
カテゴリー・タグを消す
特定のブログでは、カテゴリーと
  タグを使わせたくない




         隠したい…
しかし、この部分は
table要素で書かれている




     CSSで選択できない
jQueryが
あるじゃないか!
テーマのbody要素を編集


<body class="blog-%{BID}">


%{BID} = 表示しているページが属するブログID
テーマのbody要素を編集


<body class="blog-%{BID}">


%{BID} = 表示しているページが属するブログID

ということは…
=ブログごとにclassが変わる
カテゴリーとタグは何行目?

          0
          1
          2 行目
          3 行目
          4




      0から数える
eqとcssを使おう :D

<script>
$(function(){

  var Obj = $('.blog-3 table.entryFormTable');
  $('tr:eq(2), tr:eq(3)', Obj).css({
    display: 'none'
  });

});
</script>
eqとcssを使おう :D

<script>
$(function(){

  var Obj = $('.blog-3 table.entryFormTable');
  $('tr:eq(2), tr:eq(3)', Obj).css({
    display: 'none'
  });
                  ブログIDが3のときは
});
                カテゴリーとタグが出なくなる
</script>
まとめ
エントリー



  カスタムフィールドは
     4種類
a-blog cmsの特徴

カスタムフィールドのコードは
公開ページ・管理ページ共通
CSS・JSを追加しやすい
画面別の表示切り替えは
グローバル変数とincludeで
編集画面を
いちから書き替えることもできる


system   admin   entry
                         edit.html




                         add.html
編集画面を
いちから書き替えることもできる


system   admin   entry
                         edit.html
 編集画面・ユニット追加画面
 全体のテンプレート
 自分のテーマにコピーすると
 内容を上書きできる
                         add.html
form要素の仕様がわかれば
     なんでもあり
systemテーマ上書きのリスク

 編集画面のどこを編集したのか
 あとで把握しにくい
 メジャーバージョンアップ後に
 不具合が出る可能性も…

用法・用量を守って正しくお使いください
次回はa-blog cmsの
  オリジナル機能!




カスタムフィールドグループ
ありがとうございました

More Related Content

PDF
Firefox DevTools
PPT
2005 10 07_kof2005_xoops
PPT
アプリコンテスト
PDF
コードビュー中心で開発するDreamweaverテンプレート
PPTX
ADC MEETUP 03 HTML5でユーザビリティを高めるためのフォーム構築法
PPTX
これから使おう!Term metadataの使い方
PPTX
WordPressのテンプレートタグを理解する
PDF
Word press 3.5RC2 - パーフェクト functions.php -
Firefox DevTools
2005 10 07_kof2005_xoops
アプリコンテスト
コードビュー中心で開発するDreamweaverテンプレート
ADC MEETUP 03 HTML5でユーザビリティを高めるためのフォーム構築法
これから使おう!Term metadataの使い方
WordPressのテンプレートタグを理解する
Word press 3.5RC2 - パーフェクト functions.php -

What's hot (11)

PPT
WordPressのCSSを 理解しよう!
PDF
WordPress3.0 新デフォルトテーマ Twenty Ten 大解剖! ~秋バージョン~
PDF
Decksetがよかった話
PDF
WordBeach @kurudrive
KEY
EC-CUBEプラグイン講義
PDF
WordPress 3.2の新機能& 新デフォルトテーマ Twenty Eleven 大解剖!
PDF
CSSだけでもけっこうイケルTwenty Tenのカスタマイズとそこから踏み出す第一歩
PPTX
VSハッカソン TypeScript ハンズオン
PDF
20120118 titanium
PDF
HTML仕様書を読んでみよう
PDF
DW テンプレートをマスターして 楽々サイトメンテナンス
WordPressのCSSを 理解しよう!
WordPress3.0 新デフォルトテーマ Twenty Ten 大解剖! ~秋バージョン~
Decksetがよかった話
WordBeach @kurudrive
EC-CUBEプラグイン講義
WordPress 3.2の新機能& 新デフォルトテーマ Twenty Eleven 大解剖!
CSSだけでもけっこうイケルTwenty Tenのカスタマイズとそこから踏み出す第一歩
VSハッカソン TypeScript ハンズオン
20120118 titanium
HTML仕様書を読んでみよう
DW テンプレートをマスターして 楽々サイトメンテナンス
Ad

Viewers also liked (18)

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

Similar to a-sap06「カスタムフィールドを使いこなす」 (20)

PDF
Movable Type カスタムフィールドのまとめ
PDF
a-blog cms「simple2016」で学ぶ カスタマイズ初級編
PDF
WordPress初心者からの脱出! カスタムなんとかをちゃんと理解する
PDF
a-blogcsm な寺子屋 2 in Okazaki
KEY
ブログの枠を超える?ためのWordPressカスタマイズ入門
PDF
【Wordpress】LightBox風jQueryを使ってポップアップ上でカスタムフィールドを出力。
PDF
Wp html5
PDF
Cms festa-0216
PDF
ゼロからつくるWordPressテーマ第4回
PDF
「こんなサイトをこんなテーマ構成で作ってみました」Basercms 勉強会vol6
PDF
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニック
PDF
Types紹介
PDF
WordBeachDeathMarchWorkshop
PDF
カスタムフィールドで親切な管理画面を作ろう ~初級編~
PDF
テーマ制作時の疑問とノンプログラマーにも優しいテーマを考える
KEY
第一回スライド
PDF
中級者のためのWordPress講座[第3回]カスタムフィールドを使ってみよう!
PDF
WordPress初心者テーマ作成勉強会
PDF
WordPressで作るポートフォリオサイト
PDF
a-blog cmsの2015年版の基本テーマを 使ったカスタマイズのポイント
Movable Type カスタムフィールドのまとめ
a-blog cms「simple2016」で学ぶ カスタマイズ初級編
WordPress初心者からの脱出! カスタムなんとかをちゃんと理解する
a-blogcsm な寺子屋 2 in Okazaki
ブログの枠を超える?ためのWordPressカスタマイズ入門
【Wordpress】LightBox風jQueryを使ってポップアップ上でカスタムフィールドを出力。
Wp html5
Cms festa-0216
ゼロからつくるWordPressテーマ第4回
「こんなサイトをこんなテーマ構成で作ってみました」Basercms 勉強会vol6
WordPressでオリジナルサイトを作るための最初の一歩的なカスタマイズテクニック
Types紹介
WordBeachDeathMarchWorkshop
カスタムフィールドで親切な管理画面を作ろう ~初級編~
テーマ制作時の疑問とノンプログラマーにも優しいテーマを考える
第一回スライド
中級者のためのWordPress講座[第3回]カスタムフィールドを使ってみよう!
WordPress初心者テーマ作成勉強会
WordPressで作るポートフォリオサイト
a-blog cmsの2015年版の基本テーマを 使ったカスタマイズのポイント

More from Seiko Kuchida (8)

PDF
a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」
PDF
a-sap03セッション「インクルードとグローバル変数」
PDF
a-sap 02セッション「a-blog cmsのモジュールを理解する」
PDF
a-sap 01セッション「まずは導入!a-blog cmsにおすすめの案件と注意点」
PDF
SaCSS vol.26「ちょっと本格的なFacebookページを作ろう」
ODP
OSC2011 Hokkaido テーマセッション「はじめてのWebデザイン」
ODP
SaCSS20100327
PPT
DevDo:WebbingStudio(090426)
a-blog cms Training Camp 2017 Spring「a-blog cms用テーマ echo_zeroについて」
a-sap03セッション「インクルードとグローバル変数」
a-sap 02セッション「a-blog cmsのモジュールを理解する」
a-sap 01セッション「まずは導入!a-blog cmsにおすすめの案件と注意点」
SaCSS vol.26「ちょっと本格的なFacebookページを作ろう」
OSC2011 Hokkaido テーマセッション「はじめてのWebデザイン」
SaCSS20100327
DevDo:WebbingStudio(090426)

a-sap06「カスタムフィールドを使いこなす」