バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > モバイルでのページ送り(<<前へ 1 | 2 | 3 | 4 | 5 次へ>>)

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
mamorca
投稿日時: 2009/6/3 14:10
対応状況: −−−
新米
登録日: 2009/6/3
居住地:
投稿: 4
モバイルでのページ送り(<<前へ 1 | 2 | 3 | 4 | 5 次へ>>)
EC-CUBEバージョン 2.3.2
PHPバージョン PHP 5.1.6
DBバージョン MySQL 5.0.45

お世話になります。

現在モバイルの商品一覧ページにて「次へ」や「前へ」だけでなく
直接ページ数のリンクを表記して移動できる機能を付けたいと考えています。

【このようなページ送り↓】
<<前へ 1 | 2 | 3 | 4 | 5 次へ>>

PCでは上記の機能があるので
モバイルに引用してみようと試みましたが
うまくいかずに悩んでいます。

試みた方法は以下の通りです。

------------------------------------------------------
【PC商品一覧ページの記述より】

<!--件数ここから-->
<!--{if $tpl_linemax > 0}-->
<p class="pagenumberarea">
<span class="pagenumber"><!--{$tpl_linemax}--></span>件の商品がございます。
<!--{$tpl_strnavi}-->
<!--{if $orderby != 'price'}-->&nbsp;
<a href="java script:fnModeSubmit('', 'orderby', 'price')">価格順</a>
<!--{else}-->
<strong>価格順</strong>
<!--{/if}-->&nbsp;
<!--{if $orderby != "date"}-->
<a href="java script:fnModeSubmit('', 'orderby', 'date')">新着順</a>
<!--{else}-->
<strong>新着順</strong>
<!--{/if}-->
</p>
<!--{/if}-->
<!--件数ここまで-->


上記記述から <!--{$tpl_strnavi}-->の部分を引用し、
/data/Smarty/templates/mobile/products/list.phpの
下部にある「次へ」「前へ」のページ送りの前に以下のように入れました。

<!--{$tpl_strnavi}-->
<!--{if isset($tpl_previous_page|smarty:nodefaults) || isset($tpl_next_page|smarty:nodefaults)}-->
<!--{if isset($tpl_previous_page|smarty:nodefaults)}-->
<a href="<!--{$tpl_previous_page|escape}-->">前へ</a>
<!--{/if}-->
<!--{if isset($tpl_previous_page|smarty:nodefaults) && isset($tpl_next_page|smarty:nodefaults)}-->

<!--{/if}-->
<!--{if isset($tpl_next_page|smarty:nodefaults)}-->
<a href="<!--{$tpl_next_page|escape}-->">次へ</a>
<!--{/if}-->

------------------------------------------------------

以上のように表記すると
1 | 2 | 3 | 4 次へ>>というリンクは表示されるものの
1、2、3、4、次へ>>、どれを押しても
各カテゴリの商品一覧ページの1ページ目に飛んでしまいます。
(予め設置されてる「次へ」「前へ」のページ送りは機能します)

PCでの記述を丸々引用しても機能しないのでは…
とは予測していたのですが、なにせPHPの知識が乏しいもので
以上を試みるのが精一杯でした(苦笑)

どなたかご教授の程、宜しくお願い致します!

長文失礼いたしました。
seasoft
投稿日時: 2009/6/3 14:19
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: モバイルでのページ送り(<<前へ 1 | 2 | 3 | 4 | 5 次へ>>)
実行した結果の HTML が貼ってあると、状況を想像しやすいです。

PCのコードは、JavaScript でページ番号をセットして、HTTP POST する実装だったと思います。
モバイルは $_REQUEST で受け取っていたと思ったので、POST でも GET でも受け取れると思いますので、当該箇所を、HTML でフォームを使って表現するか、リンクとして URL で表現する必要があると思います。


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

mamorca
投稿日時: 2009/6/3 16:56
対応状況: −−−
新米
登録日: 2009/6/3
居住地:
投稿: 4
Re: モバイルでのページ送り(<<前へ 1 | 2 | 3 | 4 | 5 次へ>>)
seasoft様

さっそくの返信&ご指摘ありがとうございます。

