Re: 一部テーマ適用時のエラーについて

2012年7月9日 at 14:15

「Rigid Light」での不具合という事なんですが、concrete5.5.0 以降のこちらのテーマは、発表されていたかと、記憶しています。version1.1.1 という事で、その時に concrte5.5.1en にてこのテーマをちょっと研究していたものです。現在確認をしてみたら、「Rigid Light2.0」になっているようです。

まずは、私のローカル環境の中に、その当時の concrete5.5.1 のバージョンとその時の「Rigid Light1.1.1」のまま残っていたので、今回手始めに concrete5.5.1en⇒concrete5.5.2.1へアップグレードさせて、「Rigid Light2.0」をダウンロードして、こちらもテーマのバージョンアップさせてみましたが、全く問題はありません。

実は、この「Rigid Light」はちょっと初心者には敷居が高いという理由がちょっとあります。

マーケットプレイスからダウンロードは、ともかくも、通常の手作業でのインストールの場合、通常テーマのフォルダーは、root / themes のフォルダーに解凍したものをそこに置くというルールがあるのですが、このパッケージに関しては、 root / packages の中に解凍したものを解凍したフォルダー毎に入れるという、ちょっと変わったテーマパッケージになっています。

その理由は、解凍したフォルダーの中身を確認すれば、わかりますが・・・


①、 rigidlight / blocks / autonav /
  rigidlight / blocks / power_slider_rigid /
  rigidlight / blocks / simple_cta /
  rigidlight / blocks / simple_logo /
  rigidlight / blocks / vcard /

②、 rigidlight / themes / rigidlight /



ということで、テーマ作者の作った他の簡単な1つのテーマとともに、5つのブロックアドオンが一緒にパッケージされているからです。
また version2.0からは、 rigidlight / themes / rigidlight / element の代わりに inc フォルダーなるものに変わっていたりと、どうみても既存の方法やルールから違うやり方になっています。

ということで、中級者の方がお勉強がてらに、「Rigid Light1.1.1」で、お勉強すると良いかと思います。ポイントは、Themes だけに関して云えば・・・


1、heder.php

①、<?php Loader::element('header_required'); ?> の位置に注意。

②、<link rel="stylesheet" media="screen" type="text/css" href="<?php echo $this->getStyleSheet('main.css')?>" /> の記述の注意。

③、<script type="text/javascript" src="<?php echo $this->getThemePath()?>/js/JS.js"/></script>Javascrip の扱いの注意。

④、html5表記なのか、既存のままの表記かや、lang の指定などなど。

2、default.php
①、<?php $this->inc('elements/footer.php'); ?> を最後に忘れないように。

②、php 記述方法の違い
(通常ブロック挿入記述例)
  <?php
  $a = new Area('Main');
  $a->display($c);
  ?>

(グローバルエリアの記述例)
  <?php
  $a = new globalArea('Logo');
  $a->display($c);
  ?>

(ページリンクの記述例)
  <?php echo $this->url('about / pageName ')?>

(ダイレクトのイメージ挿入の記述例)
  <?php echo $this->getThemePath()?>/images/ イメージの名前



ほかのダウンロードされた「テーマ」ファイルと見比べると良いかと思います。

結論からいけば・・・この「Rigid Light」テーマパッケージは、concrete5の能力を引き出す試行錯誤した、やり方の宝庫という事で、お手本にするには最高のパッケージという事になります。

Re: 一部テーマ適用時のエラーについて

2012年7月9日 at 14:52
もうひとつ! どうしてもこの「Rigid Light」を使いたいということであれば・・・

ご自身でのローカル環境の中で、自己責任でテストしてみてください。

1、ローカル環境の cocrete5.5.2.1 を稼動させている条件を満たして・・・

ケース:1
①、マーケットプレイスから、「Rigid Light」をダウンロードして来て、それを解凍する。
②、解凍したフォルダー「Rigid Light」を 稼動している concrete5.5.2.1 / packages にコピーする。
③、稼動している concrete5.5.2.1 にログインをして、ダッシュボード⇒Extend concrete5 または機能拡張から、「Rigid Light」パッケージが表示されていれば、インストール。
④、サイトを各ページ確認して、不具合がないかどうか確かめる。

ケース:2
①、上記でどうしても動かない場合。(ありえないけど・・・)
②、マーケットプレイスから、「Rigid Light2.0」をダウンロードして解凍したフォルダーの中身の
rigidlight / themes / ligidlight を 稼動 concrete5.5.2.1 / themes / の中の取り出した、rigidlight / themes / ligidlight をコピーして入れる。
③、稼動している concrete5.5.2.1 にログインをして、ダッシュボード⇒テーマとページ へ行ってそこで表示されている「Rigid Light2.0」をインストールして、サイトで有効化をさせるという荒業もあります。
その際に注意事項として・・・


