SlideShare a Scribd company logo
1 of 39
Download to read offline
作るだけなら怖くない!
concrete5でテーマを作ってみよう!
田原遊馬(タハラユウマ)
株式会社クロスキューブ 取締役 / アートディレクター / デザイナー
facebook.com/BuccaneerBoogie
@90zbear
ノンプログラマでもできる気がする!すごく荒っぽいテーマの作り方
2016.4.23 concrete5 バージョン8リリースパーティ(東京)
田原遊馬(たはらゆうま)
株式会社クロスキューブ 取締役 / アートディレクター / デザイナー
facebook.com/BuccaneerBoogie
@90zbear
concrete5などのCMS案件を中心にお仕事してます。
concrete5 / WordPress / EC-CUBE / PHP / JavaScript / HTML / CSS /
DTP & WEB Design and more!!
ブログ、やってます。
90zbear.com
2014年4月∼
コンクリのテーマは、
作るだけなら簡単です。
Bootstrap3を使って
テーマを作ってみよう!
今回は、わざと失敗しながら、
「はじめてのテーマ作り」
に近い形の解説をしていきます!
Bootstrap3とは何ぞ
超メジャーなCSSのフレームワーク
要素のレイアウトが楽
レスポンシブWEBデザインによる

スマホ/タブレット/PC対応
アイコンやリスト、プログレスバーなど、WEBで使い
そうなパーツが準備されている
なかなかできる子。
5.7系のデフォルトテーマ
Elementalでも
ベースとして使われています。
今回は、デフォルトテーマと同じように
レイアウト機能が使えるテーマを作ります。
本日はBootstrapやHTML/CSSの勉強会ではないため、
Bootstrapについては、
「手軽にテーマを作るならこれを覚えればいいのか!」
と、覚えて帰ってください。
Bootstrapのダウンロード
http://getbootstrap.com/getting-started/#download
基本となるテンプレートを用意
とてもシンプル。カスタムのベースにぴったり。
これで、Bootstrapを使った、
基本のHTML・CSS・JavaScriptができました。
早速、concrete5、5.7系のテーマ化に挑戦!
基本となるテンプレート一式をまとめる
• hoge.html(さっき作った)
• 「css」ディレクトリ
• 「js」ディレクトリ
• 「fonts」ディレクトリ
HTMLファイルの名前を
「default.php」に変更し、
1行目に「コンクリ以外のアクセスはダメ!ゼッタイ!」
という意味のおまじない
を入れる。
<?php
defined('C5_EXECUTE') or die("Access Denied.");
?>
page_theme.phpを用意
これがテーマの設定ファイルです。
今回は、初心者向け説明のため、
Elementalから拝借。
/concrete/themes/elemental/page_theme.php
最終的にはきちんと作りましょう!
page_theme.phpの編集
作るテーマフォルダ名に合わせて、書き換えます。
今回は「training」になるため、こんな感じ。
PHPの名前空間・クラス継承あたりを勉強すると理解できます
が、今日はおまじないとして必要なことだと思ってください。
page_theme.phpの編集
テーマの名前、説明文の書き換えを適宜行います。
return t( Elemental )をreturn t( 練習テーマ )
return t( 長い英文 )をreturn t( 練習用ですよ! )
とすると、「練習用ですよ!」という説明文の「練習テーマ」になり
ます。
早速作りたてのテーマをインストール!
インストール可能なテーマに追加されているので、
インストールしてしまいましょう!
とてもシンプルすぎる見た目になりました。
管理用のナビゲーションもいませんね。
おや、おかしい。
コンクリ用の必須ファイルの読み込み
HTMLの
をごっそり
に置き換え。
BODY最下部のJSたちのBootstrap以外を
に置き換え
<meta keywords= >
<meta description= >
<title>
<?php Loader::element('header_required'); ?>
<?php Loader::element('footer_required'); ?>
しかし、相変わらずシンプルすぎる。
管理用ナビゲーションがついた
CSSやJSのパスを合わせるおまじない
読み込むCSSやJSまでのパスを
テーマフォルダまでのパスを出力してくれるおまじないを使って
書き換え。
例:CSSが「テーマフォルダ/css/style.css」にいる場合
<?php echo $this->getThemePath(); ?>
<link href="<?php echo $this->getThemePath(); ?>/css/bootstrap.min.css" rel="stylesheet">
今度こそいい感じ!
編集モードを試してみる
え、サイトのナビゲーションが固定されたままだし、
よく見たらコンテンツもそのままの場所で動いてない・・・
魔法のDIVで囲めばOK
<body>の中、<script>以外のものををまとめて
の中に入れてしまいましょう。
<div class="<?php echo $c->getPageWrapperClass()?> c5wrap >
中身
</div>
正常にパネルが開きます
あとは各種ブロックを設置するためのエリアの設定です。
ページ固有のエリアを設定したい
いわゆるコンテンツ部分を以下と置き換えてしまいます。
同じ要領で、複数のエリアも、new Area('Main')をnew
Area( エリアの名前')としてやれば可能です。
<?php
$a = new Area('Main');
$a->display($c);
?>
ページ共通のエリアを設定したい
ナビゲーションなど、共通して使うエリアの設定は以下
固有のエリア設定同様、複数設定できます。
<?php
$a = new GlobalArea('Header Navigation');
$a->display();
?>
エリアの設定をすれば、ブロックの配置が可能
これで基礎的なテーマは完成です。
一番シンプルなテーマを作る方法
• HTML・CSS・JSなど通常の静的ページのデータを用意する。
• page_theme.phpを用意する。
• HTMLの冒頭におまじないを記述し、default.phpとする。
• コンクリ用のヘッダ・フッタを読み込ませるコードを入れる。
• おまじないを使って、CSSやJSのパスを合わせる。
• コンクリ用の魔法のDIVタグを入れる。
• 適宜エリアを設定する。
• いい感じにスクリーンショットを撮影し、360px*270pxの
thumbnail.pngを作る。
よりいい感じにするには
• 右サイドバーや、左サイドバーのテンプレートを作る。
• テンプレートで使い回すヘッダなどのパーツを分割する。
• Bootstrapを使いこなし、オリジナリティ れるデザインにする。
• コンクリ内蔵のlessコンパイラを使えるようにする。
• cssを部分的に管理画面から書き換えられるようにする。
• 勢い余ってブロックの作り方を覚える。
• さらに勢い余って、パッケージ化し、バージョン管理をする。
など・・・
見た目を作り込むために
デザインをきちんと当てるためのキーワード
(やりようは色々あるけど・・・)
「このブロックだけCSSを当てられたらなあ。」
「ブロックの見た目、HTMLごと変えられたらなあ。」
「そもそも、ブロックを作ったほうが良いのではないか。」
見た目を作り込むために
デザインをきちんと当てるためのキーワード
「このブロックだけCSSを当てられたらなあ。」
「ブロックの見た目、HTMLごと変えられたらなあ。」
「そもそも、ブロックを作ったほうが良いのではないか。」
本日は割愛。
この後庄司さんによる
スタイルカスタマイズのセッションも参考にどうぞ!
ご清聴ありがとうございました

More Related Content

What's hot

愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015
愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015
愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015
Yoshinori Kobayashi
 
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
Junko Nukaga
 

What's hot (20)

愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015
愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015
愛があれば発信できる!WordPressで作る焼き鳥ポータルサイト~公式テーマ・プラグインと子テーマの活用~|WordCamp Tokyo 2015
 
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
文系デザイナーでも大丈夫!レスポンシブWEBサイトをWordPressで作ってみよう
 
Xamarin.forms実践投入してみて
Xamarin.forms実践投入してみてXamarin.forms実践投入してみて
Xamarin.forms実践投入してみて
 
JXUGC #9 Xamarin.Forms Mvvm Teachathon
JXUGC #9 Xamarin.Forms Mvvm TeachathonJXUGC #9 Xamarin.Forms Mvvm Teachathon
JXUGC #9 Xamarin.Forms Mvvm Teachathon
 
インブラウザ勉強会 Vol.1
インブラウザ勉強会 Vol.1インブラウザ勉強会 Vol.1
インブラウザ勉強会 Vol.1
 
Developers.io.札幌 xamarinってどうよ
Developers.io.札幌 xamarinってどうよDevelopers.io.札幌 xamarinってどうよ
Developers.io.札幌 xamarinってどうよ
 
最近知ったBootstrapの注意点
最近知ったBootstrapの注意点最近知ったBootstrapの注意点
最近知ったBootstrapの注意点
 
マークアップエンジニアと情報アーキテクチャ
マークアップエンジニアと情報アーキテクチャマークアップエンジニアと情報アーキテクチャ
マークアップエンジニアと情報アーキテクチャ
 
XamarinStudio勉強会 2014/09/08
XamarinStudio勉強会 2014/09/08XamarinStudio勉強会 2014/09/08
XamarinStudio勉強会 2014/09/08
 
これが長崎生まれ長崎育ち!スーパーお問い合わせフォーム MW WP Form だ!+ α
これが長崎生まれ長崎育ち!スーパーお問い合わせフォーム MW WP Form だ!+ αこれが長崎生まれ長崎育ち!スーパーお問い合わせフォーム MW WP Form だ!+ α
これが長崎生まれ長崎育ち!スーパーお問い合わせフォーム MW WP Form だ!+ α
 
Xamarin を使うとどんなことができるの?
Xamarin を使うとどんなことができるの?Xamarin を使うとどんなことができるの?
Xamarin を使うとどんなことができるの?
 
Xamarin 概要 @ 2014/10/18 わんくま同盟 東京勉強会 #92
Xamarin 概要 @ 2014/10/18 わんくま同盟 東京勉強会 #92Xamarin 概要 @ 2014/10/18 わんくま同盟 東京勉強会 #92
Xamarin 概要 @ 2014/10/18 わんくま同盟 東京勉強会 #92
 
Xamarin バッドノウハウ大全
Xamarin バッドノウハウ大全Xamarin バッドノウハウ大全
Xamarin バッドノウハウ大全
 
Xamarinとmvvm crossとf#と
Xamarinとmvvm crossとf#とXamarinとmvvm crossとf#と
Xamarinとmvvm crossとf#と
 
Xamarin を使用したC# によるモバイルアプリ作成
Xamarin を使用したC# によるモバイルアプリ作成Xamarin を使用したC# によるモバイルアプリ作成
Xamarin を使用したC# によるモバイルアプリ作成
 
Xamarin 実戦投入時に気をつけたいことあれこれ
Xamarin 実戦投入時に気をつけたいことあれこれXamarin 実戦投入時に気をつけたいことあれこれ
Xamarin 実戦投入時に気をつけたいことあれこれ
 
WordPressプラグイン Jetpack って何だ?!
WordPressプラグイン Jetpack って何だ?!WordPressプラグイン Jetpack って何だ?!
WordPressプラグイン Jetpack って何だ?!
 
20分でできる!Xamarin.Forms入門
20分でできる!Xamarin.Forms入門20分でできる!Xamarin.Forms入門
20分でできる!Xamarin.Forms入門
 
Bootstrap
BootstrapBootstrap
Bootstrap
 
concrete5で実践するリードナーチャリング
concrete5で実践するリードナーチャリングconcrete5で実践するリードナーチャリング
concrete5で実践するリードナーチャリング
 

Viewers also liked (6)

僕がエージェントになって見た世界
僕がエージェントになって見た世界僕がエージェントになって見た世界
僕がエージェントになって見た世界
 
マラソンブーム発表ジェリーロブ
マラソンブーム発表ジェリーロブマラソンブーム発表ジェリーロブ
マラソンブーム発表ジェリーロブ
 
フルマラソンと私 Arimoto
フルマラソンと私 Arimotoフルマラソンと私 Arimoto
フルマラソンと私 Arimoto
 
池本克之四万十川ウルトラマラソン2010
池本克之四万十川ウルトラマラソン2010池本克之四万十川ウルトラマラソン2010
池本克之四万十川ウルトラマラソン2010
 
板橋Cityマラソン2015タイム統計
板橋Cityマラソン2015タイム統計板橋Cityマラソン2015タイム統計
板橋Cityマラソン2015タイム統計
 
2013年9月 jawsug山形 「こんにちは芋煮会 ようこそ新世界へ」
2013年9月 jawsug山形 「こんにちは芋煮会 ようこそ新世界へ」2013年9月 jawsug山形 「こんにちは芋煮会 ようこそ新世界へ」
2013年9月 jawsug山形 「こんにちは芋煮会 ようこそ新世界へ」
 

Similar to concrete5バージョン8リリースパーティ「テーマを作ろう」

Similar to concrete5バージョン8リリースパーティ「テーマを作ろう」 (20)

初めてでもOK : )『concrete5』でサイトを作ろう!
初めてでもOK : )『concrete5』でサイトを作ろう!初めてでもOK : )『concrete5』でサイトを作ろう!
初めてでもOK : )『concrete5』でサイトを作ろう!
 
