今年1年を振り返って

最初に

これはconcrete5 Japan Advent Calendar 2015のリレーブログ20日目の記事です。

19日めのendoh.shigoさんの「さくらのクラウド「スタートアップスクリプト」でconcrete5の5.7を使えるようにするスクリプト作った。」からのバトンを引き継いでおります。

みんな様々の視点でconcrete5を捉えていて面白く、大変興味深く拝見しています。

さて、自分は自分なりの視点でconcrete5を語ってしまおうと思います。

自己紹介

現在、浜松にてフリーランスでconfeb(コンフェブ)という屋号にて、主にwordpressやEC-CUBEなどのオープンソースやフレームワークを利用したweb制作を生業にしています。サイト設計、コーディング、プログラミングがメインですが、ときどき、デザインもいたします。制作協力パートナーやクライアントと協力しあって良いサイトを作ろうと日々精進しています。

では、concrete5との一年について。

この一年を振り返って

去年の夏にconcrete5と出会って以来、実は、まだ数件しか、concrete5案件を制作していません。
全体から見ると、数%なのですが、それ以外に余りある貢献がありました。

特に5.7のバージョンですが、いろいろなある程度信頼性のある技術が、正しい形で入っているような気がします。
そのおかげで、様々な技術を復習や習得でき、それを実務にフィードバックできました。

その技術を以下に並べます。

  • bootstrap
  • less
  • Symphony2,Laravel,zendなどのフレームワーク
  •  underscore.js
  • PSR

などなど、まだありますし、私の見つけていない技術もあると思います。

WordPressほど独自的でないし、Drupalほど複雑でない構造の中に、プラグインでなく本体自体に、技術がわかりやすく最適な感じで入っていて、すばらしいです。

 

concrete5を通じて、いろいろな人とも出会うこともできました。

それも、私の糧になっています。

浜松市近辺の方はコン☆はま!という、Concrete5の集まりがあるで、興味がある方は是非!!

(私もこの集まりで、Concrete5を知りました。)

 

 

これからは、Concrete5の受注案件を増やせればと思っています。
そのために習得した技術をフィードバックして、先進的なブロック編集や優秀なユーザー管理などをベースに、より使いやすくカスタマイズしていこうと思っています。

 

明日はendoh.shingoさんです。

concrete5 Japan Advent Calendar 2015

Concrete5 5.6にてダッシュボードかどうかの確認方法

情報がなくて、自分はソースを見て確認したので、一応、備忘録と情報共有のために記述。

編集画面にいるかどうかの判断は、下記のページのチートシートある通り、isEditMode()で確認できます。

http://www.webli.us/cheatsheet/doku.php#add_space_between_blocks_in_edit_mode

ただ、今回、5.7のElmentalテーマを5.6に適用するに当たり、ダッシュボードと通常状態でのjqueryのバージョン切り替えが必要でした。
しかし、ダッシュボードにいるかどうかを確認する方法がネット上やフォーラムで見当たらず、ソースで見つけたので、備忘録と情報共有のために記しておきます。

[php]
$dh = Loader::helper(‘concrete/dashboard’);
if ($dh->inDashboard()) {
//現在のページがダッシュボードの場合に実行
}
[/php]

 

 

 

Concrete5 ver5.7のElementalテーマをパッケージ化してみました。

Concrete5 ver5.7Elementalテーマをパッケージ化してみました。

 

これにより、メインシステムへの依存が低くなり、バックアップや複製、移転なども容易になります。

 

こんな感じになります。上が従来のElementalで、下が、今回、パッケージ化したElementalです。

2015-01-25_18h42_37

 

実際適用しても、元のElementalと変わりありません。

2015-01-25_18h43_21

 

 

自分用の備忘録のため、その方法を以下に記述します。

 

始めに、パッケージ名を適当にCelementalとしました。

 

まず、packagesフォルダの下に、celementalというフォルダを作ります。

 

その下に、以下の内容の、controller.phpというファイルを作ります。
[php]
<?php
namespace Concrete\Package\Celemental;
use Package;
use PageTheme;
use BlockTypeSet;
use CollectionAttributeKey;
use Concrete\Core\Attribute\Type as AttributeType;

defined(‘C5_EXECUTE’) or die(_("Access Denied."));

class Controller extends Package
{

protected $pkgHandle = ‘celemental’;
protected $appVersionRequired = ‘5.7.1’;
protected $pkgVersion = ‘1.0’;

public function getPackageDescription()
{
return t("May your business be Celemental");
}

public function getPackageName()
{
return t("Celemental");
}

public function install()
{
$pkg = parent::install();

PageTheme::add(‘celemental’, $pkg);

$imgAttr = AttributeType::getByHandle(‘image_file’);
$thumb = CollectionAttributeKey::getByHandle(‘thumbnail’);
if(!is_object($thumb)) {
CollectionAttributeKey::add($imgAttr,
array(
‘akHandle’ =&gt; ‘thumbnail’,
‘akName’ =&gt; t(‘Thumbnail Image’),
),$pkg);
}
}
}