>実行した結果の HTML が貼ってあると、状況を想像しやすいです。
上記のご指摘のとおり、実行した結果のHTMLを貼らせていただきます。

-------------------------------------------------
【質問で載せた記述の実行結果HTML】
<strong>1</strong> | <a href="/mobile/products/list.php?PHPSESSID=3gegt63ma9j9p9shs8eio71kr5" onclick="form1.mode.value=''; fnNaviPage('2'); return false;">2</a> | <a href="/mobile/products/list.php?PHPSESSID=3gegt63ma9j9p9shs8eio71kr5" onclick="form1.mode.value=''; fnNaviPage('3'); return false;">3</a> | <a href="/mobile/products/list.php?PHPSESSID=3gegt63ma9j9p9shs8eio71kr5" onclick="form1.mode.value=''; fnNaviPage('4'); return false;">4</a> <a href="/mobile/products/list.php?PHPSESSID=3gegt63ma9j9p9shs8eio71kr5" onclick="form1.mode.value=''; fnNaviPage('2'); return false;">次へ>></a>

<a href="/mobile/products/list.php?category_id=42&orderby=&pageno=2&PHPSESSID=3gegt63ma9j9p9shs8eio71kr5">次へ</a>
<br>

-------------------------------------------------

見づらくて申し訳ないです…。
加えて、ご指摘頂いた上に大変恐縮なのですが

>POST でも GET でも受け取れる
>HTML でフォームを使って表現する
>リンクとして URL で表現

という方法が具体的にどの部分をどのように編集したらよいかが
全く解らない状態です。(申し訳ないです;;;)

情報が不足している点などありましたらまたご指摘願います。

知識や表記等、至らない点が多いかとは思いますが
ご教授宜しくお願い致します。
seasoft
投稿日時: 2009/6/3 17:11
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: モバイルでのページ送り(<<前へ 1 | 2 | 3 | 4 | 5 次へ>>)
自分で実装するのは簡単なのですが、分かるように教えるとなるとなかなか難しいですね・・・

とりあえず、
・HTTP のリクエストについて (主に GET と POST の違い)
・JavaScript の読解
・モバイル固有の知識 (主に JavaScript の利用に関する制約)
辺りを勉強すると見通しがつくのかなと思います。

現状のコードですと、JavaScript が動作することを期待した実装になっていますが、多くのモバイル端末ではそれを期待するのは難しいと思います。


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

mamorca
投稿日時: 2009/6/3 17:27
対応状況: −−−
新米
登録日: 2009/6/3
居住地:
投稿: 4
Re: モバイルでのページ送り(<<前へ 1 | 2 | 3 | 4 | 5 次へ>>)
>自分で実装するのは簡単なのですが、分かるように教えるとなるとなかなか難しいですね・・・

確かにその通りだと思います(苦笑)

・HTTP のリクエストについて (主に GET と POST の違い)
・JavaScript の読解
・モバイル固有の知識 (主に JavaScript の利用に関する制約)
この点につきましては努力いたします(笑)

ただ、どの部分(どこの階層?)のファイルの記述を
編集すればよいのかお教えいただけますと幸いです。

質問ばかりで申し訳ないです;;;
seasoft
投稿日時: 2009/6/3 17:38
対応状況: −−−
登録日: 2008/6/4
居住地:
投稿: 7367
Re: モバイルでのページ送り(<<前へ 1 | 2 | 3 | 4 | 5 次へ>>)
テンプレートは、そのファイルで合っています。

ロジックを変更する必要が生じた場合は、
/data/class_extends/page_extends/products/LC_Page_Products_List_Ex.php
/data/class/pages/products/LC_Page_Products_List.php
あたりが主になると思います。


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

mamorca
投稿日時: 2009/6/3 17:47
対応状況: −−−
新米
登録日: 2009/6/3
居住地:
投稿: 4
Re: モバイルでのページ送り(<<前へ 1 | 2 | 3 | 4 | 5 次へ>>)
seasoft様

頂いたご指摘を参考に、試してみようと思います!

進展等ありましたら再度こちらに投稿させていただきます。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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
1295
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.