ブログ・エス技研

当ブログは引越しをしました。10秒後に自動で転送しますが、転送されない場合は、http://blog.s-giken.net/ をご覧ください。

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
[ --年--月--日 --:-- ] カテゴリ:スポンサー広告 | TB(-) | CM(-)

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

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


具体的には、新たな機能を追加する場合は、プラグインという形で機能を追加していきます。

プラグインを作る場合下記のサイトが参考になります。
http://blog.komomo.biz/log/archives/1
http://blog.komomo.biz/log/archives/3


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



ちなみに、このプラグインの作成方法を学びながら作ったのが下記のサイトです。
 株主優待情報.info

baserCMSでオリジナルのデータベースにアクセスしてデータを取得する場合はどうするのだろう?
というところから分からなかったのですが、上記のサイトを見つけて参考にしながら作ったサイトです。

参考サイトを見つけた時は、すでにプログラムの内容などは決まっていましたのであとは、サンプルを見ながら少しずつカスタマイズをしていきながら、具体的な形に仕上げていく感じで進めていきました。

しかし、次から次から分からないことや問題が発覚し、思うように動かないことが延々と続くわけです。
そのたびにサイトで調べ、ローカル環境で実験をし...そんな悪戦苦闘の末に出来上がったのが上記のサイトなわけですが、まだ開発中の機能もあります。ハイ。


そんな悪戦苦闘の中でもいろいろ理解した部分をまとめてみましたので、何かの参考になれば、と思います。



ちなみに、悪戦苦闘の一つの原因は、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以外のカラムでアソシエーション(連携)をさせる場合


[ 2013年12月16日 23:50 ] カテゴリ:baserCMS | TB(0) | CM(0)

WordPress プラグインのアップデート失敗でデータが消える事態が!

皆さん、WordPressのプラグインのアップデートの際に、事前にバックアップを取っていますか?
取っていないと、アップデートに失敗した時に大変なことになりますよ...


WordPressの本体のバージョンアップの際は、万一のことを考えてバックアップを取ってから作業をすることが多いですが、プラグインの場合は、数が多いためにいちいちバックアップを取るのも面倒なために、ついついバックアップを取らずに、促されるままに

「新バージョンの Contact Form 7 が利用できます。バージョン 3.5.4 の詳細を表示するか、アップデートしてください。」

のリンクをポチっと押したくなるものです。

ですが、それが悲劇の始まりとなることもあるのですっ!!



私の場合、それをポチット押してみたところ、いつものように「最新のバージョンをインストールしています…」と出てきたところまではよかったのですが、その後、「プラグインの古いバージョンを削除しています…」「ディレクトリを作成できませんでした。」「プラグインの更新に失敗しました。」と続いたのです。

-------------------------------------
プラグインを更新

https://downloads.wordpress.org/plugin/contact-form-7.3.5.4.zip から更新をダウンロードしています…

更新を展開しています…

最新のバージョンをインストールしています…

プラグインの古いバージョンを削除しています…

ディレクトリを作成できませんでした。 C:/xampp/htdocs/wordpress/wp-content/plugins/contact-form-7/

プラグインの更新に失敗しました。

プラグインページへ戻る
-------------------------------------

処理の順番を見て、嫌な予感がしたのです。

 古いバージョンを削除 → ディレクトリを作成できませんでした。

そして「更新に失敗」なのですから。

そして、プラグインの一覧ページに戻ってその嫌な予感が的中していることがはっきりしたのです。
そう、プラグインがなくなっているのです。

当然そのページへのアクセスはできなくなっていましたし、フォルダの中身を見てもファイルが空っぽになっているのでした...ガックし....


ただ、プラグインが削除されてもデータベース内のデータまでは削除されていないようですので、改めてプラグインをインストールし直すと、見た目はなんとなく直っているようには見えます。
ただ、管理画面で情報を確認すると、以前はなかったような警告メッセージが表示されていたりしますので、完全に元の通りというわけではなさそうです。
これが、プラグインを消してしまったことによる不具合なのか、もともとあった不具合なのかまでは分かりませんが、少なくともバックアップを取っておきさえすれば、ここまでドキドキすることはなかったでしょう。

