バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 2.11.0以上でカテゴリ毎に説明文や画像を載せる追加機能について

フロント機能

新規スレッドを追加する

| 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
fukap
投稿日時: 2011/5/30 18:36
対応状況: −−−
仙人
登録日: 2009/7/7
居住地: 滋賀県
投稿: 907
Re: 2.11.0以上でカテゴリ毎に説明文や画像を載せる追加機能について
2つ前のコードとは、2011-5-30 16:41 に投稿した以下のコードのことです。

//追記:親の設定を引き継ぐ時 
if($arrCategory['info_flg']) { 
 $parent_category_id = $objQuery->get("parent_category_id", "dtb_category", $where, array($category_id)); 
 $arrCategory['category_info'] = $this->lfGetParentInfo($objQuery, $parent_category_id); 
}
tanaca
投稿日時: 2011/5/31 0:04
対応状況: −−−
仙人
登録日: 2010/11/28
居住地: 福岡県
投稿: 332
Re: 2.11.0以上でカテゴリ毎に説明文や画像を載せる追加機能について
fukap 様

引用:

たぶん $arrCategory に代入されていないんじゃないでしょうか。
registCategory() 内で以下のコードを挿入すると、うまくいくかもしれません。
(2つ前のコードも反映させておいてください。)

$arrCategory['category_info'] = $category_info;
$arrCategory['info_flg'] = $info_flg;


2つ前のコードも反映させて、registCategory() 内で以下のコードも挿入してみましたが、
変化がありませんでした。

ひとつ気になる個所があります。
それは一番下に記述している lfGetParentInfo です。

===================================================
// 追記:親のcategory_infoを取得する
function lfGetParentInfo($objQuery, $pid) {
$where = "category_id = ?";
$parent_info = $objQuery->get("category_info", "dtb_category", $where, array($pid));
return $parent_info;
}

}
?>
===================================================

fukap様よりアドバイスいただいて"category_info"と"dtb_category"の
順番を入れ替えましたが、上記項目(lfGetParentInfo)で他には
修正すべき個所などはございませんでしたでしょうか。


----------------
他社システムからEC-CUBEへの移行などお気軽にご相談ください。
福岡のホームページ制作会社 ECカンパニー
担当:田中利宏

fukap
投稿日時: 2011/5/31 8:36
対応状況: −−−
仙人
登録日: 2009/7/7
居住地: 滋賀県
投稿: 907
Re: 2.11.0以上でカテゴリ毎に説明文や画像を載せる追加機能について
lfGetParentInfo については、既に修正された部分以外、私には特に気になるところはないです。
実際に、$parent_info に値が入っているか、var_dump して知りたいところですが。

それよりも気になるのは、registCategory に挿入してもらった以下の部分です。
もともとregistCategory は、$parent_category_id を持っているので、邪魔しているように思えます。
一度、以下のようにコメントアウトしてみたらどうなりますか?

//追記:親の設定を引き継ぐ時 
if($arrCategory['info_flg']) { 
 //$parent_category_id = $objQuery->get("parent_category_id", "dtb_category", $where, array($category_id)); // この行をコメントアウト
 $arrCategory['category_info'] = $this->lfGetParentInfo($objQuery, $parent_category_id); 
}

あとは、registCategory 内の現状コードを提示してもらえれば、何かヒントが見つかるかもしれません。

なお、エラーが出ないという話がありましたが、
integerと決められたDBカラムにtextを入れようとするとか、
PHPの記述が文法的に誤っているとか、SMARTYの記述が文法的に誤っているとか、
EC-CUBEの仕様に反するパラメータを設定したとか、そういうケースでなければ出ないと思います。
$objQuery->insert に至るどこかで、値が渡らずに空になっているケースがあるのではないかと思います。

var_dumpで変数を出力してみて、どこまで正常な値が渡っていて、
どこで値が失われているか、地道に原因を探る必要があります。
tanaca
投稿日時: 2011/5/31 10:16
対応状況: −−−
仙人
登録日: 2010/11/28
居住地: 福岡県
投稿: 332
Re: 2.11.0以上でカテゴリ毎に説明文や画像を載せる追加機能について
fukap様

ありがとうございます。
上記のコメントアウトで成功しました!
(子カテゴリの新規登録で「親カテゴリの説明を引き継ぐ」にチェックを入れて無事に引き継がれるようになりました。)

これで管理画面内で必要なカスタムが完了しました。

後はデータベースに保存されるようになったカテゴリ説明文をフロント側に表示できるようにしなければなりませんが、先ずはここまでお付き合いいただいたfukap様に深く感謝します。
ありがとうございました。


----------------
他社システムからEC-CUBEへの移行などお気軽にご相談ください。
福岡のホームページ制作会社 ECカンパニー
担当:田中利宏

fukap
投稿日時: 2011/5/31 11:06
対応状況: −−−
仙人
登録日: 2009/7/7
居住地: 滋賀県
投稿: 907
Re: 2.11.0以上でカテゴリ毎に説明文や画像を載せる追加機能について
無事いけたようで、良かったですね。

コメントアウトしてもらった行は、削除してしまってください。
$arrCategory への代入が正解だったようです。

だいたい要領はつかめたんじゃないかと思いますので、
値の流れを想像しながらコードを読んで、時々var_dump() しながら、
修正箇所の特定をしていったら良いと思います。

頑張ってください。
tanaca
投稿日時: 2011/5/31 14:24
対応状況: −−−
仙人
登録日: 2010/11/28
居住地: 福岡県
投稿: 332
Re: 2.11.0以上でカテゴリ毎に説明文や画像を載せる追加機能について
fukap様

