登録日
2015年2月2日

メンバー検索

  

shakreboze

名前(ニックネーム)
しゃくれ
自分のconcrete5サイト
ホームページ
自己紹介
concrete5.org のユーザー名
concrete5 Slack Team ID
Twitterアカウント
フォーラム総投稿数
2

コミュニティバッジ

投稿

1から2までを表示 (計2)

Re: ブロックにおける追加テンプレートでのDBアクセス

hissy 様

ご教授ありがとうございました。
キャッシュクリアにより無事SQLは動作しました。助かりました。

合わせてご質問です。
ちょっと別件でのご質問で申し訳ないのですが、本件のSQL処理において「ClloctionVersionBlockStyle」テーブルのカラム「bID」を取得し、現在有効なブロックにおいて設定されたcss_idの値を取得し、その値の内容により、JavaScriptを動作させているテンプレートとなっていました。
その他のSQL条件は、「CollectionVersions」テーブルのカラム「csIsApproved」が1(おそらく承認され現在有効なデータの条件だと思いますが・・・)としています。

Ver5.4.1.1.1の場合は、一度作ったブロックを何回更新・承認してもbIDが変化しなかったのが、Ver5.6.3.2の場合、承認ごとにbIDがカウントアップしていきました。
(尚、bIDはシステムで一意っぽいですね。他のブロックを追加したらさらに1つカウントアップしていましたので・・・)、

ブロックテンプレート用に作成したphpの中で「$contoroller->bID」にてブロックIDを取得していますが、このbIDは次に承認されるときに設定されるbIDとなっています。(未来のbID)
ただ、現在のDBに存在しているbIDは現在承認されているbIDなので、取得したbIDより-1小さい値です。【例:現在DBに登録されているbIDは150とした場合、「$contoroller->bID」にて取得できるbIDは151となっている】

その為、テンプレートを設定した段階では条件に設定されたbIDではDBに値が存在しない為取得できず、結果としてJsが動作しない状況となっていました。
ただ、承認後はSQLが実行されれば値が取得できるので、該当ページを開くたびに動作するSQLと構成するJsにてうまくいくかと思いきや、ページを開いてもJsは構成されず、SQLも動いていませんでした。
phpで記載したSQLやJsは更新時(管理画面での設定時)一回のみ動作して画面を構成する仕組みなのでしょうか?
画面を開く度に、毎時SQLが動作するわけではないのでしょうか?

Posted on 2月 03, 2015 at 2:25 午後

ブロックにおける追加テンプレートでのDBアクセス

現在Concrete勉強中のものです。

以前Ver5.4.1.1.1にて、別の方がサイト作成したのですが、それを利用して1からVer5.6.3.2でサイト構築しています。(バージョンアップでは無く)
どちらのバージョンも環境は同じところ(物理的に同じサーバーにあります)、DBも両サイト同じものを使用しています。

その中で、ブロックのアドオンテンプレートが作成されており、同じものを5.6.3.2へ配置したのですが、5.4.1.1.1では動作したPHPが5.6.3.2では動作しなくなりました。
SQLログを取得したところ、5.6.3.2では、どうもテンプレートで作成したPHPファイルに記載されたSQLが実行されていないようです。
実行結果から取得した値を利用してJSを実行していたため、SQLが実行されず、結果的に動作しない状況となっていました。

Ver5.6では、ブロックのテンプレートで作成したphpファイル内では、DBアクセスできないのでしょうか?
記述としては、
--------------------------------------------------------
$db = Loader::db();
$q= "select ○○1 "
$q.= "from ○○2 "
$q.= "where ○○3 = ? "
$q.= "and ○○4 = ? "

$cID = "○○"
$cssId = $db >getOne($q,array($cID,$controller ->○○4)
--------------------------------------------
のような形で、$cssIdを利用したjsを記載していました。

ちなみに、単純なSQLも記載してみましたが、SQLは、やはり実行されていませんでした。
($db->query("select ○ from ○")

どなたか何かご教授いただけると幸いです。

よろしくお願いいたします。

Posted on 2月 02, 2015 at 5:37 午後