concrete5 CMS FES 2016(CMS夏祭り2016)
concrete5 CMS FES 2016(CMS夏祭り2016)concrete5 CMS FES 2016(CMS夏祭り2016)
concrete5 CMS FES 2016(CMS夏祭り2016)
 
concrete5 osc kyoto
concrete5 osc kyotoconcrete5 osc kyoto
concrete5 osc kyoto
 
第3回concrete5初心者勉強会
第3回concrete5初心者勉強会第3回concrete5初心者勉強会
第3回concrete5初心者勉強会
 
WordBench神戸資料-テーマ:Resonsive
WordBench神戸資料-テーマ:Resonsive WordBench神戸資料-テーマ:Resonsive
WordBench神戸資料-テーマ:Resonsive
 
ASP.NET MVC で Bootstrap
ASP.NET MVC で BootstrapASP.NET MVC で Bootstrap
ASP.NET MVC で Bootstrap
 
WordPressといろんなAPIを組み合わせてWebアプリを作ろう
WordPressといろんなAPIを組み合わせてWebアプリを作ろうWordPressといろんなAPIを組み合わせてWebアプリを作ろう
WordPressといろんなAPIを組み合わせてWebアプリを作ろう
 
プロトタイプ時代の
WordPressテーマの作り方・考え方
プロトタイプ時代の
WordPressテーマの作り方・考え方プロトタイプ時代の
WordPressテーマの作り方・考え方
プロトタイプ時代の
WordPressテーマの作り方・考え方
 
