バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 【再度】メーカー検索結果へ別のページからリンクさせたい

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tamahime
投稿日時: 2012/12/11 1:28
対応状況: −−−
常連
登録日: 2012/10/15
居住地:
投稿: 44
【再度】メーカー検索結果へ別のページからリンクさせたい
先日こちらのページで標記の通り質問させていただきました。
http://xoops.ec-cube.net/modules/newbb/viewtopic.php?topic_id=11813&forum=10

ここに書きました通り
いったんとりあえずの解決はしたのですが、
やはり無理が出てきました。


☆商品検索ブロックでメーカーだけ指定して出てきた検索結果画面へ、
別ページからリンクを貼るというようなことはできますでしょうか?☆


この質問に、お答え願えませんでしょうか。
どうぞよろしくお願いいたします。



EC-CUBE 2.12.2
XAMPP1.7.7
OS Windows7
PHP 5.3.8
MySQL 5.0
apache2.2
Google Chrome
goodspeed
投稿日時: 2012/12/11 8:08
対応状況: −−−
長老
登録日: 2011/9/7
居住地:
投稿: 163
Re: 【再度】メーカー検索結果へ別のページからリンクさせたい
いまいちよくわからないのですが、
サイドメニューなどにメーカー名を表示させ、そこからメーカー毎のページに飛べるようにするのでしょうか?
この場合、ブロックを追加するか、カテゴリーにメーカー名を追加するとか・・・・

参考までに・・・


----------------
注意!私の場合、理論的なアドバイスではありません。
なんとなくこうだった気がする・・・程度の話で、参考までに聞く程度でお願いします。

fukap
投稿日時: 2012/12/11 9:30
対応状況: −−−
仙人
登録日: 2009/7/7
居住地: 滋賀県
投稿: 907
Re: 【再度】メーカー検索結果へ別のページからリンクさせたい
とりあえずPCやスマホサイトであれば、以下のようなリンク先でどうでしょうか。
/products/list.php?mode=search&maker_id=xx (xxはメーカーID)
tamahime
投稿日時: 2012/12/11 10:07
対応状況: −−−
常連
登録日: 2012/10/15
居住地:
投稿: 44
Re: 【再度】メーカー検索結果へ別のページからリンクさせたい
goodspeed様

いつもご助言いただきありがとうございますm(__)m
せっかくコメントいただきますのに
説明不足で申し訳ありません。
いま、一生懸命ご説明文を書いておりました。


fukap様

お返事ありがとうございます!

現状、
<a href="http://localhost/eccube/html/products/list.php
?transactionid=32ob0(...たくさん続く)
&mode=search
&category_id=5
&maker_id=1
&name=
&search.x=55
&search.y=23">

みたいなリンクを、直接テンプレートに貼っている状態です。
(見づらいので改行入れました)
まずは、transactionid=云々と、
search.x=oo、search.y=ooの部分はなくても
飛ばせるのだということを一つ学びました!
ありがとうございますm(__)m


今回投稿いたしましたのは、
もう一つ別の箇所に使用する必要がでてきたからです。

メーカー一覧みたいなページだけですと数が少ないので
カッコ悪くても上記のようなリンクを直接貼ってしまって
対応できていたのですが、

今回、商品詳細画面にこれを入れたいと思っています。

商品詳細のある部分に、

・商品がカテゴリ?なら⇒category_id=??
・メーカーがAなら⇒maker_id=AのID

で検索した結果を、この商品カテゴリ?・メーカーAの商品のオススメ組み合わせ商品群として紹介したいのです。
例えばですが、

?アスクルのこのページではさみを見ておりまして、
 http://www.askul.co.jp/p/7886501/
 ↓
?「コクヨのはさみをすべて見る」をクリックしますと、
 ↓
?「ホーム メーカー名から探す - 【カ行】 コクヨ はさみ」
 とぱんくずで表示されるページに飛びます。

という感じです。
(この例では、同じ商品カテゴリの商品群が表示される点が違いますが。)


自分の力が追いつくかどうかも分かりませんが、
とにかく一生懸命勉強しますので、
どうかご指導いただければ幸いです。

どうぞよろしくお願い申し上げます。
fukap
投稿日時: 2012/12/11 12:19
対応状況: −−−
仙人
登録日: 2009/7/7
居住地: 滋賀県
投稿: 907
Re: 【再度】メーカー検索結果へ別のページからリンクさせたい
商品詳細ページの、該当商品のメーカーと等しく、なおかつ該当商品が所属するカテゴリ以外の商品一覧が表示されるページを作りたいということでしょうか。

それであれば、商品詳細ページで、該当商品のメーカーIDや、所属するカテゴリIDは取得できますので、
リンク先URLの $_GET に maker_id や category_id を持たせて、
商品一覧ページ(の仕様を似せた別ページ等)側で条件にあった商品一覧をセレクトしてくるようにしたら良さそうです。
tamahime
投稿日時: 2012/12/11 12:51
対応状況: −−−
常連
登録日: 2012/10/15
居住地:
投稿: 44
Re: 【再度】メーカー検索結果へ別のページからリンクさせたい
fukap様


