狠狠撸

狠狠撸Share a Scribd company logo
口田 聖子 :: WebbingStudio
2012.09.08
         (Sat)@ Garage labs
补-蝉补辫06「カスタムフィールドを使いこなす」
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ファイルがふたつ必要




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




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




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




https://github.com/maki-t2nd/cfm
辫谤别惫颈别飞.丑迟尘濒には
           出力用のコードを書く

<table class="adminTable adminTableY">
    <tr>
        <th>★フィールドの名前★</th>
        <td>{★フィールドの英語名★}[raw]</td>
    </tr>
</table>
辫谤别惫颈别飞.丑迟尘濒には
           出力用のコードを書く

                                     [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/?eld.html
公開画面はどう書くの?
 <!-- BEGIN_MODULE Blog_Field -->    ブログ
 <!-- BEGIN ★フィールドの英語名★:veil -->
 {★フィールドの英語名★}
 <!-- END ★フィールドの英語名★:veil -->


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


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


 <!-- END_MODULE Category_Field -->


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

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


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

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


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


 <!-- END_MODULE User_Field -->


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


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


     これがカテゴリー滨顿
?别濒诲冲肠颈诲(调べた滨顿).丑迟尘濒
         を新規作成




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


    aaaaaa            bbbb
    aaaaa             bbbbbb




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

             カテゴリーID
             29のときだけ
?eld_cid27.html   ?eld_cid29.html
?eld.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} = 表示しているページが属するカテゴリー滨顿
%{EID} = 表示しているページのエントリーID
%{BID} = 表示しているページが属するブログ滨顿
項目が切り替わるようになる

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

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


    cccccc            ddd
    cccc              dddd
                      ddd


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

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


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


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


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


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

ということは…
=カテゴリーごとに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要素で書かれている




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


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


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


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


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

ということは…
=ブログごとに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
蹿辞谤尘要素の仕様がわかれば
     なんでもあり
systemテーマ上書きのリスク

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

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




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

More Related Content

补-蝉补辫06「カスタムフィールドを使いこなす」