バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 複数の商品一覧ページ

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
leoism
投稿日時: 2009/5/22 14:03
対応状況: −−−
常連
登録日: 2008/8/26
居住地:
投稿: 60
複数の商品一覧ページ
お世話になります。
カテゴリごとに商品の一覧ページを作ろうとしているのですが、
躓いたところがあるので、質問させてください。
(読みづらくてすみません)

目的:カテゴリごとに複数の商品ページを作りたい

見せ方:2カラムの構成で、左カラムにそれぞれの大カテゴリ内のサブカテゴリを表示、右カラムに一覧を表示

試したこと:
1.管理画面から新規ページ作成で商品一覧ページのテンプレートをコピー。ファイル名をxxx_list.phpにて保存

2.新規ブロック作成にて、サブカテゴリーへのリンクをhtmlで作成。リンク先アドレスは
http://ドメイン名/user_data/xxx_list.php?category_id=xx
としました。

3.この段階で表示を試してみたところ、レイアウトは思い通りなのですが、一覧を表示してくれません。

4.次に、/products/list.php の中身を作成した xxx_list.phpにまるっと上書きしてアップロード。
  ブラウザで表示してみると、一覧の表示には成功したが、左カラムのレイアウトが /produts/list.phpの
  内容でした。
  

5.テンプレートの読み込みが違ってるのかなと思い、data/class/pages/products/LC_Page_Products_List.php と
data/class_extends/pages_extends/products/LC_Page_Products_List_Ex.phpを複製して、
LC_Page_Products_List.php内の

// レイアウトデザインを取得
$layout = new SC_Helper_PageLayout_Ex();
$layout->sfGetPageLayout($this, false, "products/list.php");

を、

// レイアウトデザインを取得
$layout = new SC_Helper_PageLayout_Ex();
$layout->sfGetPageLayout($this, false, "user_data/glove_list.php");

LC_Page_Products_List_Ex.php内の

require_once(CLASS_PATH . "pages/products/LC_Page_Products_List.php");

require_once(CLASS_PATH . "pages/products/LC_Page_Products_List2.php");

に変更し、それぞれLC_Page_Products_List2.php,LC_Page_Products_List_Ex2.phpとして保存。
xxx_list.php内の
require_once(CLASS_EX_PATH . "page_extends/products/LC_Page_Products_List_Ex.php");

require_once(CLASS_EX_PATH . "page_extends/products/LC_Page_Products_List_Ex2.php");
に変更保存。

全てアップロードして、ブラウザ表示させると、
一覧は表示されて、左カラムが消え、
Warning: reset() [function.reset]: Passed variable is not an array or object in /home/worksystem/www/e-work-system.com/shop/data/class/helper/SC_Helper_PageLayout.php on line 63

Warning: Variable passed to each() is not an array or object in /home/worksystem/www/e-work-system.com/shop/data/class/helper/SC_Helper_PageLayout.php on line 64
上記のエラーが表示されました。

ここまで来たのですが、後どこをどうすれば・・・。
なんとなく、xxx_list.phpにlist.phpをまるっとコピーした所かなとも思うのですが、
どうしたら良いか、分かりません。

どなたか、分かる方よろしくご教授ください。

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



tao_s
投稿日時: 2009/5/22 14:47
対応状況: −−−
仙人
登録日: 2008/8/20
居住地: 東京
投稿: 799
Re: 複数の商品一覧ページ
list.phpはそのままで、LC_page_Product_Detail.phpを変更した方が良いと思います。

テンプレートを設定しているところをカテゴリによって切り替えた方が良いと思います。

$this->tpl_mainpage = "○○";みたいなところです。


----------------
EC-CUBEカスタマイズ相談してください。
緊急のEC-CUBEの障害対応
EC-CUBEカスタマイズブログ

kishik
投稿日時: 2009/5/22 14:51
対応状況: −−−
仙人
登録日: 2009/4/3
居住地: 東京
投稿: 382
Re: 複数の商品一覧ページ
ちょっと気になったことを補足すると、
ページは左と右に分かれているように見えますが、
それを表示させるためのロジック部分は共通の1つのものなので、
そこで左右それぞれ用にデータを作ってやるのがミソです。

すでにご存知でしたらすみません。


-----
カスタマイズ承ります
http://ec-cube-mall.jp/
http://ec-cube.ec-orange2.jp/
http://wiki.ec-orange2.jp/
leoism
投稿日時: 2009/5/25 9:53
対応状況: −−−
常連
登録日: 2008/8/26
居住地:
投稿: 60
Re: 複数の商品一覧ページ
tao_sさま