その後も一人で試行錯誤しておりました。
ほんとうに右も左も分からないところから始めていますので、
こうして助言をいただけることがとにかくありがたいです。


>商品詳細ページの、該当商品のメーカーと等しく、なおかつ該当商品が所属するカテゴリ以外の商品一覧が表示されるページを作りたいということでしょうか。

その通りです。


>それであれば、商品詳細ページで、該当商品のメーカーIDや、所属するカテゴリIDは取得できますので、

はい、ここは理解できます。


>リンク先URLの $_GET に maker_id や category_id を持たせて、

今までの試行錯誤に$_GETはまったく出てきておりませんでした。
たいへん恐縮なのですが、もう少しだけ噛み砕いて
教えていただけませんでしょうか?
もしくは、どのファイルを見ればよいかだけでも、
一言いただければありがたいです。


>商品一覧ページ(の仕様を似せた別ページ等)側で条件にあった商品一覧をセレクトしてくるようにしたら良さそうです。

できれば別ページを作らず(素人には負担が大きいので・・・)
商品一覧ページで済ませられればと考えております。


ちなみに、今の時間、恥ずかしながら、
以下のようなことをやっておりましたが、
うまくいきませんでした。
見当はずれでしたでしょうか・・・?

ご指摘いただければ本当に助かります。
(カテゴリもメーカーも、というのが分からず、
とりあえずはメーカーからでも、と・・・)


?<a href="<!--{$smarty.const.MAKER_LIST_URLPATH}--><!--{$arrItem.maker_id|u}-->">リンクさせたい言葉</a>

で、
・MAKER_LIST_URLPATHに指定した localhost/eccube/html/products/list.php?mode=search&maker_id= と、
・maker_id である「1」などの数字、
を指定する

?そのために、
mtb_constantsに、define('MAKER_LIST_URLPATH', ROOT_URLPATH . "products/list.php?mode=search&maker_id=");という感じの1行を追加する

?LC_Page_Sitemap.phpで、以下のような箇所を真似してMAKER_LIST_URLPATHが使えるようにする・・・・?
(P_DETAIL_URLPATHみたいに指定できるかなと、この言葉を追いかけて真似しておりました)

// 商品一覧ページを処理
$arrProductPagesList = $this->getAllProducts();
foreach ($arrProductPagesList as $arrProductPage) {
$this->createSitemap($arrProductPage['url'], '', 'daily');
}
とか、
// 商品詳細ページを処理
$arrDetailPagesList = $this->getAllDetail();
foreach ($arrDetailPagesList as $arrDetailPage) {
$this->createSitemap($arrDetailPage['url'],
$this->date2W3CDatetime($arrDetailPage['update_date']));
}
とか、
function getAllDetail() {
 $objQuery = SC_Query_Ex::getSingletonInstance();
 $sql = 'SELECT product_id, update_date FROM dtb_products WHERE del_flg = 0 AND status = 1';
 $result = $objQuery->getAll($sql);

 $arrRet = array();
 foreach ($result as $row) {

  $arrPage['update_date'] = $row['update_date'];

  $arrPage['url'] = HTTP_URL . substr(P_DETAIL_URLPATH, strlen(ROOT_URLPATH)) . $row['product_id'];
$arrRet[] = $arrPage;
 }
 return $arrRet;
}
とかみたいな部分を真似て・・・。


お忙しいところ恐縮ですが、
お返事をいただけましたら幸いです。

fukap
投稿日時: 2012/12/11 14:26
対応状況: −−−
仙人
登録日: 2009/7/7
居住地: 滋賀県
投稿: 907
Re: 【再度】メーカー検索結果へ別のページからリンクさせたい
> 今までの試行錯誤に$_GETはまったく出てきておりませんでした。
> たいへん恐縮なのですが、もう少しだけ噛み砕いて
> 教えていただけませんでしょうか?

$_GET などで検索すると、一般的な知識は得られると思います。
他のページに特定の値を引き渡すためには、なんらかの方法が必要ですので、$_GET を使う方法を示してみました。
具体的に言えば、/products/list.php?maker_id=1&category_id2=1 などのURLをリンク先に指定して、
リンク先ページのPHPで、$_GET['maker_id'] や $_GET['category_id2'] などで、値を受け取ると良いと思います。

あとは、商品一覧ページ側でどうやって希望する商品一覧を取得するか、
またカテゴリが複数ある場合はどうするのかとかですかね。
tamahime
投稿日時: 2012/12/11 15:10
対応状況: −−−
常連
登録日: 2012/10/15
居住地:
投稿: 44
Re: 【再度】メーカー検索結果へ別のページからリンクさせたい
fukap様

たびたびのお返事、
本当にありがとうございます。

$_GETについて勉強中です。
もう一度、あれこれ試行錯誤してみようと思います。

また経過をご相談させていただくかと思いますが、
もしお時間があれば簡単でもコメントをいただけると
ありがたいです。

ひとまず、ご報告まで。
ありがとうございます!
tamahime
投稿日時: 2012/12/12 0:42
対応状況: −−−
常連
登録日: 2012/10/15
居住地:
投稿: 44
Re: 【再度】メーカー検索結果へ別のページからリンクさせたい
あと一歩です!

