バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > ECCUBEのブロックでタブパネルを作成することは可能でしょうか?

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
spgo
投稿日時: 2012/8/30 13:24
対応状況: −−−
一人前
登録日: 2011/6/30
居住地:
投稿: 73
ECCUBEのブロックでタブパネルを作成することは可能でしょうか?
ご多忙の中、恐縮でございますが、どなたかお知恵を拝借頂く事は可能でしょうか。

システム環境
[eccube] 2.12
[MySQL] 5.0.77
[PHP] 5.2.9

Eccubeのブロックでタブパネル機能を使用できないかどうかと考えております。たとえば、そのタブパネルブロック内のタブ1には新着商品5品の横並び、そしてタブ2には売り上げランキング5品の横並びといった感じです。

その場合、そのタブパネルブロック、つまりtabpanel.tplにおけるphp_pathはどのようにしたら宜しいのでしょうか。

つまり複数のタブ内の機能には各々のphp_pathを使用しなければいけませんが(例えば、新着商品用のphp_path、あるいは売り上げランキング用のphp_path)、タブパネルブロックには一つのphp_pathしか使用できないと思われます。

どのように使い分けたらよろしいのでしょうか。

あるいは、私がやろうとしていることに関して、他の違った方法があるのでしょうか?

理解不足で申し訳ございませんが、宜しくお願い申し上げます。
marugizmo
投稿日時: 2012/8/30 19:37
対応状況: −−−
一人前
登録日: 2012/4/6
居住地:
投稿: 147
Re: ECCUBEのブロックでタブパネルを作成することは可能でしょうか?
こんにちは

よくあるJavascriptのタブ切り替えはタブ全てのコンテンツを生成しておいて、「タブでどれを見せるかを切り替える」というのがほとんどです。

ですので、PHPで新着商品、ランキング両方の内容を生成しておいて、テンプレート側のタブで切り替えるということになります。


----------------
Norihiro Maruoka
Wear Net

spgo
投稿日時: 2012/8/31 15:32
対応状況: −−−
一人前
登録日: 2011/6/30
居住地:
投稿: 73
Re: ECCUBEのブロックでタブパネルを作成することは可能でしょうか?
marugizmo様

お忙しい中お時間頂きまして、そして本件に関してご教授頂きまして大変感謝いたしております。ありがとうございます。

理解力が低くて大変もうしわけございませんが、

>テンプレート側のタブで切り替えるということになります。

とは具体的にどうすれば宜しいのでしょうか。

ご指摘の通り、新着商品、ランキング等のブロックは作成しております。この既存のブロックをタブパネルのブロック内で表示させるということでしょうか。

その場合、下記の様な記述の?の部分に、新着商品、ランキングのブロックで作成した記述をそのまま挿入するのではなくて、どのようにしたら宜しいのでしょうか。

tabpanel.tpl(タブパネル用に作成したブロック)内の記述*****

<div id="container">
<ul class="tab">
<li><a href="#tab1" class="selected">新着商品</a></li>
<li><a href="#tab2">ランキング</a></li>
</ul>
<ul class="panel">
<li id="tab1">?</li>
<li id="tab2">?</li>
</ul>
</div>

***********************************
marugizmo
投稿日時: 2012/8/31 16:30
対応状況: −−−
一人前
登録日: 2012/4/6
居住地:
投稿: 147
Re: ECCUBEのブロックでタブパネルを作成することは可能でしょうか?
こんにちは。

<li id="tab1">?</li>の中にはtab1で表示させたい内容が入ります。
同様に、<li id="tab2">?</li>にはtab2で表示させたい内容が入ります。

ですので、tabpanel.tplに内容を渡すのがtabpanel.phpだとすると、tabpanel.phpはtab1、tab2に入る両方の内容をtabpanel.tplに渡す必要があるわけです。

そのうえで、jQueryなどで最初のデフォルトで
tab1 display:block;
tab2 display:none;
とかしておきます。※tab1が表示される。

そのうえで、li#tab2をクリックしたら
tab1 display:none;
tab2 display:block;
と切り替えるようにします。※tab2が表示される。

li#tab1をクリックしたら、デフォルト状態に戻るようにしてください。
この辺はjQueryなどでプログラムするか、jQueryのプラグインを使われると良いのではないでしょうか。


----------------
Norihiro Maruoka
Wear Net

spgo
投稿日時: 2012/8/31 20:14
対応状況: −−−
一人前
登録日: 2011/6/30
居住地:
投稿: 73
Re: ECCUBEのブロックでタブパネルを作成することは可能でしょうか?
marugizmo様

ご丁寧かつ詳細なご指導感謝いたします。

整理させて頂きたいのですが、

私は既に新着商品、ランキングブロックを作成し、トップページで表示させておりますが、その上でスペースを省くためにタブパネルを検討いたしました。

そして、前回頂きましたご回答からですと、下記の?内には既に作成した新着商品(new_products.tpl)、およびランキング(ranking.tpl)ブロックの内容をそのまま貼り付ければいいということですよね?

例えば以下の様な記述を?内にそのまま貼り付けるということですよね?

<!--{if count($arrNewProducts) > 0}-->
<div class="bloc_outer clearfix">
<div id="newproducts_area">
<!--{section name=cnt loop=$arrNewProducts step=2}-->
・・・・・・・・・


tabpanel.tpl(タブパネル用に作成したブロック)内の記述*****

