個人用ツール

「テーマに関する用語」を編集中

提供: baserCMS公式ガイド

移動: 案内, 検索

警告: ログインしていません。

編集すると、IPアドレスがこのページの編集履歴に記録されます。
この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。
最新版 編集中の文章
行11: 行11:
 
レイアウトテンプレートは、HTML全体(<html>から</html>まで)を担当するイメージで、このレイアウトテンプレート内で、エレメントファイル(後述)や[[関数リファレンス]]にある関数を利用します。なお、レイアウトテンプレートの設置場所は以下になります。
 
レイアウトテンプレートは、HTML全体(<html>から</html>まで)を担当するイメージで、このレイアウトテンプレート内で、エレメントファイル(後述)や[[関数リファレンス]]にある関数を利用します。なお、レイアウトテンプレートの設置場所は以下になります。
  
####Ver.3系統
+
####Ver.4系統
<pre>/app/webroot/theme/(テーマのフォルダ)/Layouts/</pre>
+
<pre>/theme/(テーマのフォルダ)/Layouts/</pre>
 
+
####Ver.2系統
+
<pre>/app/webroot/themed/(テーマのフォルダ)/layouts/</pre>
+
  
 
上記のフォルダ内に、通常「'''default.php'''」という名前で作成します。default.phpという名前で作成されたレイアウトテンプレートが、このテーマのデフォルトレイアウトテンプレートとして使用されます。baserCMS ver.2.1.0以降ならば、カテゴリ毎にレイアウトテンプレートを選択できる仕組みになっていますが、その仕組を利用する場合も、上記フォルダ内に複数のレイアウトテンプレートを用意しておくことで、管理画面からそれらを選択できるようになります。
 
上記のフォルダ内に、通常「'''default.php'''」という名前で作成します。default.phpという名前で作成されたレイアウトテンプレートが、このテーマのデフォルトレイアウトテンプレートとして使用されます。baserCMS ver.2.1.0以降ならば、カテゴリ毎にレイアウトテンプレートを選択できる仕組みになっていますが、その仕組を利用する場合も、上記フォルダ内に複数のレイアウトテンプレートを用意しておくことで、管理画面からそれらを選択できるようになります。
行28: 行25:
 
エレメントファイルは以下の場所に設置し、特に命名規則はありません。ただし、ヘッダ部分のファイル名にはheader.phpを、フッター部分にはfooter.phpを使えば、それらのエレメントを特別な関数で呼び出すことが出来るようになります。
 
エレメントファイルは以下の場所に設置し、特に命名規則はありません。ただし、ヘッダ部分のファイル名にはheader.phpを、フッター部分にはfooter.phpを使えば、それらのエレメントを特別な関数で呼び出すことが出来るようになります。
  
####Ver.3系統
+
####Ver.4系統
<pre>/app/webroot/theme/(テーマのフォルダ)/Elements/</pre>
+
<pre>/theme/(テーマのフォルダ)/Elements/</pre>
 
+
####Ver.2系統
+
<pre>/app/webroot/themed/(テーマのフォルダ)/elements/</pre>
+
  
 
エレメントの呼び出しについては[[関数リファレンス]]の[[エレメントファイルを呼び出す]]を参照してください。
 
エレメントの呼び出しについては[[関数リファレンス]]の[[エレメントファイルを呼び出す]]を参照してください。
行44: 行38:
 