これから concrete5 を始める Web 制作者に伝えたい concrete5 と WordPress ここが一緒、ここが違う!
これから concrete5 を始める Web 制作者に伝えたい concrete5 と WordPress ここが一緒、ここが違う!これから concrete5 を始める Web 制作者に伝えたい concrete5 と WordPress ここが一緒、ここが違う!
これから concrete5 を始める Web 制作者に伝えたい concrete5 と WordPress ここが一緒、ここが違う!
 
_s + bootstrapで始めるWordPressテーマ開発入門
_s + bootstrapで始めるWordPressテーマ開発入門_s + bootstrapで始めるWordPressテーマ開発入門
_s + bootstrapで始めるWordPressテーマ開発入門
 
Blazor Server テンプレート解説
Blazor Server テンプレート解説Blazor Server テンプレート解説
Blazor Server テンプレート解説
 
第4回concrete5京都勉強会 〜まだまだ遅くない!基礎からガッチリ使いこなそうconcrete5〜
第4回concrete5京都勉強会 〜まだまだ遅くない!基礎からガッチリ使いこなそうconcrete5〜第4回concrete5京都勉強会 〜まだまだ遅くない!基礎からガッチリ使いこなそうconcrete5〜
第4回concrete5京都勉強会 〜まだまだ遅くない!基礎からガッチリ使いこなそうconcrete5〜
 