rigidlight / themes / ligidlight / inc / header.php の19行目あたりにある。

<?php
$bt_main = BlockType::getByHandle('autonav');
$bt_main->controller->displayPages = 'top';
$bt_main->controller->orderBy = 'display_asc';
$bt_main->controller->displaySubPages = 'all';
$bt_main->controller->displaySubPageLevels = 'custom';
$bt_main->controller->displaySubPageLevelsNum = '1';
$bt_main->render('templates/dropdown');
?>

ケース1(通常ブロック表示例)
<?php $a = new Area('Header Navi'); $a->display($c); ?>

ケース2(グローバルブロック表示例)
<?php $a = new globalArea('Header Nav'); $a->display($c); ?>

ケース3(スクラップブックからの表示例)
<?php
$block = Block::getByName('My_Site_Name');
if( $block && $block->bID ) $block->display();
else echo SITE;
?>



ナビ(メニューの部分)の変更方法として・・・
'My_Site_Name' を適当な名前をつけて 'Header Navi' などに変更する方法などがあります。

ご自身でお勉強がてら、いろいろと試されると良いかと思います。
 

Re: 一部テーマ適用時のエラーについて

2012年7月10日 at 5:55
tomoya様
ご返信ありがとうございます。詳細にわたりご解説いただき、感謝致します。
知識が浅くまだまだ初心者の域を出られない私ですが、このテーマを教材として色々勉強してみようと思います。
アドバイスいただいた内容をもとに、また他のテーマのファイルとも見比べながら、トライしてみます。
どうもありがとうございました。
 

Re: 一部テーマ適用時のエラーについて

2012年7月10日 at 8:12
基本的には、記述ミス以外では、テーマによってエラーが出てくることはほぼありません。
php以外では、純粋にhtml/css/javascript だけの出力だからです。最近ではJavascript周りのエラーならわかりますけれども。

教材にするには、オリジナルから・・・concrete5 /concrete/themes フォルダーの中の・・・
①、themes/default (オリジナルプレーンヨーグルト:すべての基本形)
②、themes/greek_yogurt (グリークヨーグルト:最新版のver5.5以上の基本形)
③、themes/greensalad(グリーンサラダ:幅が狭いものの基本形)
④、themes/dark_chocolate(プレーンヨーグルトの色違い:css基本形のお手本)
⑤、そのほかダウンロードした、テーマファイルなどなど。

また、concrete5.4系とcocrete5.5系で記述方法などが違うケースもあります。間違い探しみたいな感じで気軽に取り組むと力が付きます。

また、対象の「Rigit Light」ですが、ver1.1.1がconcrete5.5.0以降。ver2.0がconcrete5.5.2.1以降推奨みたいな感じかと思います。唯一初期の頃のバージョンがconcrete5.4系かと思います。
基本的には、5.5系のものととらえた方がよろしいかと思います。

最後にconcrete5 /packages/rigitlight と云う風にパッケージでの使用をする場合には、面倒ではありますが・・・concrete5 /packages/rigitlight/ の中にある・・・

①、concrete5 /packages/rigitlight/ controller.php の中の記述の仕方が、パッケージのインストールの仕方を決めているので、これをトライアンドテストで、特に block のインスト制御の部分を削ってみたり、追加してみたりと色々と遊んでみるのも良いかもしれません。
(パッケージによる、ブロックのインストール方法。中級者向けのトライ!)

②、concrete5 /packages/rigitlight/ controller.php の中の記述の中身によって、「シングルページ」を一緒に作ってみたり、属性を含ませたり・・・とさらに上級者向けの学習がここにも含まれています。ますます夢(妄想)が広がります。
(要:他のパッケージ::アドオンを参照の事。)

③、最後に「オリジナル」のテーマをパッケージ化させる方法がわかれば、「Designer Contents」などで、作成したオリジナルのブロックと抱き合わせで、テーマファイルとオリジナルブロックのデザイン(css)を連動させり、インストールさせることなども可能になりますので、是非頑張ってみてください!

・・・さすがにそこまで行くと・・・concrete5が手放せなく(止められなく)なります(笑)
 

Re: 一部テーマ適用時のエラーについて

2012年7月11日 at 16:59
tomoya様
ご親切にどうもありがとうございます。

それぞれの既存テーマについての特徴説明もとても参考になりました。分かる方には一目瞭然なのでしょうが、完全なhtmlビギナーの私にとっては、テーマの特徴(グリーンサラダ=幅が狭い、など)を先に頭に入れてからその記述とにらめっこすることができて助かっています。

オリジナルテーマの作成にはhtml/cssの知識が不可欠であることは理解しておりますが、どうしてもこういうのにしたい!というレイアウトがあり、それを実現するにはやはりテーマのカスタマイズが必要なので、ご返信いただいた内容を参考に勉強して理解を深めて参ります。
お忙しいところ、どうもありがとうございました。