回答ありがとうございます。
返事が遅れてすみませんでした。

LC_page_Product_Detail.phpを見てみたところ、

$this->tpl_mainpage = "○○";みたいなところは
モバイルの詳細テンプレートを呼び出す記述と
規格部分のテンプレートを呼び出す記述しか見当たりませんでした。
また、リストページの左カラムの呼び出しを行うのに、Detail.php
の修正でよろしいのでしょうか?

できましたら、もう少し詳しく教えていただけますでしょうか。
よろしくお願いいたします。
leoism
投稿日時: 2009/5/25 9:56
対応状況: −−−
常連
登録日: 2008/8/26
居住地:
投稿: 60
Re: 複数の商品一覧ページ
kishikさま

ご回答ありがとうございます。
返事が遅れてすみませんでした。

>それを表示させるためのロジック部分は共通の1つのものなので、
>そこで左右それぞれ用にデータを作ってやるのがミソです。

なんとなくそうなんだろうと、理解できているのですが、
具体的に、どこを触ってよいのか分からなく、試行錯誤しているところです。

よろしければ、もう少し詳しく教えていただけますでしょうか。
よろしくお願いいたします。
leoism
投稿日時: 2009/5/25 11:06
対応状況: −−−
常連
登録日: 2008/8/26
居住地:
投稿: 60
Re: 複数の商品一覧ページ
お世話になります。

初歩的な事を質問させてください。

list.phpのテンプレートがlist.tplであると関連付けているのは
どのファイル(またはデータベーステーブル)でしょうか?
seasoft
投稿日時: 2009/5/25 11:10
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: 複数の商品一覧ページ
各ファイルで、インクルード (require) しています。
繋がりに関しては、下記が参考になるとよいのですが。
http://seasoft.jp1.cx/ec/tips/editfiles


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

leoism
投稿日時: 2009/5/25 13:42
対応状況: −−−
常連
登録日: 2008/8/26
居住地:
投稿: 60
Re: 複数の商品一覧ページ
Seasoftさま

いつも大変お世話になっています。
ありがとうございます。

>各ファイルで、インクルード (require) しています。
との事ですが、list.phpがインクルードしているファイルは
require.phpとLC_Page_Products_List_Ex.phpだと思うのですが、
それらを辿って行って考えると、
list.php=list.tplを指示しているファイルは、
LC_Page_Products_List.phpもしくは、SC_Helper_PageLayout.php
あたりなのかな、と思うのですがその考えで合っているのでしょうか?

list2.php,list3.phpと作って行きたい場合、
list.php,LC_Page_Products_List_Ex.php,LC_Page_Products_List.php,list.tplを同ディレクトリ内で複製・リネームし、
これらのファイルのどこかで、list2.php=list2.tplであるように
修正できれば、商品一覧ページを複数設けることができると考えて大丈夫でしょうか。
seasoft
投稿日時: 2009/5/25 15:42
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: 複数の商品一覧ページ
あっ、他に一部は DB にもありました。

> LC_Page_Products_List.phpもしくは、SC_Helper_PageLayout.php
> あたりなのかな、と思うのですがその考えで合っているのでしょうか?

たしか、SC_Helper_PageLayout.php 辺りから参照していたと思いますが、テーブル「dtb_pagelayout」です。


> ist2.php,list3.phpと作って行きたい場合、
> list.php,LC_Page_Products_List_Ex.php,LC_Page_Products_List.php,list.tplを同ディレクトリ内で複製・リネームし、
> これらのファイルのどこかで、list2.php=list2.tplであるように
> 修正できれば、商品一覧ページを複数設けることができると考えて大丈夫でしょうか。

そうですね。
ただ、色々な流れが全て正常に処理されるかは検証が必要な予感がします。
個人的には、list2.php よりも下の階層で分岐させたほうが良いような気もしますが、まぁケースバイケースなので、なんとも言い難い面もありますね。


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

leoism
投稿日時: 2009/5/25 16:13
対応状況: −−−
常連
登録日: 2008/8/26
居住地:
投稿: 60
Re: 複数の商品一覧ページ
ご回答ありがとうございます。

>たしか、SC_Helper_PageLayout.php 辺りから参照していたと思いますが、テーブル「dtb_pagelayout」です。

やっぱり!
何となくそこかなと思っていたのですが、触るのも少し怖かったので。。。

フィールド的にはFileNameで良いのでしょうか。
Tpl_Dirも気になるところですが。。。

ちょっと試してみます。

結果は、また報告させていただきます。
(1) 2 3 4 5 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,904名です
総投稿数は110,006件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
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.