ログイン
新規登録
パスワード紛失
メインメニュー
フォーラム
オンライン状況
32 人のユーザが現在オンラインです。 (24 人のユーザが フォーラム を参照しています。)
登録ユーザ: 2
ゲスト: 30
bigslope, montero, もっと...
左ナビ広告

デザインテンプレート EC-CUBE3.0版が登場!
広告掲載について
質問 > フロント機能 > アクセスランキング一覧ページを(LC_Page_Products_List.php)を使用して作成した時の順位の表示方法**2ページ以降での順位の表示方法の設定
フロント機能
新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
spgo
投稿日時: 2017-1-10 17:34
対応状況: −−−
常連
登録日: 2011-6-30
居住地:
投稿: 68
アクセスランキング一覧ページを(LC_Page_Products_List.php)を使用して作成した時の順位の表示方法**2ページ以降での順位の表示方法の設定
大変お世話になっております。どうか、アドバイス、ご教授よろしくお願い致します。

既存の一覧ページ用php(LC_Page_Products_List.php)を使用して、アクセスランキング用一覧ページを作成しようとしております。

質問させて頂きたいことは、テンプレート上に表示させる順位である$rankをsc_product.phpから呼び出そうとしてできないということであります。

以下の設定ですと、sc_product.phpのfunction lists、およびfunction alldtlSQLにdtb_products.plg_countを配置し試しておりますが、アクセス数の順位のかわりにproduct_idに1が加算された番号が順位の箇所に表示されます。


<!--{foreach from=$arrProducts key=myId item=i}-->

<!--{assign var=rank value=$myId+1}-->

<font >第<!--{$rank}-->位</font>

<!--{/foreach}-->

どのファイルにどのような設定をすれば、(LC_Page_Products_List.php)を使用してアクセス数の順位を表示できるかご教授頂けませんでしょうか。

EC-CUBE:2.12.5
サーバー: Apache2.2.3
データベース: MySQL 5.0
PHP: 5.2.9
tao_s
投稿日時: 2017-1-10 18:20
対応状況: −−−
仙人
登録日: 2008-8-20
居住地: 東京
投稿: 596
Re: アクセスランキング一覧ページを(LC_Page_Products_List.php)を使用して作成した時の順位の表示方法
そもそもアクセス数はどのテーブルのどこに保存しているのですか?


----------------
EC-CUBEカスタマイズ相談してください。
緊急のEC-CUBEの障害対応はこちら。
開発ブログ(EC-CUBEなどオープンソース)

468
投稿日時: 2017-1-10 18:27
対応状況: −−−
長老
登録日: 2008-10-26
居住地:
投稿: 284
Re: アクセスランキング一覧ページを(LC_Page_Products_List.php)を使用して作成した時の順位の表示方法
list.tplに記述を追記される予定でしょうか?
foreachで囲まれてる範囲で
<!--{$i.plg_count|u}-->
でpgl_countが表示されませんか?

$iに商品1行の配列がセットされていると思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
■360°画像ビューワーimg360
■ECCUBE技術資料shiro8-weblog

spgo
投稿日時: 2017-1-10 22:30
対応状況: −−−
常連
登録日: 2011-6-30
居住地:
投稿: 68
Re: アクセスランキング一覧ページを(LC_Page_Products_List.php)を使用して作成した時の順位の表示方法
468様、tao_s様、

ご教授感謝いたします。

Dtb_productsのplg_countにアクセス数がカウントされるようになっております。

また、<!--{$i.plg_count|u}-->では実際のアクセス数が表示され、順位は表示されないようです。順位を計算する設定はどこにあるのでしょうか。

トップページに作成したアクセスランキングのブロックでは以下のsmartyとphpでアクセスの順位を表示させます。

/Smarty

<!--{foreach from=$arrRanking key=myId item=i}-->

<!--{assign var=rank value=$myId+1}-->
<font >第<!--{$rank}-->位</font>

<!--{/foreach}-->

/Php

