0

cscart のアドオンを作成しました。

テンプレート ファイル tpl は、cscart データベースのテーブルからのデータを表示する必要があります。

どのように/どこでmysqlデータベースを照会しますか?

クエリを TPL ファイルに入れるのは悪い習慣だと読みました。これは、MVC の原則に従っている場合に当てはまります。

アドオンを作成する場合、このクエリを実行して必要なデータを取得し、tpl ファイルに渡すには、どのファイルを作成すればよいでしょうか? データ抽出と tpl ファイルへの受け渡しを行う独立した php ファイルを作成する場所がわかりません。デフォルトのcscartファイルを編集したくありません。

これに関するガイド/情報はどこで入手できますか?

これは私が実行する必要があるコマンドです:

db_get_array('SELECT column FROM ?:table WHERE user_id = ?s', $user_id)

しかし、これはtplファイルでは機能しません...

4

1 に答える 1

1

1. db_get_array のエラーです。$user_id は整数です。正しいクエリは次のとおりです。

db_get_array('SELECT column FROM ?:table WHERE user_id = ?i', $user_id)

2. cs-cart のバージョンに応じて、php および tpl ファイルを追加する必要があるフォルダーが異なります。

v2.x & v3.x

addons/[ADDON_NAME]/controllers/customer/[PHP].php
skins/[SKIN_NAME]/customer/addons/[ADDON_NAME]/views/[PHP_FILE]/[MODE].tpl

v4.x

app/addons/[ADDON_NAME]/controllers/customer/[PHP].php
design/themes/[THEME_NAME]/templates/addons/[ADDON_NAME]/views/[PHP]/[MODE].tpl

上記は新しいコントローラーの場合です

実際のコントローラーに接続しているとき

v2.x & v3.x

addons/[ADDON_NAME]/controllers/customer/[CONTROLLER].post.php
skins/[SKIN_NAME]/customer/addons/[ADDON_NAME]/views/[CONTROLLER]/[MODE].tpl

v4.x

app/addons/[ADDON_NAME]/controllers/customer/[CONTROLLER].post.php
design/themes/[THEME_NAME]/templates/addons/[ADDON_NAME]/views/[CONTROLLER]/[MODE].tpl
于 2014-07-15T05:12:08.550 に答える