<div id="container">
<ul class="tab">
<li><a href="#tab1" class="selected">新着商品</a></li>
<li><a href="#tab2">ランキング</a></li>
</ul>
<ul class="panel">
<li id="tab1">?</li>
<li id="tab2">?</li>
</ul>
</div>

***********************************

その上でtabpanel.phpを作成し、新着商品、およびランキングのphpで記述した内容を貼り付けるということでしょうか?

html/frontparts/bloc/new_products.php
html/frontparts/bloc/ranking.php
       ↓
html/frontparts/bloc/tabpanel.php

複雑になってしまい申し訳ございません。

marugizmo
投稿日時: 2012/9/1 10:33
対応状況: −−−
一人前
登録日: 2012/4/6
居住地:
投稿: 147
Re: ECCUBEのブロックでタブパネルを作成することは可能でしょうか?
こんにちは。
理解されている内容で問題ないと思います。

tabpanel.phpを作成される際、変数などにご注意ください。

jQueryUIを使ったタブパネルの分かりやすい例がありました。
http://5am.jp/jquery/jquery_ui_tabs/


----------------
Norihiro Maruoka
Wear Net

spgo
投稿日時: 2012/9/2 21:14
対応状況: −−−
一人前
登録日: 2011/6/30
居住地:
投稿: 73
Re: ECCUBEのブロックでタブパネルを作成することは可能でしょうか?
marugizmo様

ご教授そして、jQueryUI関連の情報ありがとうございます。

私は前回ご質問させて頂きましたhtml/frontparts/bloc/tabpanel.phpの作り方で問題に直面しております。

tabpanel.phpの中にはhtml/frontparts/bloc/new_products.php、およびhtml/frontparts/bloc/ranking.phpの内容を盛り込むということでしたが、tabpanel.phpを作成する際、以下のnew_products.phpの内容にどのようにranking.phpの内容を盛り込めばよろしいのでしょうか?

いろいろ試しておりますがうまくいきません。そのままnew_products.phpの下にranking.phpを付け加えたり、あるいはrequire_once(CLASS_EX_REALDIR .・・・、および$objPage = new・・・から続く箇所にranking.phpの”それ”を付け加えたりと、どうにもわかりません。

どのように記述したらよろしいかご教授頂けませんでしょうか?


<?php
// {{{ requires
require_once realpath(dirname(__FILE__)) . '/../../require.php';
require_once(CLASS_EX_REALDIR . "page_extends/frontparts/bloc/LC_Page_FrontParts_Bloc_New_Products_Ex.php");

// }}}
// {{{ generate page

$objPage = new LC_Page_FrontParts_Bloc_New_Products_Ex();
$objPage->blocItems = $params['items'];
register_shutdown_function(array($objPage, "destroy"));
$objPage->init();
$objPage->process();

?>

spgo
投稿日時: 2012/9/5 16:20
対応状況: −−−
一人前
登録日: 2011/6/30
居住地:
投稿: 73
Re: ECCUBEのブロックでタブパネルを作成することは可能でしょうか?
いつもお世話になっております。またご多忙の中恐縮です。


現在、ECCubeのブロック上でタブパネルを機能させようとしております。その各タブには例えば、新着商品、ランキングといった既にブロックを作成したもの(既にトップページで表示している)を表示出来るようにしたいと考えております。

この場合、新着商品(html/frontparts/bloc/new_products.php)、そしてランキング(html/frontparts/bloc/ranking.php)のphpの内容を盛り込まなければならないタブパネルブロック用のphp(html/frontparts/bloc/tabpanel.php)はどのように記述すればよろしいか、

どなたかアドバイス等を頂けませんでしょうか?

以下の様に記述いたしましたが、駄目なようです。


****** html/frontparts/bloc/tabpanel.php *********

<?php
// {{{ requires
require_once realpath(dirname(__FILE__)) . '/../../require.php';
require_once(CLASS_EX_REALDIR . "page_extends/frontparts/bloc/LC_Page_FrontParts_Bloc_New_Products_Ex.php",
"page_extends/frontparts/bloc/LC_Page_FrontParts_Bloc_Ranking_Ex.php");

// }}}
// {{{ generate page

$objPage = new LC_Page_FrontParts_Bloc_New_Products_Ex(),new LC_Page_FrontParts_Bloc_Ranking_Ex();
$objPage->blocItems = $params['items'];
register_shutdown_function(array($objPage, "destroy"));
$objPage->init();
$objPage->process();

?>
marugizmo
投稿日時: 2012/9/7 14:11
対応状況: −−−
一人前
登録日: 2012/4/6
居住地:
投稿: 147
Re: ECCUBEのブロックでタブパネルを作成することは可能でしょうか?
こんにちは。

tabpanel.phpを作成する場合、単純に両方並べただけでは動かないと思います。

ファンクションなどをきちんと把握しながら、tabpanel.phpを作成する必要があります。
あと、dtb_blocなどDBの調整も必要です。


----------------
Norihiro Maruoka
Wear Net

spgo
投稿日時: 2012/9/20 12:15
対応状況: −−−
一人前
登録日: 2011/6/30
居住地:
投稿: 73
Re: ECCUBEのブロックでタブパネルを作成することは可能でしょうか?
よろしくお願いします。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は89,390名です
総投稿数は110,082件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1652
8
red
1570
9
mcontact
1304
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.