?>
[/php]
通常、同じフォルダ内に、icon.pngという名前でパッケージ用のアイコンを割り当てますが、無くても大丈夫です。

 

celementalの下にthemesフォルダを作ります。

 

さらに、そのthemesフォルダの下にcelementalフォルダを作ります。

 

そこに、/concrete/themes/elementalの中身を全てコピーします。

 

 

パッケージ用にコピーした中身を修正していきます。

 

page_theme.phpnamespaceを以下の内容に差し替えます。

 

元の記述
[php]
namespace Concrete\Theme\Elemental;
[/php]

修正した記述
[php]
namespace Concrete\Package\Celemental\Theme\Celemental;
[/php]
 

 

下記のmixins.lessファイルをコピーして、

/concrete/css/build/core/include/mixins.less

 

下記の位置に貼り付けます。

(buildの下にincludeというフォルダを事前に作ります。)

/packages/celemental/themes/celemental/css/build/include/

main.lessの以下の@importを差し替えます。

 

元の記述
[php]
@import "../../../css/build/core/include/mixins.less";
[/php]

修正した記述
[php]
@import "./build/include/mixins.less";
[/php]
 

 

このパッケージをアップします。

 

管理画面を出して、「concrete5を拡張」をクリックすると、下記のようにインストール待ちのところに作ったCelementalが設置されているので、インストールをクリックします。

2015-01-25_18h37_52

 

下記のような表示が出て、インストールが完了します。

2015-01-25_18h38_26

 

次に管理画面の「ページとテーマ」をクリックすると、下記のようにテーマが追加されているので、有効をクリックします。

2015-01-25_18h39_58

 

下記のように適用するか確認する画面が表示されるので、「はい」をクリックします。

2015-01-26_12h48_47

 

下記表示がでてきて、テーマの適用が完了します。

2015-01-25_18h42_01

 

 

一覧に戻ると、実際に適用されています。

2015-01-25_18h39_58

 

以上です。

 

 

あと、Elementalをバージョン5.6用のパッケージにもしてみましたが、これは、かなり複雑になりましたので、サンプルページの公開のみにいたします。

http://test.confeb.net/c56/

lessの移植は難しくなかったのですが、bootstrapの部分の移植がjqueryのバージョン違いなどがあり、かなり困難でした。)

ただ、メインのカルーセルの部分は移植していないので、見た目が全然違いますが、幅を縮めると、レスポンシブの動作をします。
それと、ブロック自体はVer5.6そのままなので、その分、少し挙動がおかしいです。

 

 

concrete5に入れ込んでいる2つの理由

最初に

これはconcrete5 Japan Advent Calendar 2014のリレーブログ17日目の記事です。
16
日めのendoh.shigoさんの「さくらのクラウド「スタートアップスクリプト」でconcrete5の5.7を使えるようにするスクリプト作った。」からのバトンを引き継いでおります。
みんな様々の視点で
concrete5を捉えていて面白く、大変興味深く拝見しています。
自分は自分なりの視点で
concrete5を語ってしまおうと思います。

自己紹介

現在、浜松にてフリーランスでconfeb(コンフェブ)という屋号にて、主にwordpressEC-CUBEなどのオープンソースを利用したweb制作を生業にしています。サイト設計、コーディング、プログラミングがメインですが、ときどき、デザインもいたします。制作協力パートナーやクライアントと協力しあって良いサイトを作ろうと日々精進しています。

では、私のconcrete5の出会いについて。

concrete5との出会い

concrete5との出会いは、20の頃、bluesに出会ったのと感覚がよく似ています。
それまでに、bluesに近い音楽にはいくつも接していましたが、いつも、なにか違うと感じていました。
それが、 『クロスロード』という映画の冒頭のロバート・ジョンソンのクロスロード・ブルースを聞いた瞬間、私の求めいた音楽はこれだという感覚に心が踊りました。

concrete5の場合は、以下の2つのステップを踏んでからでしたが、bluesとの出会いと同じ、これこそ求めていたものだ、という感覚でした。

続きを読む

さて、スタートです。

年末も師走という慌ただしい時期に、ブログをスタートします。
本当でしたら、新年か、4月ぐらいがいいのかもしれませんが、concrete5 Japan Advent Calendar 2014というきっかけをいただき、本日から始めることにしました。(12/17の担当です。)
個人としてはブログを書いていましたが、コンフェブという
web制作屋として、ブログは必要と思っていましたので、これは良い機会と始めることにしました。

ゆらゆらとゆるゆると、記していきたいと思います。