ありがとうございます。

そして、なんとかフロント側のカテゴリページにも表示できるようになりました。

やったことは、商品一覧ページのテンプレートに

<!--★カテゴリ説明★-->
<!--{if $category_info}--><div id="category_info"><!--{$category_info}--></div><!--{/if}-->

を入れたのと、

/data/class/pages/products/LC_Page_Products_List.php の218行目に

$objQuery = new SC_Query();
// 追加:カテゴリ説明
$this->category_info = $objQuery->get("category_info", "dtb_category", "category_id = ?", $arrCategory_id);

の3行を追加しました。


// 指定されたカテゴリIDを元に正しいカテゴリIDを取得する。
$arrCategory_id = SC_Helper_DB_Ex::sfGetCategoryId('', $category_id);

if (empty($arrCategory_id)) {
SC_Utils_Ex::sfDispSiteError(CATEGORY_NOT_FOUND);
}
⇒ ここに上記3行を追加しました。
return $arrCategory_id[0];
}


公式ガイドブックやEC-CUBEの学校では本来、
「/data/class/pages/products/LC_Page_Products_List.php」から
「process」を丸ごとコピーして、「LC_Page_Products_List_Ex.php」へ
貼り付けるように説明されているのですが、2.11ではどこをコピーして
貼り付ければ良いのかが分からなかったので直接、LC_Page_Products_List.phpに
書き加えて偶然表示できましたが、この作法はあまりよろしくないのでしょうか。

ご指摘いただければ幸いです。


----------------
他社システムからEC-CUBEへの移行などお気軽にご相談ください。
福岡のホームページ制作会社 ECカンパニー
担当:田中利宏

fukap
投稿日時: 2011/5/31 16:13
対応状況: −−−
仙人
登録日: 2009/7/7
居住地: 滋賀県
投稿: 907
Re: 2.11.0以上でカテゴリ毎に説明文や画像を載せる追加機能について
カスタマイズと移行の手引きには以下のように書かれています。

http://svn.ec-cube.net/open_trac/wiki/%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%9E%E3%82%A4%E3%82%BA%E3%81%A8%E7%A7%BB%E8%A1%8C%E3%81%AE%E6%89%8B%E5%BC%95%EF%BC%88v2.0%EF%BC%89

引用:
data/class_extends 以下にカスタマイズ用のクラス群があります。
関数をカスタマイズする場合は, 必ず ***_extends 以下のクラスで継承し, オーバーライドしてカスタマイズして下さい
EC-CUBE がバージョンアップした場合でも, これらのファイルは 更新されない ため, 煩わしいマージ作業から開放されます。

自動アップデートの際に、カスタマイズ内容がファイルごと上書きされないように、分けているのだと思います。
ただ現在、自動アップデートは実装されていないと思いますので、あまり意味がなくなっているという感じだと思います。

私も /data/class 以下のファイルを自己責任で上書きしちゃってることが多いです。
tanaca
投稿日時: 2011/5/31 17:11
対応状況: −−−
仙人
登録日: 2010/11/28
居住地: 福岡県
投稿: 332
Re: 2.11.0以上でカテゴリ毎に説明文や画像を載せる追加機能について
fukap様
ありがとうございます。

手引きページを確認させていただきました。

data/class_extends/の書き換えを推奨されているようでしたので
data/class_extends/products/LC_Page_Products_List_Ex.phpに
function lfGetCategoryId()をコピぺして、LC_Page_Products_List.phpは元に戻しました。

それで問題なく動作しているようです。

その後、dtd_csvに category_infoとdisp_nameを追加して、CSV出力設定 > カテゴリで、
出力する項目を追加したら、それだけでダウンロードはもちろんですが、アップロードも
そのままできるようになっていました。

2.11を開発してくださった方々に感謝です。

これで、カテゴリのカスタマイズがひととおり完了しました。

fukap様、そしてこのスレッドを立ててくださったDigiLove様に感謝です。
ありがとうございました。


----------------
他社システムからEC-CUBEへの移行などお気軽にご相談ください。
福岡のホームページ制作会社 ECカンパニー
担当:田中利宏

seasoft
投稿日時: 2011/5/31 18:02
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: 2.11.0以上でカテゴリ毎に説明文や画像を載せる追加機能について
class_extends の利用については、下記あたりも参考になると思います。

http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=7384&forum=14&post_id=35538#forumpost35538


> 私も /data/class 以下のファイルを自己責任で上書きしちゃってることが多いです。

私も、最近はその方が多いですね。

拡張の概念は美しいのですが、現実的には無駄も多く・・・


----------------
Seasoft
こちらでの投稿は、アイディア程度に留めさせていただいております。
個別案件の作業は有償で承っております。お気軽にご相談ください。

tanaca
投稿日時: 2011/5/31 18:41
対応状況: −−−
仙人
登録日: 2010/11/28
居住地: 福岡県
投稿: 332
Re: 2.11.0以上でカテゴリ毎に説明文や画像を載せる追加機能について
参考になるスレッド、ありがとうございます。

判断が難しいところですね。

大手インテグレート・パートナーさんのカスタマイズは可能な限りextends側だけ
で行うようにされているようなので、私もなるべくそうしようと思いました。


自動バージョンアップ(現在は頓挫)が実現するといいですね。


----------------
他社システムからEC-CUBEへの移行などお気軽にご相談ください。
福岡のホームページ制作会社 ECカンパニー
担当:田中利宏

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


 



ログイン


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

統計情報

総メンバー数は89,005名です
総投稿数は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.