オープンソースCMSに学ぶ、前PSR時代のプロジェクトが脱レガシーする5つの方法
オープンソースCMSに学ぶ、前PSR時代のプロジェクトが脱レガシーする5つの方法オープンソースCMSに学ぶ、前PSR時代のプロジェクトが脱レガシーする5つの方法
オープンソースCMSに学ぶ、前PSR時代のプロジェクトが脱レガシーする5つの方法
 
WordPress使いのためのconcrete5入門
WordPress使いのためのconcrete5入門WordPress使いのためのconcrete5入門
WordPress使いのためのconcrete5入門
 
テーマに機能を含めちゃダメなんて誰が決めた! テーマをモリモリにカスタマイズする
 テーマに機能を含めちゃダメなんて誰が決めた! テーマをモリモリにカスタマイズする テーマに機能を含めちゃダメなんて誰が決めた! テーマをモリモリにカスタマイズする
テーマに機能を含めちゃダメなんて誰が決めた! テーマをモリモリにカスタマイズする
 
ビジュアルエディタ用CSSで 快適なブログライフを!
ビジュアルエディタ用CSSで 快適なブログライフを!ビジュアルエディタ用CSSで 快適なブログライフを!
ビジュアルエディタ用CSSで 快適なブログライフを!
 
Blazor でアプリを作ろう! ~テンプレートインストールから最初のデバッグ実行まで~
Blazor でアプリを作ろう! ~テンプレートインストールから最初のデバッグ実行まで~Blazor でアプリを作ろう! ~テンプレートインストールから最初のデバッグ実行まで~
Blazor でアプリを作ろう! ~テンプレートインストールから最初のデバッグ実行まで~
 
concrete5 のリモート開発 (愛知県岩倉市から)
concrete5 のリモート開発 (愛知県岩倉市から)concrete5 のリモート開発 (愛知県岩倉市から)
concrete5 のリモート開発 (愛知県岩倉市から)
 
concrete5を使って分かった、WordPressのいいところ
concrete5を使って分かった、WordPressのいいところconcrete5を使って分かった、WordPressのいいところ
concrete5を使って分かった、WordPressのいいところ
 
concrete5 wesling
concrete5 weslingconcrete5 wesling
concrete5 wesling
 

Recently uploaded

Recently uploaded (11)

論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 

concrete5バージョン8リリースパーティ「テーマを作ろう」