(ご示唆いただいた内容で調べているうち、
category_idもmaker_idも、list.phpで受け取るための
コードはすでに入ってるのではないかという気がしてきまして、
データを送る側の方を変更しております。)


商品詳細ページdetail.tplで、
「関連カテゴリ」はカテゴリ検索結果に飛んでおりますので、この部分の

<a href="<!--{$smarty.const.ROOT_URLPATH}-->products/list.php?category_id=<!--{$arrRelativeCat[r][s].category_id}-->"></a>

に似たコードでいけないかしらとやってみました。

<a href="<!--{$smarty.const.ROOT_URLPATH}-->products/list.php?mode=search&category_id=<!--{$arrItem.category_id|h}-->&maker_id=<!--{$arrProduct.maker_id|h}-->">

のようにしましたら、メーカーだけ指定された状態の検索結果画面に飛びました。
あとは、

<!--{$arrItem.category_id|h}-->

これで、「関連商品のカテゴリID番号」を取りたいのですが、
この部分が悪いようで、行き詰まりました。
(この部分に「1」などを入れてやればうまくいきますので、このIDの呼び出し方が間違っているようです)

この同じ商品の「商品名」や「価格」を呼び出すには
<!--{$arrItem.name|h}-->や、
`$arrItem.price02_min_inctax`
のように$arrItemが使われているのですが。。。

あれこれ試していますが、手詰まりになってきています。
どこが問題かお分かりになる方がいらっしゃいましたら
ご指摘いただけませんでしょうか。
どうぞよろしくお願いいたします。


・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

今修正している箇所は以下のようになっております。
<!--▼関連商品-->
<!--{if $arrRecommend}-->
<div id="whobought_area">
<h2><img src="<!--{$TPL_URLPATH}-->img/title/tit_product_recommend.jpg" alt="その他のオススメ商品" /></h2>
<!--{foreach from=$arrRecommend item=arrItem name="arrRecommend"}-->
<div class="product_item">
<div class="productImage">
<a href="<!--{$smarty.const.ROOT_URLPATH}-->products/list.php?mode=search&category_id=<!--{$arrItem.category_id|h}-->&maker_id=<!--{$arrProduct.maker_id|h}-->" target="_new">
<img src="<!--{$smarty.const.ROOT_URLPATH}-->resize_image.php?image=<!--{$arrItem.main_list_image|sfNoImageMainList|h}-->&width=65&height=65" alt="<!--{$arrItem.name|h}-->" /></a>
</div>
<!--{assign var=price02_min value=`$arrItem.price02_min_inctax`}-->
<!--{assign var=price02_max value=`$arrItem.price02_max_inctax`}-->
<div class="productContents">
<h3><!--{$arrItem.name|h}--></h3>
<p class="sale_price"><!--{$smarty.const.SALE_PRICE_TITLE}-->(税込):<span class="price">
<!--{if $price02_min == $price02_max}-->
<!--{$price02_min|number_format}-->
<!--{else}-->
<!--{$price02_min|number_format}-->〜<!--{$price02_max|number_format}-->
<!--{/if}-->円</span></p>
<p class="mini"><!--{$arrItem.comment|h|nl2br}--></p>
</div>
</div><!--{* /.item *}-->
<!--{if $smarty.foreach.arrRecommend.iteration % 2 === 0}-->
<div class="clear"></div>
<!--{/if}-->
<!--{/foreach}-->
</div>
<!--{/if}-->
<!--▲関連商品-->
tamahime
投稿日時: 2012/12/12 1:07
対応状況: −−−
常連
登録日: 2012/10/15
居住地:
投稿: 44
Re: 【再度】メーカー検索結果へ別のページからリンクさせたい
すみません。
先ほど以下のように書きました。

引用:

<!--{$arrItem.category_id|h}-->

これで、「関連商品のカテゴリID番号」を取りたいのですが、


当初はカテゴリも複数指定したいと考えていましたが、
今回はそこまでやるほど時間がないため、
とりあえず「関連商品」として紹介した商品のカテゴリIDと
同じものを検索できればいいかと考えるようになりました。

あれこれ試行錯誤しているうちに
最初にこうしたいと申し上げていた内容と
変わってしまっている部分もあるかと思います。

オープンに向けて急いでおりまして、
まずはできることから実行して、
徐々に良くしていくしかないと考えているためです。
どうぞご容赦ください。
(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBEペイメント

ec-cube.co

統計情報

総メンバー数は49,358名です
総投稿数は93,177件です

投稿数ランキング

1
seasoft
7332
2
AMUAMU
2712
3
nanasess
1967
4
468
1818
5
yuh
1602
6
red
1342
7
umebius
1296
8
fukap
907
9
h_tanaka
907
10
tsuji
856
11
shutta
835
12 ramrun 789
13
tao_s
774
14 karin 656
15 sumida 641
16
homan
633
17 DELIGHT 571
18
patapata
502
19
flealog
483
20 tonton 436


ネットショップの壺

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

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