背景
経緯
- 2014年に公式活用ブックが発売されたときには出版記念セミナーにも参加したくらい、以前からConcrete5には興味があったが、諸事情(要は飽きた)によりconcrete5をご無沙汰していた。
- 2017年を迎え、ケーキ屋(通販なし)のWebサイトをリニューアルすることにしたので、改めてConcrete5に再挑戦を試みた。
- 活用ブックのデモサイトとして提供されているテーマは5.6を前提としているので、2017年1月現在の最新バージョン(concrete5-8.0.3, concrete5.7.5.13)ではエラーが生じて動作しないことが判明。
- 活用ブックのサポートサイト(GitHub)で提供されているconcrete5.6環境は、PHP5.6では動作しなかった。(公開されているデモ環境のPHPバージョンは5.3)
- 活用ブックのデモ環境は諦め、同じ作者が提供しているパッケージをマーケットプレイス経由でインストールすることにした
メモ
concrete5のバージョンの考え方
- 今まではconcrete5.7.5.13のように表記していたので、バージョン番号の頭に「5」がついていた
- バージョン8からconcrete5-8.0.3のように「concrete5」とバージョン番号を分けたため、頭に「5」が付かなくなった。
- 5.7から構成が大きくかわり、5.6はレガシーと呼ばれるようになった。8は5.7と互換性がある。
- 参考:concrete5 の Ver. 8 から「5」をバージョン番号から省きます :: concrete5 Japan 日本語公式サイト
concrete5奮戦記
- 参考情報・利用した環境は末尾に記載
concrete5-8.0.3
- 日本語公式サイトのダウンロードページからconcrete5-8.0.3をダウンロード
- ZIP解凍したものをWebサーバのルートに指定
- サイトにアクセスしてインストール手順を進める
- 活用ブックのデモコンテンツをダウンロードし、httpdのルート配下にthemesディレクトリを作成して配置(olive_sample)
- 作成したテーマが管理画面で認識されない。バージョンの違いが原因かもしれないと思い、7系(5.7)で再チャレンジ
- 後日談)調査の結果、5.7以降ではapplication/themes に入れることがわかった
concrete5.7.5.13
- concrete5-8.0.3の時と同じ手順でconcrete5をインストール
- このときにテーマはapplication/themesに入れることに気づく
- 活用ブックのサンプルテーマをインストールして適用したところ、「Call to a member function hasPageThemeGridFrameworkOffsetClasses() on null」というエラーが発生
- Google先生に聞いても答えが見つからなかった
- バージョンの依存が原因らしいので、6系(5.6)で再チャレンジ
concrete5_japanese_book-master
- 活用ブックのサポートサイトからダウンロードしたファイルを解凍し、concrete5 ディレクトリをWebルートに指定
- concrete/config/version.phpによるとconcrete5のバージョンは5.6.0.2
- 今までと同様にインストールを実行
- filesディレクトリはなかったので追加した
- インストールには成功したが、トップページを開くと次のエラーが出る > Catchable fatal error: Object of class BlockRecord could not be converted to string in /home/www/cc5.ebisawa.co.jp/concrete5_japanese_book-master/concrete5/concrete/libraries/3rdparty/Zend/Cache/Core.php on line 361
- 活用ブックのサポートサイトで公開されているデモ環境では問題なく動作している。PHPのバージョンを調べたら5.3だった
- 今さらWebサーバのPHPのバージョンを古くしたくないので諦める。
concrete5-8.0.3で再チャレンジ
- いろいろ調べていたら、デモ環境の作者がパッケージを公開していたことに気づく
- 見た目も良いので、これをカスタマイズする方向で検討する
- concrete5-8.0.3をインストールしてパッケージを適用したら「Undefined method Concrete\Core\File\Image\Thumbnail\Type\Type::setName() #4335」というエラーが出て動作しない。8系で廃止された関数を呼び出していることが原因らしい
concrete5.7.5.13で再チャレンジ
- concrete5.7.5.13を再インストール
- ダウンロードしたパッケージをpackage/ ディレクトリにアップし、管理画面からインストール
- ようやく動作したので、これをカスタマイズする方向で進める。
参考情報
公式サイト
マーケットプレイス
デザインワークスオンサイド
活用ブックのデモ環境の作成者によるconcrete5の解説サイト
はじめてのconcrete5
- インストール & テーマ制作の第一歩 篇
- エリア & グローバルエリアの設定 篇
- カスタムテンプレート(オートナビブロック)篇
- カスタムテンプレート(記事ブロック)篇
- ページタイプ(ホーム用のテンプレート)& ページリストブロック 篇
- ページ属性(カスタム属性)& ページタイプの追加 篇
- ページリストブロックのカスタマイズ 篇
- ブロック(画像ブロック、検索ブロックなど)の追加 & ブロック CSS スタイルの設定 篇
- スタック & ページタイプのデフォルトブロック(子ページの設定)篇
- フォームブロック & Google マップ、スライドショーブロックなど
勉強会の資料
concrete5 でケーキ屋さんのサイトを作ろう!
利用環境
OS
- Amazon EC2のLinuxを利用
NAME="Amazon Linux AMI"
VERSION="2016.09"
ID="amzn"
ID_LIKE="rhel fedora"
VERSION_ID="2016.09"
PRETTY_NAME="Amazon Linux AMI 2016.09"
ANSI_COLOR="0;33"
CPE_NAME="cpe:/o:amazon:linux:2016.09:ga"
HOME_URL="http://aws.amazon.com/amazon-linux-ami/"
Apache
- 標準バージョンをyum(rpm)でインストール(develは入れていない)
$ rpm -qa|grep httpd
httpd24-tools-2.4.23-1.66.amzn1.x86_64
httpd24-2.4.23-1.66.amzn1.x86_64
PHP
- 5.6をyumでインストール、以前入っていた5.3は削除済み、気になることはphp-gdを追加したことくらい
$ rpm -qa|grep httpd
php56-jsonc-1.3.6-1.19.amzn1.x86_64
php56-common-5.6.28-1.130.amzn1.x86_64
php56-mysqlnd-5.6.28-1.130.amzn1.x86_64
php56-mbstring-5.6.28-1.130.amzn1.x86_64
php56-xml-5.6.28-1.130.amzn1.x86_64
php56-gd-5.6.28-1.130.amzn1.x86_64
php56-cli-5.6.28-1.130.amzn1.x86_64
php56-pdo-5.6.28-1.130.amzn1.x86_64
php56-5.6.28-1.130.amzn1.x86_64
php56-intl-5.6.28-1.130.amzn1.x86_64
php56-imap-5.6.28-1.130.amzn1.x86_64
php56-process-5.6.28-1.130.amzn1.x86_64
php56-mcrypt-5.6.28-1.130.amzn1.x86_64
MySQL
- 5.5をyum(rpm)でインストール
$ rpm -qa | grep mysql
php56-mysqlnd-5.6.28-1.130.amzn1.x86_64
mysql55-libs-5.5.52-1.13.amzn1.x86_64
mysql-config-5.5.52-1.13.amzn1.x86_64
mysql55-server-5.5.52-1.13.amzn1.x86_64
mysql55-5.5.52-1.13.amzn1.x86_64
mysql-server-5.5-1.6.amzn1.noarch