[[固定ページ管理#固定ページカテゴリ|固定ページカテゴリ]]のコンテンツテンプレートは、以下の場所にテンプレートとなるファイルを設置することで、固定ページカテゴリの作成・編集時に選択出来るようになります。
 
[[固定ページ管理#固定ページカテゴリ|固定ページカテゴリ]]のコンテンツテンプレートは、以下の場所にテンプレートとなるファイルを設置することで、固定ページカテゴリの作成・編集時に選択出来るようになります。
  
#####Ver.3系統
+
#####Ver.4系統
<pre>/app/webroot/theme/(テーマのフォルダ)/Pages/templetes/</pre>
+
<pre>/theme/(テーマのフォルダ)/Pages/templetes/</pre>
  
#####Ver.2系統
+
このテンプレートファイルはPHPファイルになり、Ver.4系統では<code>$this->BcPage->content()</code>と記述した場所にページの内容が出力されます。
<pre>/app/webroot/themed/(テーマのフォルダ)/pages/templetes/</pre>
+
このテンプレートファイルはPHPファイルになり、Ver.2系統では<code>$bcPage->content()</code>、Ver.3系統では<code>$this->BcPage->content()</code>と記述した場所にページの内容が出力されます。
+
  
 
==== プラグインのコンテンツテンプレート ====
 
==== プラグインのコンテンツテンプレート ====
行83: 行75:
 
上記のようにコントローラーが呼び出される前に設定を読み込むことで、この機能を実現しています。具体的な設定は以下のファイルを作成して、そこに記述を行えば、自動的に読み込まれるようになります。
 
上記のようにコントローラーが呼び出される前に設定を読み込むことで、この機能を実現しています。具体的な設定は以下のファイルを作成して、そこに記述を行えば、自動的に読み込まれるようになります。
  
####Ver.3系統
+
#####Ver.4系統
<pre>/app/webroot/theme/(テーマフォルダ)/Config/bootstrap.php</pre>
+
<pre>/(テーマのフォルダ)/Config/bootstrap.php</pre>
 
+
####Ver.2系統
+
<pre>/app/webroot/themed/(テーマフォルダ)/config/bootstrap.php</pre>
+
 
+
  
 
=== テーマヘルパー ===
 
=== テーマヘルパー ===
 
テーマ内で使用できる[http://book.cakephp.org/1.2/ja/The-Manual/Developing-with-CakePHP/Helpers.html ヘルパー]です。ヘルパーはサイトの表示部分に関して、特定の機能を持った関数で、以下のフォルダに設置します。
 
テーマ内で使用できる[http://book.cakephp.org/1.2/ja/The-Manual/Developing-with-CakePHP/Helpers.html ヘルパー]です。ヘルパーはサイトの表示部分に関して、特定の機能を持った関数で、以下のフォルダに設置します。
  
####Ver.3系統における設置場所
+
####Ver.4系統における設置場所
<pre>/app/webroot/theme/(テーマフォルダ)/Helpers/</pre>
+
<pre>/theme/(テーマフォルダ)/Helpers/</pre>
 
+
####Ver.2系統における設置場所
+
<pre>/app/webroot/themed/(テーマフォルダ)/helpers/</pre>
+
  
 
なお、テーマヘルパーは以下のように「AppHelper」を継承して作成しますが、バージョンによってクラスの規則が異なります。例えばテーマ「hoge」で使うテーマヘルパーの場合、
 
なお、テーマヘルパーは以下のように「AppHelper」を継承して作成しますが、バージョンによってクラスの規則が異なります。例えばテーマ「hoge」で使うテーマヘルパーの場合、
####Ver.3系統におけるクラス名
+
####Ver.4系統におけるクラス名
<pre>class BcHogeHelper extends AppHelper {</pre>
+
Ver.3ではクラス名の始めに「Bc」をつけます。
+
####Ver.2系統におけるクラス名
+
 
<pre>class HogeHelper extends AppHelper {</pre>
 
<pre>class HogeHelper extends AppHelper {</pre>
Ver.2系統では、上のように「Bc」をつけません。
 
  
こうしてBcHogeHelperクラス(またはHogeHelper暮らす)を作成し、その中に個別のヘルパーを記述していきます。こうして作られた個別のヘルパーは、レイアウトテンプレートやエレメントファイル、固定ページなどから呼び出すことが出来ます。例えば、
+
こうしてHogeHelperクラスを作成し、その中に個別のヘルパーを記述していきます。こうして作られた個別のヘルパーは、レイアウトテンプレートやエレメントファイル、固定ページなどから呼び出すことが出来ます。例えば、
 
<pre>function getBaserwiki(){}</pre>
 
<pre>function getBaserwiki(){}</pre>
 
というヘルパーを呼び出すには、
 
というヘルパーを呼び出すには、
 
+
<pre><?php $this->Hoge->getBaserwiki(); ?></pre>
####Ver.3系統における呼び出し方
+
<pre><?php $this->BcBaser->getBaserwiki(); ?></pre>
+
 
+
####Ver.2系統における呼び出し方
+
<pre><?php $hoge->getBaserwiki(); ?></pre>
+
 
とします。
 
とします。
  
 
 
 
 
=== テーマフック ===
 
 
####Ver.2系統
 
フックとは、baserCMSの処理の途中で別の処理を割り込ませる機能で、テーマで使うフックでは、以下の処理の途中で別の処理を割り込ませることができます。
 
 
:*beforeRender
 
:*beforeLayout
 
:*afterLayout
 
:*afterRender
 
:*beforeFormCreate
 
:*afterFormCreate
 
:*beforeFormEnd
 
:*afterFormEnd
 
:*beforeFormInput
 
:*afterFormInput
 
:*beforeBaserGetLink
 
:*afterBaserGetLink
 
:*baserHeader
 
:*baserFooter
 
 
実際にテーマフックを利用する為には、テーマのフォルダの「[[テーマの構造#helpersフォルダ|helpersフォルダ]]」の中に「(テーマ名)_hook.php」というファイルを作り、その中に処理を記述します。例えば、テーマ名が「hoge」であるならば、ファイル名と設置場所は以下のようになります。
 
 
<pre>/app/webroot/themed/hoge/helpers/hoge_hook.php</pre>
 
 
このファイルはAppHelperクラスを継承し、クラス名は「テーマ名HookHelper」になります。例えばテーマ名が「hoge」であるならば、以下の様にクラスを作成します。
 
 
<pre>class HogeHookHelper extends AppHelper{</pre>
 
 
また、どの処理に割り込ませるのかを「$registerHooks」に配列で指定します。例えば「afterLayout」と「afterFormEnd」を使用したければ
 
 
<pre>var $registerHooks = array('afterLayout','afterFormEnd');</pre>
 
 
とします。その上で、以下のように利用します。
 
 
<pre>function afterLayout() {(~処理を記述~)}</pre>
 
 
 
  
 
=== ウィジェットエリア ===
 
=== ウィジェットエリア ===

baserCMS公式ガイドへのすべての投稿は、他の利用者によって編集、変更、除去される場合があります。 あなたの投稿を、他人が遠慮なく編集するのを望まない場合は、ここには投稿しないでください。
また、投稿するのは、あなたが書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください (詳細は[[Basercms:著作権 ]]を参照)。 著作権保護されている作品を、許諾なしに投稿してはいけません!

Add Categories
  

中止 | 編集の仕方 (新しいウィンドウで開きます)