もっとも、今回のアップデート失敗はローカルの実験用の環境だったのでよかったようなものの、これがクライアントの本番環境だったりすると目の前が真っ白になるほどの衝撃を受けたことでしょう。


何か作業をする際には、何が起こるかわかりませんので、常にバックアップを取っておくことを心がけましょう。というありがたい教訓を再び実感した瞬間でした。



ちなみに、不具合が起こった原因は不明。
ローカルの XAMPP環境だったことを考えると、PC上で何かしらのアプリケーションがフォルダをつかんでしまっていて、それでフォルダが更新できなかったのかもしれない、というくらいしかわかりません。
その後、PCを再起動した以降は、普通にアップデートが行えていますので...
[ 2013年12月06日 00:49 ] カテゴリ:WordPress | TB(0) | CM(0)

WordPress・Contact Form7、MW WP Form共通 細かなデザイン調整方法

WordPressでお問い合わせフォームと言えば!「Contact Form7」と言われるほどメジャーな存在ですが、「MW WP Form」というフォームもありますよ、という記事を書きました。(http://ssgiken.blog.fc2.com/blog-entry-60.html 参照)

ですが、細かなデザインをするうえで、ラジオボタンやチェックボックスの処理が結構わからずに困ってしまっていました。

今日は、その方法の紹介です!
基本的には、ContactForm7の記述方法で記述していますが、同じやり方が MW WP Formでも使えますので、同様に試してみてください。


ラジオボタンを例にとってみましょう。
通常、ラジオボタンは、下記の様に設定します。

----------------------------
<p>らじお<br />
[radio radio-315 "あああ" "いいい" "ううう"] </p>
----------------------------

この場合、↓このように表示されます。
WordPress_ContactForm7_1



ですが、実は一つの「[radio .....]」の中にすべての項目を入れてしまう必要はないのです。(知ってる人は知っていると思いますし、いろいろ試す方は同じように試すと思いますが...)

IDさえ同じものを設定してあれば、それは一つのラジオボタンとして認識してくれます。
そのため、縦に並べたければ、下記の様に記述します。
----------------------------
<p>らじお<br />
[radio radio-315 "あああ"]<br/>
[radio radio-315 "いいい"]<br/>
[radio radio-315 "ううう"]</p>
----------------------------

この場合、↓このように表示されます。
WordPress_ContactForm7_2



項目と項目の間に全角スペースを入れて調整する方法もできます。
----------------------------
<p>らじお<br />
[radio radio-315 "あああ"]__[radio radio-315 "いいい"]__[radio radio-315 "ううう"] </p>
----------------------------
※上記は「__」で記述していますがそこに全角スペースなどを入れて調整すればいいかと思います。

この場合、↓このように表示されます。
WordPress_ContactForm7_3



ここでは簡易的な調整方法をご紹介していますので、スペースを入れるといった手抜きな調整方法を取っていますが、項目ごとに分割する方法さえわかれば、あとは divタグなどを入れて cssで本格的に設定をすることもできるでしょう。

大した話ではないんですけども、これに気づくまでに結構時間がかかってしまったので、同じように悩んでいる方がいれば、と思って書いてみました。


[ 2013年11月25日 00:36 ] カテゴリ:WordPress | TB(0) | CM(0)

WordPressのおすすめの確認画面付きお問い合わせフォームプラグイン・MW WP Form

「MW WP Form」という便利なお問い合わせフォームのプラグインの紹介です。


WordPressのお問い合わせフォームと言えば、Contact Form7といわれるほど Contact Form7は多くの方に使われているお問い合わせフォームです。
その理由に、このプラグインを拡張するプラグインもあるくらいですから。

ただ、このフォームを日本で使うには致命的ともいえる欠点がありました。
それは、確認画面がないことです。

日本では、入力画面の後に入力確認画面があり、そこから完了画面に遷移するということが一般的ですが、海外ではそれが一般的ではないため、WordPressをはじめとする海外で主流のシステムには確認画面がないものも多く存在します。

そのため、WordPressの入力の処理で入力確認画面があるものはほとんど見かけません。
同じく、Contact Form7も入力確認画面がありませんが、日本で Webサイトを作るにあたってはお客さんがそれを強く望むこともあることがあるのです。

その場合にお奨めできるのが「MW WP Form」というプラグインです。
日本人が開発したとのことで、日本の事情にマッチしたプラグインだと思います。

使い方、設定方法については下記のサイトが参考になると思います。
 http://webdesignerwork.jp/wordpress/mw-wp-form/
 http://mypacecreator.net/blog/archives/2063

確認画面が出るだけでなく、確認、完了画面の URLをそれぞれ設定することができますので、コンバージョンを取る必要がある場合などにもデフォルトで対応できるようになっています。
確認メールも入力者、管理者と分けて設定することができたり、入力された情報をデータベースに保存する機能もついています。

ただ、残念なのは、入力フォームの各項目に idや classの設定をすることができないため、JavaScriptを絡ませた処理を入れたり、デザインに凝ったフォームを作成することは難しいようです。

デザインに凝ったフォーム+確認画面が必要、という場合には、オリジナルでフォームを作成する必要がありそうな気がします...



そのほか、お問い合わせフォームで確認画面が表示できるプラグインとしては「TrustForm」というものもあります。
 http://maka-veli.com/WP-TrustForm.html

こちらも確認画面を設定することができるフォームのプラグインです。

実際に使ってみると分かるのですが、「Contact Form7」「MW WP Form」と違い、非常に直感的にドラッグ&ドロップでフォームを作っていくことができますので、プログラムに慣れていない方にも非常にとっつきやすいものだと思います。


ただ、デザインの自由度が低いのが残念なところで、デザインは基本的に変更できないと思っておくしかなさそうです。
(classの設定は可能ですので、cssで調整することはできそうです。)



それぞれのプラグインにはそれぞれの特徴がありますので、必要な機能、ぜったい外せない機能を見極めてプラグインを選んでいく必要がありますね。
[ 2013年11月18日 00:05 ] カテゴリ:WordPress | TB(0) | CM(0)

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

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

デバッグモードはその名の通り、デバッグ用のモードですが、このモードにするとキャッシュがされなくなりますので、プログラムの修正やデザインの修正を行っているときに変にキャッシュされなくて済むために非常に重宝します。

どうせアクセスが少ないサイトだから、このままデバッグモードで公開したい、と思うくらいです。
出来れば、通常公開設定でキャッシュしないモードを追加してほしいところですね。


ところで、デバッグモードは 3種類あるのですが、その違いについての説明ページがありません。

何が違うか、と言いますと、1→2→3となっていくにしたがってデバッグの情報がより詳細なものになっていく、ということです。
変えていくことでより多くの情報が追加されていきます。

デバッグモードは、1、2、3と変更してもまたすぐに元に戻すこともできますので、どんな情報が表示されるのか、試して変更してみるといいでしょうね。

ちなみに、エラーを出す際に一番いいのは URLを間違って入力してみることでしょうか。
[ 2013年11月18日 00:02 ] カテゴリ:baserCMS | TB(0) | CM(0)
プロフィール

エス技研

Author:エス技研
性別:男性
職業:Web系エンジニア
エンジニアになって 15年ほど経ちますが、その途中で 5年ほどディレクタ、マネジメントを中心とした業務を行っていたためにやや現場を離れていましたが、転職をきっかけに 2012年に現場に復帰し、新たな技術を楽しみながら勉強しています。
メインの環境は LAMP環境です。

FC2ブログランキング
FC2カウンター
FC2拍手ランキング
GoogleAdWords
カレンダー
10 | 2017/11 | 12
- - - 1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 - -
検索フォーム
ブロとも申請フォーム
QRコード
QR
フリーエリア


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。