バージョン選択

フォーラム

メニュー

オンライン状況

70 人のユーザが現在オンラインです。 (61 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 70
もっと...

サイト内検索

質問 > フロント機能 > 2.11.1系で、新着商品を表示させたい。

フロント機能

新規スレッドを追加する

| 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
vyu
投稿日時: 2011/6/28 17:44
対応状況: −−−
半人前
登録日: 2011/6/24
居住地:
投稿: 15
Re: 2.11.1系で、新着商品を表示させたい。
以下のようなエラーが表示されました。

引用:

SQL: SELECT mtb_status_image FROM name WHERE id=1

MDB2 Error: no such table

_doQuery: [Error message: Could not execute statement]
[Last executed query: PREPARE mdb2_statement_mysql_227d2fa5cdffecbd36c59c8563f9ba27268debffc2 FROM 'SELECT mtb_status_image FROM name WHERE id=1 ']
[Native code: 1146]
[Native message: Table '※ドメイン※.name' doesn't exist]


/※root※/shop/index.php 33:LC_Page_Index_Ex->process
/※root※/data/class_extends/page_extends/LC_Page_Index_Ex.php 56:LC_Page_Index->process
/※root※/data/class/pages/LC_Page_Index.php 56:LC_Page->sendResponse
/※root※/data/class/pages/LC_Page.php 133:SC_Display->prepare
/※root※/data/class/SC_Display.php 74:SC_View->getResponse
/※root※/data/class/SC_View.php 92:Smarty->fetch
/※root※/data/module/Smarty/libs/Smarty.class.php 1263:include
/※root※/data/Smarty/templates_c/default/%%F1^F15^F158E3F4%%site_frame.tpl.php 88:Smarty->_smarty_include
/※root※/data/module/Smarty/libs/Smarty.class.php 1869:include
/※root※/data/Smarty/templates_c/default/%%58^587^5876E692%%site_main.tpl.php 127:smarty_core_smarty_include_php
/※root※/data/module/Smarty/libs/internals/core.smarty_include_php.php 40:Smarty->_include
/※root※/data/module/Smarty/libs/Smarty.class.php 1923:include
/※root※/shop/frontparts/bloc/product_flag.php 10:LC_Page_FrontParts_Bloc_ProductFlag_Ex->process
/※root※/data/class_extends/page_extends/frontparts/bloc/LC_Page_FrontParts_Bloc_ProductFlag_Ex.php 27:LC_Page_FrontParts_Bloc_ProductFlag->process
/※root※/data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_ProductFlag.php 45:SC_Query->get
/※root※/data/class/SC_Query.php 580:SC_Query->getOne
/※root※/data/class/SC_Query.php 595:SC_Query->prepare
/※root※/data/class/SC_Query.php 867:MDB2_Driver_mysql->prepare
/※root※/data/module/MDB2/Driver/mysql.php 1123:MDB2_Driver_mysql->_doQuery
/※root※/data/module/MDB2/Driver/mysql.php 798:MDB2_Driver_Common->raiseError
/※root※/data/module/MDB2.php 1497:PEAR->raiseError
/※root※/data/module/PEAR.php 557:MDB2_Error->MDB2_Error
/※root※/data/module/MDB2.php 1009:PEAR_Error->PEAR_Error



※ サーバールートは※root※に置き換えています
fukap
投稿日時: 2011/6/28 18:02
対応状況: −−−
仙人
登録日: 2009/7/7
居住地: 滋賀県
投稿: 907
Re: 2.11.1系で、新着商品を表示させたい。
data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_ProductFlag.php の

45行目付近のgetメソッドに誤りがあるようです。該当箇所を見直してみてください。
Leon
投稿日時: 2011/6/30 10:38
対応状況: −−−
半人前
登録日: 2011/4/13
居住地:
投稿: 16
Re: 2.11.1系で、新着商品を表示させたい。
全く分かりません。
ド素人なので、分かりやすいプログラムとか教えてください。
エラー表示はなくなりましたが、新着商品がなかなか表示できません。
あちこっちいじってみましたが、なかなか出ません。
Leon
投稿日時: 2011/6/30 11:10
対応状況: −−−
半人前
登録日: 2011/4/13
居住地:
投稿: 16
Re: 2.11.1系で、新着商品を表示させたい。
他のサイトを見て、引用しましたが2.4系なので、試しに2.4系を使ってみたところ、うまく作動しましたが、同じやり方で、2.11系に移植してみたところ、エラーが発生しました。
全部の画面が、真っ白になりました。
同じ症状を持った方いますか?


http://www.naga-blog.com/archives/2009/03/101727.php
vyu
投稿日時: 2011/6/30 13:39
対応状況: −−−
半人前
登録日: 2011/6/24
居住地:
投稿: 15
Re: 2.11.1系で、新着商品を表示させたい。
引用:

fukapさんは書きました:
data/class/pages/frontparts/bloc/LC_Page_FrontParts_Bloc_ProductFlag.php の

45行目付近のgetメソッドに誤りがあるようです。該当箇所を見直してみてください。


45行目付近は、
$this->statusName =$objQuery->get("mtb_status_image", "name", "id={$productFlag}");

でした。ここから手詰まりです・・・
ここから先は自分の知識では難しいかもしれません。
同時進行で、別のアプローチで方法を探しています。
fukap
投稿日時: 2011/6/30 16:19
対応状況: −−−
仙人
登録日: 2009/7/7
居住地: 滋賀県
投稿: 907
Re: 2.11.1系で、新着商品を表示させたい。
参考にされているコードは、Ver2.0.1 時代のものみたいですから、2.11に合わせて書き換えないと動かないですね。

前後のコードがわからないので、当てずっぽうですが、こんなコードはどうですか。

$this->statusName = $objQuery->get("mtb_status_image", "name", "id", array($productFlag));


vyu
投稿日時: 2011/6/30 16:55
対応状況: −−−
半人前
登録日: 2011/6/24
居住地:
投稿: 15
Re: 2.11.1系で、新着商品を表示させたい。
引用:
参考にされているコードは、Ver2.0.1 時代のものみたいですから、2.11に合わせて書き換えないと動かないですね。

全くそのとおりです。データの取り出し方がも、取り出してくるデータの構造も違っているのでしょうか。

$this->statusName = $objQuery->get("mtb_status_image", "name", "id", array($productFlag));


こちらのコードに差し替えてみましたが、
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?viewmode=thread&topic_id=8262&forum=10&post_id=40205#forumpost40205
と同じエラーがでました。ご報告のみ・・・
fukap
投稿日時: 2011/6/30 17:26
対応状況: −−−
仙人
登録日: 2009/7/7
居住地: 滋賀県
投稿: 907
Re: 2.11.1系で、新着商品を表示させたい。
あ、プレスホルダーつけるの、忘れてました。
これだとどうかな?

$this->statusName = $objQuery->get("mtb_status_image", "name", "id = ? ", array($productFlag));

ちなみにこの関門を越えても、少し下にある $objQuery->select でもエラーが出そうなので、参考コードを書いてみました。
明らかにエラーが出そうなところは直したつもりですが、動く保証は一切ありませんので、参考程度に。

$col = "dtb_products.product_id, dtb_products.name, dtb_products.main_image, MIN(dtb_products_class.price02) AS price02_min, MAX(dtb_products_class.price02) AS price02_max";
$from = "dtb_products INNER JOIN dtb_products_class ON dtb_products.product_id = dtb_products_class.product_id";
$where = "dtb_products.product_flag ILIKE ?";
$arrval[] = "%$ret%";
$groupby = "product_id";
$this->groupby=$objQuery->setGroupBy($groupby);

//商品の表示はupdate_dateが新しい順
$order = "dtb_products.update_date DESC";
$this->order=$objQuery->setOrder($order);

$arrFlagList = $objQuery->select($col, $from, $where, $arrval);
vyu
投稿日時: 2011/6/30 19:50
対応状況: −−−
半人前
登録日: 2011/6/24
居住地:
投稿: 15
Re: 2.11.1系で、新着商品を表示させたい。
コードを差し替えましたが、変わらず・・ほぼ同様のエラーメッセージです。

ちなみに現状の LC_Page_FrontParts_Bloc_ProductFlag.php は、以下のようになっています。


<?php
// {{{ requires
require_once(CLASS_REALDIR . "pages/frontparts/bloc/LC_Page_FrontParts_Bloc.php");
/**
* productStatus のページクラス.
*
* @package Page
*/
class LC_Page_FrontParts_Bloc_ProductFlag extends LC_Page_FrontParts_Bloc {
// }}}
// {{{ functions
 /**
* Page を初期化する.
*
* @return void
*/
function init() {
parent::init();
$bloc_file = 'productFlag.tpl';
$this->setTplMainpage($bloc_file);
}
 /**
* Page のプロセス.
*
* @return void
*/
function process() {
if (defined("MOBILE_SITE") && MOBILE_SITE) {
$objView = new SC_MobileView();
} else {
$objView = new SC_SiteView();
}
$objSiteInfo = $objView->objSiteInfo;
// 基本情報を渡す
$objSiteInfo = SC_Helper_DB_Ex::sfGetBasisData();
$this->arrInfo = $objSiteInfo->data;
$objQuery = new SC_Query();
//検索したい商品のステータスを設定
//NEW→1, 残りわずか→2, ポイント2倍→3, オススメ→4, 限定品→5
$productFlag = 1;
//検索する商品のステータスをランダムに決定し、表示させたい場合は以下のコメントを外してください。
//$id_count = $objQuery->count(mtb_status);
//$productFlag = rand(1,$id_count);
 
$this->statusName = $objQuery->get("mtb_status_image", "name", "id = ? ", array($productFlag));
 
//表示する商品の件数
$listCount = 5;
 
$ret = "";
$arrTmp[$productFlag] = "1";
 
for($i = 1; $i <= $productFlag; $i++) {
if($arrTmp[$i] == "1") {
$ret.= "1";
} else {
$ret.= "_";
}
}
if($ret != "") {
$ret.= "%";
}

$col = "dtb_products.product_id, dtb_products.name, dtb_products.main_image, MIN(dtb_products_class.price02) AS price02_min, MAX(dtb_products_class.price02) AS price02_max";
$from = "dtb_products INNER JOIN dtb_products_class ON dtb_products.product_id = dtb_products_class.product_id";
$where = "dtb_products.product_flag ILIKE ?";
$arrval[] = "%$ret%";
$groupby = "product_id";
$this->groupby=$objQuery->setGroupBy($groupby);

//商品の表示はupdate_dateが新しい順
$order = "dtb_products.update_date DESC";
$this->order=$objQuery->setOrder($order);

$arrFlagList = $objQuery->select($col, $from, $where, $arrval);
 
//商品の表示をランダムに抽出する場合は以下のコメントを外してください。
//srand((double)microtime()*1000000);//乱数生成器を初期化
//shuffle($arrFlagList);
$this->arrFlagProducts = array_slice($arrFlagList, 0, $listCount);
$objSubView = new SC_SiteView();
$objSubView->assignobj($this);
$objSubView->display($this->tpl_mainpage);
}
  
/**
* デストラクタ.
*
* @return void
*/
function destroy() {
parent::destroy();
}
}
?>


引き続き模索中です。
fukap
投稿日時: 2011/6/30 20:23
対応状況: −−−
仙人
登録日: 2009/7/7
居住地: 滋賀県
投稿: 907
Re: 2.11.1系で、新着商品を表示させたい。
あ、2.11になって、$col と $table の位置が逆になったんだった。
2.4.4 の SC_Query::get を見てました。。

というわけで、これでどうかな?

$this->statusName = $objQuery->get("name", "mtb_status_image", "id = ? ", array($productFlag));

« 1 (2) 3 4 5 6 »
| 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は89,025名です
総投稿数は110,020件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1296
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.