エス技研

WordPress、CakePHP、PHP、baserCMSなどの Web系システムを中心に情報を提供します!


baserCMSでオリジナルのデータベースから情報を取得する場合

      2017/04/29

baserCMSの機能を拡張する

 

オリジナルのデータベースから情報の取得の参考サイト

 
baserCMSでサイトを作ってみました。
そして、次はやっぱりオリジナルの機能を新規のデータベースの作成から行ってみたい!という気持ちが出てくるかと思います。
そんな場合にどうするか、のお話です。
 
 

オリジナルデータベースはプラグインとして機能追加

 
具体的には、新たな機能を追加する場合は、プラグインという形で機能を追加していきます。
 
プラグインを作る場合下記のサイトが参考になります。
http://blog.komomo.biz/log/archives/1
http://blog.komomo.biz/log/archives/3
 
 
プラグイン名やテーブル名はオリジナルのものを付けるでしょうし、テーブルが一つではない場合も多々あるでしょう。
でも、まず何をとっかかりに作業を始めていいのかさっぱりだった私にとっては救世主的なページでしたね。
基本的な作り方さえわかれば、あとは、その中に組み込んでいく処理を一つずつ組み立てていけばいいわけですからね。CakePHPの処理に沿ってあちこちのサイトを参考にしながら。
 
 

baserCMSの機能を拡張してサイトを構築

 

株主優待情報.infoを構築

 
ちなみに、このプラグインの作成方法を学びながら作ったのが下記のサイトです。
 株主優待情報.info
 
baserCMSでオリジナルのデータベースにアクセスしてデータを取得する場合はどうするのだろう?
というところから分からなかったのですが、上記のサイトを見つけて参考にしながら作ったサイトです。
 
参考サイトを見つけた時は、すでにプログラムの内容などは決まっていましたのであとは、サンプルを見ながら少しずつカスタマイズをしていきながら、具体的な形に仕上げていく感じで進めていきました。
 
しかし、次から次から分からないことや問題が発覚し、思うように動かないことが延々と続くわけです。
そのたびにサイトで調べ、ローカル環境で実験をし...そんな悪戦苦闘の末に出来上がったのが上記のサイトなわけですが、まだ開発中の機能もあります。ハイ。
 
 
そんな悪戦苦闘の中でもいろいろ理解した部分をまとめてみましたので、何かの参考になれば、と思います。
 
 

baserCMSと CakePHPは挙動が違う場合がある

 

テーブルの連携の挙動が違う

 
ちなみに、悪戦苦闘の一つの原因は、CakePHPと baserCMSにおいて、テーブルの連携(アソシエーション)の挙動が違うことが挙げられます。
 
今回の一連の記事は、その件に関しての内容になっています。
 
また、この挙動が違う件について baserCMSのフォーラムに投稿をしてみましたが、何が原因なのかは今のところ不明です...
http://forum.basercms.net/modules/newbb/viewtopic.php?topic_id=1214&forum=7&post_id=4755#forumpost4755
http://forum.basercms.net/modules/newbb/viewtopic.php?topic_id=1215&forum=7&post_id=4756#forumpost4756
 
 
 
【Cakephp 2.3・baserCMS テーブルの連携(アソシエーション)関連記事】
baserCMSでオリジナルのデータベースから情報を取得する場合
CakePHP 2.3 ID以外のカラムでアソシエーション(連携)をさせる場合
CakePHP 2.3 ID以外のカラムでアソシエーション(連携)をさせる場合の詳細ページの注意点
CakePHP 2.3 連携先のテーブルの項目で条件抽出する場合
CakePHP 2.3 テーブルの項目を演算した結果を条件として抽出する方法
baserCMS ID以外のカラムでアソシエーション(連携)をさせる場合

 - baserCMS

GoogleAdwords

GoogleAdwords

最後までお読みいただきましてありがとうございます。
この記事が参考になったと思いましたらソーシャルメディアで共有していただけると嬉しいです!

Message

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

下記の空欄を埋めてください。 * Time limit is exhausted. Please reload CAPTCHA.

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

※入力いただいたコメントは管理者の承認後に掲載されます。

  関連記事

baserCMS 詳細エリアが入力できない(詳細エリアの WYSIWYGエディタが起動しない)

baserCMS 詳細エリアの WYSIWYGエディタが起動しない場合の解決方法の参考サイトと、それでも直らない場合の最終手段の説明です。

baserCMS favicon.icoを変更したい場合

baserCMS favicon.icoを変更したい場合の参考サイトとそれでも直らない場合の対応方法についての説明です。

baserCMSをほかのサーバ、環境にコピーする場合

baserCMSを他のサーバ、環境にコピーする場合の設定方法について説明します。

baserCMS 画面が真っ白になる不具合があった場合の対応の一つ

baserCMSで画面が真っ白になる不具合があった場合の対応方法の説明です。PHPでエラーが起こっている場合がほとんどですが、その対処方法です。

baserCMSで開発環境と公開環境でドメイン、フォルダが変わる場合の不具合

baserCMSで開発環境と公開環境でドメインが変わる場合は URLに絡む設定を変更する必要がありますのでその解説です。

baserCMS サイト管理者権限でファイルアップロードを行う・権限設定の詳細について

Admin権限以外の権限でファイルをアップロード、ページの更新をする際の権限設定の仕方と、権限設定全般についての設定のコツについて解説しています。

baserCMSでwp_is_mobileと同じスマホ振り分け関数を実装

baserCMS版 wp_is_mobile関数です。Google Adsenseの規約対応のためにも必要な関数です。

baserCMSは 3種類のデバッグモードが用意されています

デバッグモードは3種類あります。デバッグモードにすることでキャッシュされなくなりますので、開発の際には必須の設定です。

baserCMS ID以外のカラムでアソシエーション(連携)をさせる場合

baserCMSで ID以外のカラムでアソシエーション(連携)させる方法と注意点を解説しています。CakePHPとは動作に差異があり注意が必要です。

baserCMS トップページのニュースの部分をメンテナンスしたい場合

トップページのニュース部分をメンテナンスする場合の具体的な方法をサンプルソースを用いて解説しています。