$this->arrRanking = $this->lfGetRanking();
function lfGetRanking(){
$objQuery = new SC_Query();
$col = "p.name, p.main_list_image, p.product_id, p.plg_count, ca.category_id";
$from = "dtb_products AS p
INNER JOIN dtb_product_categories AS ca ON p.product_id = ca.product_id
INNER JOIN dtb_category AS ct ON ca.category_id = ct.category_id ";
$objQuery->setorder("p.plg_count DESC");
$objQuery->setlimit(10);
return $objQuery->select($col, $from, $where);

何かお分かりになりますでしょうか。
468
投稿日時: 2017-1-10 23:13
対応状況: −−−
長老
登録日: 2008-10-26
居住地:
投稿: 284
Re: アクセスランキング一覧ページを(LC_Page_Products_List.php)を使用して作成した時の順位の表示方法
すみません。カウント数と勘違いしていました。

データを取り出した時にアクセス数の降順に並び替えられているようですので、
ループの回数が取得出来れば良いでしょうか?
foreachでnameを指定して、そのnameに対して、iterationでループ回数を取得できます。(このあたりはsmartyの機能です)
<!--{foreach from=$arrRanking key=myId item=i name=foo}-->
<!--{$smarty.foreach.foo.iteration-->
<!--{/foreach}-->

以下の記述でrank変数に代入できるか分かりませんが、
たぶん、こういった記述になると思います。
<!--{assign var=rank value=$smarty.foreach.foo.iteration}-->

あと、カウントは1から始まる仕様だったと思います。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
■360°画像ビューワーimg360
■ECCUBE技術資料shiro8-weblog

spgo
投稿日時: 2017-1-11 0:03
対応状況: −−−
常連
登録日: 2011-6-30
居住地:
投稿: 68
Re: アクセスランキング一覧ページを(LC_Page_Products_List.php)を使用して作成した時の順位の表示方法
468様、tao_s様、

順位をsc_product.php経由で表示できました。

本当に感謝いたします。

ありがとうございます。
spgo
投稿日時: 2017-1-11 11:54
対応状況: −−−
常連
登録日: 2011-6-30
居住地:
投稿: 68
Re: アクセスランキング一覧ページを(LC_Page_Products_List.php)を使用して作成した時の順位の表示方法**2ページ以降での順位の表示方法の設定
468様、

大変申し訳ございませんが、新たな問題が発生しておりまして、ページング機能で左下の<<2,3,4>>の2をクリックして次ページに移行すると、その2ページ目では1ページのランキングの一番最後のランキングの番号の次の番号のランキングの商品を表示できるのですが、表示されるランキング番号が再度1から始まってしまいます。

例えば1ページ目のランキングの最後尾が15であれば、2ページ目の最初の商品のランキングが16でなければならないものが(表示される商品自体はランキングが16のものですが)1が表示されます。

ページング機能でランキングの順位を次ページにそのまま引き渡す設定にかかわる事だと思われますが、何か対処策はございますでしょうか。

以下は本件に関わる現状の設定です。

<form name="form1" id="form1" method="get" action="?">
<input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
<!--{* ▼検索条件 *}-->
<input type="hidden" name="category_id" value="<!--{$arrSearchData.category_id|h}-->" />
<input type="hidden" name="name" value="<!--{$arrSearchData.name|h}-->" />
<input type="hidden" name="orderby" value="<!--{$orderby|h}-->" />
<input type="hidden" name="disp_number" value="<!--{$disp_number|h}-->" />
<input type="hidden" name="pageno" value="<!--{$tpl_pageno|h}-->" />
<input type="hidden" name="rnd" value="<!--{$tpl_rnd|h}-->" />
</form>

<!--{foreach from=$arrProducts key=myId item=i name=foo}-->

<!--{assign var=rank value=$smarty.foreach.foo.iteration}-->
<p><!--{$rank}-->位</p>

<!--{/foreach}-->

<div class="navi"><!--{$tpl_strnavi}--></div>

<form name="page_navi_top" id="page_navi_top" action="?">
<input type="hidden" name="<!--{$smarty.const.TRANSACTION_ID_NAME}-->" value="<!--{$transactionid}-->" />
<!--{if $tpl_linemax > 14}--><!--{$smarty.capture.page_navi_body|smarty:nodefaults}--><!--{/if}-->
</form>
468
投稿日時: 2017-1-11 12:56
対応状況: −−−
長老
登録日: 2008-10-26
居住地:
投稿: 284
Re: アクセスランキング一覧ページを(LC_Page_Products_List.php)を使用して作成した時の順位の表示方法**2ページ以降での順位の表示方法の設定
現在、テストして確認出来る環境が無いので、取り急ぎ、予測での回答になりますが、
以下の部分をページ数に合わせて計算させてやればいいかと思います。
<!--{assign var=rank value=$smarty.foreach.foo.iteration + ($disp_number * ($tpl_pageno - 1))}-->


$tpl_pageno = 現在のページ数
$disp_number = 1ページあたりの件数
と予想して記述しております。

計算式の記述がこのままだとエラーが出るかもしれませんので、
エラーが出るようであれば、smartyで変数に計算結果をセットする方法を調べていただいたほうがいいかもしれません・・・。


----------------
株式会社シロハチ
■ECCUBE2系、3系構築カスタマイズご相談ください。
■360°画像ビューワーimg360
■ECCUBE技術資料shiro8-weblog

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

 

デザインテンプレート EC-CUBE2.13版が登場!
EC-CUBEペイメント

EC-CUBEクラウド

ネットショップの壺

EC-CUBEガイドブック

統計情報
総メンバー数は19,097名です
総投稿数は78,785件です

投稿数ランキング
1
seasoft
7331
2
AMUAMU
2712
3
nanasess
1611
4
yuh
1280
5
red
1012
6
fukap
907
7
shutta
827
8 ramrun 789
9
tsuji
778
10 sumida 634
11
homan
633
12 karin 606
13
tao_s
596
14 DELIGHT 571
15
patapata
502
16
flealog
483
17 tonton 436
18
ecbg
387
19
kishik
382
20
tanaca
332
21
x41
308
22
DDR
292
23
pineray
288
24 MPV 287
25
468
284
26
ytk
278
27 tacky 277
28
habu
274
29 arts 268
30
umebius
258
31
ECCUORE
248
32
pantacle
242
33 mizuvan 242
34
bratech
222
35
55eccube
222
36 ken-o 222
37
kvex2004
213
38
casa
210
39
osamusi
202
40 Masashige 200
41
namahage
198
42
NSX-R
197
43 yukikaze 195
44 popo 189
45 by0448 186
46
aska824
185
47 greanpice 180
48
k-kuwahara
175
49
sakurai07
172
50 nkta 166
Copyright© LOCKON CO.,LTD. All Rights Reserved.