4
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

posted at

baserCMSを使用した開発入門

baserCMS Advent Calendar 2018 参加記事です。

概要

  • baserCMSを理解するための情報をまとめています。
  • リンク先の中には、情報が古くてそのままのコードだと動かない場合もありますが、その際は考え方だけ掴むといいでしょう。

対象

  • PHPの基本的な使い方を理解している方
  • baserCMSの基本的な使い方を理解している方
  • baserCMSを使用したテーマの作成やプラグインの作成を行いたい方

1. baserCMSの環境を準備する

2. テーマの作り方

2.1. 変更対象ファイルの見つけ方

  • 変更対象のファイルを見つける方法として、私はよく「それっぽい文字列」での全文検索か、ファイル名の検索を行っています。
  • 例えば、bc_sampleテーマを使用している場合にトップページに表示されるブログ記事の表示を調整したいとしましょう。
    1.PNG

  • その際は、まず変更したい箇所のソースをチェックします。ブラウザのデベロッパーツールを使うと便利です。
    2.PNG

  • 「post-list」という文字列を見つけたので、bc_sampleテーマ配下で全文検索を行います。
    3.PNG

  • 2件見つかりました。片方のパスには"smartphone"と入っているので、PC版の場合は"Blog/default/posts.php"を変更するとよさそうです。

2.2. baserCMSの関数

  • 関数は公式wikiの関数リファレンスを一通り見ておくといいです。すべてが網羅されているわけではありませんが、最低限の関数の情報は準備されています。

3. プラグインの作り方

  • プラグインを作れるようになるとbaserCMSに様々な機能を加えることができるようになります。
  • baserCMSに標準で準備されているブログ機能やメール機能もプラグインの一種です。
  • プラグインを実際に作り始める前にCakePHP2の基本的な知識を身につけることをおすすめします。
  • baserCMSは、CakePHP2をベースに作成されているため、プラグインを作成する際もCakePHP2の知識が必要となってくるからです。

3-1. CakePHPを学ぶ

3-2. プラグインの作り方を学ぶ

4. 困ったときは

  • 開発を進めていく上で思うようにコードが動かないケースが出てくると思いますが、その際の対処法を記載します。

4-1. エラーログをチェックする

  • baserCMSをデバッグモード1以上に設定するとPHPのエラーメッセージが画面上に表示されるようになります。
  • 表示されたエラーメッセージで検索すると解決方法が見つかります。
  • ajax関連の処理で画面上にエラーメッセージが表示されない場合は、ブラウザの開発者ツールのネットワークタブで通信先のページの情報が見られるので活用しましょう。
  • baserCMS デバッグ方法

4-2. デバッガを使う

  • NetBeansやPhpStormなどのIDEを使用すると、PHPの処理を1行ずつ進めながら変数の状態を確認するといったことが簡単に行なえます。
  • また、IDEにはコードの補完機能や関数の定義元にジャンプする機能など、便利な機能が揃っているので開発を効率よく進めることができます。

4-3. フォーラムで質問する

以上となります。
テーマやプラグインを作成したら、ぜひbaserマーケットに投稿してみましょう。
私がありがたく使わせていただきます^^

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
4
Help us understand the problem. What are the problem?