バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > 管理機能 > カテゴリメニュの最後の項目を取得したいのですが?

管理機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
y758w
投稿日時: 2010/10/13 21:44
対応状況: −−−
新米
登録日: 2010/10/6
居住地:
投稿: 5
カテゴリメニュの最後の項目を取得したいのですが?
みなさんコンニチハ。
今週から初めてec-cubeを触り、カスタマイズに挑戦中のy758wです。
サイトを色々探したのですがわからなくて質問です。
-------------------------------------------------
■<目的>下記のようにカテゴリメニュ(自動生成)を開いた際に項目の頭に「├」を付けて最後の項目だけ「└」を付けたい。

親カテゴリ
├ 子商品1
├ 子商品2
└ 子商品3(※最後の項目だけ頭に「└」を付けたい)


現在下記の■ソースの状態ですが、具体的にどう修正して良いやらわかりません。
↓●●に何か入れれば良いのか違うのかさえ。
--------------------------------------------------------------
例えば、最後の「子メニュタグ」(今回aタグ)にだけ、class="last"を追加。

<a class="<!--{if●●}-->last<!--{/if}-->" 〜省略〜></a>みたいな?
--------------------------------------------------------------
または「最後だったら」aタグの前に「└」を追加する。

<!--{if●●}-->└<!--{/if}--><a 〜省略〜></a>みたいな?
--------------------------------------------------------------

もしくはもっと簡単な方法ありますか?(cssのlast-child、jQuery等以外で)

申し訳ありませんが教えて頂けないでしょうか?
何だか説明が分かりにくくてスイマセン。
宜しくお願いいたします。




■現状の部分ソース
===============================================================
<script type="text/javascript">
<!--
flag = false;
function treeMenu(tName) {
tMenu = document.all[tName].style;
if(tMenu.display == 'none') tMenu.display = "block";
else tMenu.display = "none";
}
//-->
</script>

<!--商品カテゴリーここから-->

<ul id="categorytree">
<!--{assign var=preLev value=0}-->
<!--{assign var=firstdone value=0}-->
<!--{assign var=PTreeCnt value=1}-->
<!--{section name=cnt loop=$arrTree}-->
<!--{assign var=level value=`$arrTree[cnt].level`}-->
<!--{if $level == 1 && $preLev > 0}-->
</div>
</div>
<!--{/if}-->

<!--{if $level == 1}-->
<li><a href = "java script:treeMenu('treeMenu<!--{$PTreeCnt}-->')"><!--{$arrTree[cnt].category_name|escape}--></a></li>
<div id ="treeMenu<!--{$PTreeCnt}-->" style="display:none">
<!--{assign var=PTreeCnt value=`$PTreeCnt+1`}-->
<div class="level2">
<!--{/if}-->
<!--{if $level > 1}-->
<a href="<!--{$smarty.const.URL_DIR}-->products/list.php?category_id=<!--{$arrTree[cnt].category_id}-->"><!--{$arrTree[cnt].category_name|escape}--></a>
<br />
<!--{/if}-->
<!--{assign var=preLev value=`$level`}-->

<!--{/section}-->
</div>
</div>
</ul>

<!--商品カテゴリーここまで-->
===============================================================
ecbg
投稿日時: 2010/10/14 1:08
対応状況: −−−
仙人
登録日: 2009/2/25
居住地: 東京
投稿: 387
Re: カテゴリメニュの最後の項目を取得したいのですが?
うる覚えですが、sectionの中に繰り返しの最終回を取得するlastというものがあったと思うので、それが使えるかもです。
↓こんな感じだったかと・・・nameは宣言したsectionのnameです

$smarty.section.name.last
y758w
投稿日時: 2010/10/14 6:16
対応状況: −−−
新米
登録日: 2010/10/6
居住地:
投稿: 5
Re: カテゴリメニュの最後の項目を取得したいのですが?
ありがとうございます。

試にループの<a>タグの前に
<!--{if $smarty.section.cnt.last}-->└<!--{else}-->├<!--{/if}-->
と書いてみたのですが。結果

<●目的の表示>==============

親カテゴリA
└ 子商品1

親カテゴリB
├ 子商品1
└ 子商品2

親カテゴリC
├ 子商品1
├ 子商品2
└ 子商品3

<●現状結果>==============

親カテゴリA
├ 子商品1(ラスト取得×)

親カテゴリB
├ 子商品1
├ 子商品2(ラスト取得×)

親カテゴリC
├ 子商品1
├ 子商品2
└ 子商品3(※ラスト取得◎)

==============

あたりまえですよね。1、section毎なんですよね。

私の説明不足でスイマセン。

又、親カテゴリAは商品が1個のみで、1個のみもlastとして扱えますかねえ?

ヒントでも構わないのでどなたかご教授頂きたく、宜しくお願いいたします。
DELIGHT
投稿日時: 2010/10/14 11:23
対応状況: −−−
仙人
登録日: 2010/2/3
居住地: 熊本県・九州・長野県・関東甲信越
投稿: 572
Re: カテゴリメニュの最後の項目を取得したいのですが?
次のカテゴリが親カテゴリであるか、無い(自分が最後の要素)場合に、「└」を出力するようにしてみるとかどうですかね?
例えば、

<!--商品カテゴリーここから-->
<!--{section name=cnt loop=$arrTree}-->

<!--{if $arrTree[cnt].parent_category_id != 0 }-->
<!--{assign var="cnt2" value=`$smarty.section.cnt.index+1`}-->
<!--{ if !$arrTree[$cnt2] || ($arrTree[$cnt2].parent_category_id == 0)}-->

<!--{else}-->

<!--{/if}-->
<!--{/if}-->
<!--{$arrTree[cnt].category_name}--><br>
<!--{/section}-->
<!--商品カテゴリーここまで-->

こんな感じでしょうか?
※デフォルトのカテゴリブロックを編集しました。

確認Ver
----------
EC-CUBEバージョン 2.4.3
PHPバージョン PHP 5.2.9
DBバージョン PostgreSQL 8.3.7


----------------
+ DAISY inc. -------------------- +
EC-CUBE構築・カスタマイズサービス
EC・WEB構築などお気軽にご相談ください。

デイジー株式会社
http://daisy.link/

y758w
投稿日時: 2010/11/8 13:21
対応状況: −−−
新米
登録日: 2010/10/6
居住地:
投稿: 5
Re: カテゴリメニュの最後の項目を取得したいのですが?
返信したつもりが返信出来ておりませんでした。すいません。

次のカテゴリが親カテゴリであるか、無いかでの振り分けで
無事解決しました。
本当に助かりました。

ecbgさん、DELIGHT さん ありがとうございました。
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は89,389名です
総投稿数は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.