バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 新規ページにてページング機能をつけたのですが、リンクが飛びません

フロント機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
snowegg
投稿日時: 2014/3/1 20:57
対応状況: 解決済
半人前
登録日: 2014/2/25
居住地:
投稿: 12
Re: 新規ページにてページング機能をつけたのですが、リンクが飛びません
sumida様

長々とご教授いただき、本当にありがとうございました。
無事下記の方法で解決致しました。
大変感謝しております。
どうぞこれからも宜しくお願い致します。



snitta様

ご教授いただきありがとうございます。
ご指摘いただいた通り下記部分を変更したところ、無事ページングが機能致しました。

//ページ送りの取得
$urlParam = "pageno=#page#";
$objNavi = new SC_PageNavi_Ex($this->tpl_pageno, $linemax, $page_max,''return;', NAVI_PMAX, $urlParam, SC_Display_Ex::detectDevice() !== DEVICE_TYPE_MOBILE);
$this->arrPagenavi = $objNavi->arrPagenavi;

本当にありがとうございました。
また宜しくお願い致します。
snitta
投稿日時: 2014/3/1 19:25
対応状況: −−−
一人前
登録日: 2013/10/3
居住地: 島根県
投稿: 100
Re: 新規ページにてページング機能をつけたのですが、リンクが飛びません
引用:
今回レビュー一覧ページを作成し、下記URL記事を参考にページング機能を設置したところ
ページングのリンクは無事表示されたのですが、クリックしてもリンク先へ飛びません。
(エラーにもならず、ページがまったく変わらない状態です。)

参考ページ http://pro-grammer.info/archives/1258

参考になされている記事自体に誤りがあるようですね。
記事のページング処理はFORM要素が存在する事を前提にして書かれているのですが、そのFORM要素の記述がありません。

見たところフォームは必要ないですので new SC_PageNavi_Ex(...) の 'fnNaviPage' を 'return;' に変更すれば動くと思います。

この辺り:
//ページ送りの取得
$urlParam = "pageno=#page#";
$objNavi = new SC_PageNavi_Ex($this->tpl_pageno, $linemax, $page_max,'fnNaviPage', NAVI_PMAX, $urlParam, SC_Display_Ex::detectDevice() !== DEVICE_TYPE_MOBILE);
$this->arrPagenavi = $objNavi->arrPagenavi;


----------------
Seiji Nitta
zenith6@gmail.com
https://github.com/zenith6/

sumida
投稿日時: 2014/3/1 18:03
対応状況: −−−
仙人
登録日: 2013/2/10
居住地: 広島県呉市ときどき瀬戸内海
投稿: 641
Re: 新規ページにてページング機能をつけたのですが、リンクが飛びません
邪道(とりあえずの回避策)ですが、
eccube.movePage --> eccube.movePages (関数として存在しない名称)
にすると、この時点でjavascriptがたぶん止まるので、以降のreturn false;を実行しなくなり、リンクが発動しました。

根本原因は不明です。
snowegg
投稿日時: 2014/3/1 17:41
対応状況: −−−
半人前
登録日: 2014/2/25
居住地:
投稿: 12
Re: 新規ページにてページング機能をつけたのですが、リンクが飛びません
sumida様

何度もありがとうございます。
ううー。
やはりきびしいのでしょうか・・・。。

引き続き色々調べてみようと思います。
また何か少しでもお気付きになりましたら、ご返信いただけると嬉しいです。
sumida
投稿日時: 2014/3/1 17:11
対応状況: −−−
仙人
登録日: 2013/2/10
居住地: 広島県呉市ときどき瀬戸内海
投稿: 641
Re: 新規ページにてページング機能をつけたのですが、リンクが飛びません
ローカルに試してみました。
$_REQUEST['pageno']の変更はなくても展開形式も問題がないような。
アドレスバーに直接pageno付きを指定しても、(「pageno=2」)表示自体は問題ないようですね。
ただ、クリックから発動しません。ん〜〜。

追記:
リンクを直書きで試したところ、
return false;が効いているようです。
でも、他の画面は、動作しているんですよね〜〜。
snowegg
投稿日時: 2014/3/1 15:47
対応状況: −−−
半人前
登録日: 2014/2/25
居住地:
投稿: 12
Re: 新規ページにてページング機能をつけたのですが、リンクが飛びません
sumida様

ありがとうございます。

引用:

結論

$this->tpl_pageno = $_REQUEST['pageno'];

にすれば、ご希望の遷移になると思われます。


ご指摘部分を変更致しました。

//現在のページ番号取得
$this->tpl_pageno = $_REQUEST['pageno'];

結果、変わらず・・・でした。。
何度もご教授いただきとても感謝しております。

ページを見ていただいたほうが、解決の糸口は見つけやすいのでしょうか?
sumida
投稿日時: 2014/3/1 15:01
対応状況: −−−
仙人
登録日: 2013/2/10
居住地: 広島県呉市ときどき瀬戸内海
投稿: 641
Re: 新規ページにてページング機能をつけたのですが、リンクが飛びません
何となく見えてきました。
aタグのonclick属性ではなく、href属性側で遷移しているようです。
遷移後に表示するページは、urlにある「pageno=」にあります。

$this->tpl_pageno = $this->arrForm['pageno'];

上記では、
inputタグにより、遷移後に表示するベージ番号を保持していなければ、値を取得できないため、常にSC_PageNavi_Exによって、最初からの表示になっています。

追記:
EC-CUBEの作り方では、

        $objFormParam->addParam('ページ番号', 'pageno', INT_LEN, 'n', array('NUM_CHECK', 'MAX_LENGTH_CHECK'));

で、変数部分を定義し、

                $objFormParam->setParam($_REQUEST);

によって、arrFormに展開しているのでarrForm['pageno']という参照ができます。

結論

$this->tpl_pageno = $_REQUEST['pageno'];

にすれば、ご希望の遷移になると思われます。
snowegg
投稿日時: 2014/3/1 13:17
対応状況: −−−
半人前
登録日: 2014/2/25
居住地:
投稿: 12
Re: 新規ページにてページング機能をつけたのですが、リンクが飛びません
sumida様

お世話になります。ご教授いただきありがとうございます。
また、返信遅れまして申し訳御座いません。

引用:

とりあえず、関数名がv2.13で変更になっているようです。

「fnNaviPage」->「eccube.movePage」

ただ、それだけで良いのかどうかは不明ですけど。


ご指摘いただいた通り、下記赤字部分を変更致しました。

//ページ送りの取得
$urlParam = "pageno=#page#";
$objNavi = new SC_PageNavi_Ex($this->tpl_pageno, $linemax, $page_max,'eccube.movePage', NAVI_PMAX, $urlParam, SC_Display_Ex::detectDevice() !== DEVICE_TYPE_MOBILE);
$this->arrPagenavi = $objNavi->arrPagenavi;

結果は・・・まだ機能しない状態でした。
商品一覧ページのページング部分のソースhtmlを確認したところ、ご指摘通り関数名はeccube.movePageでした。

◎レビュー一覧
<strong>1</strong> <a href="?pageno=2" onclick="eccube.movePage('2'); return false;">2</a> <a href="?pageno=2" onclick="eccube.movePage('2'); return false;">次へ>></a>

◎商品一覧
<strong>1</strong> <a href="?category_id=1&pageno=2" onclick="eccube.movePage('2'); return false;">2</a> <a href="?category_id=1&pageno=2" onclick="eccube.movePage('2'); return false;">次へ>></a>

少しずつ少しずつ、答えに近づいているようです。ありがとうございます。
ページング機能の実現までもう少しだと思うのですが、
他になにか考える原因等ありますでしょうか?
ご教授の程よろしくお願い申し上げます。
sumida
投稿日時: 2014/2/27 22:23
対応状況: −−−
仙人
登録日: 2013/2/10
居住地: 広島県呉市ときどき瀬戸内海
投稿: 641
Re: 新規ページにてページング機能をつけたのですが、リンクが飛びません
とりあえず、関数名がv2.13で変更になっているようです。

「fnNaviPage」->「eccube.movePage」

ただ、それだけで良いのかどうかは不明ですけど。
snowegg
投稿日時: 2014/2/27 21:06
対応状況: −−−
半人前
登録日: 2014/2/25
居住地:
投稿: 12
Re: 新規ページにてページング機能をつけたのですが、リンクが飛びません
sumida様

何度もご返答いただき、本当にありがとうございます。
Webブラウザでソースを確認したところ、下記のタグがありました。

<script type="text/javascript" src="/cp-bin/eccube/html/js/eccube.legacy.js"></script>

どうぞ宜しくお願い致します。
(1) 2 3 »
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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.