バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 大カテゴリ・中カテゴリの作り方

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
sam2013
投稿日時: 2013/5/29 20:44
対応状況: −−−
長老
登録日: 2013/5/20
居住地:
投稿: 152
大カテゴリ・中カテゴリの作り方
お世話になっております。

いつも助かっております。

[EC-CUBE] 正式版(Ver2.12.4)
[レンタルサーバ] data-hotel.net
[PHP] PHP Version 5.2.13
[データベース] MySQL 5.0.83
[WEBサーバ] Localhost via UNIX socket

下記のソースを見るとわかるのですが
Tシャツという大カテゴリの中に
中カテゴリの例えばブランド名とか
入れたいのですが、下記のコードを複製すれば可能かと思いましたがそうではありませんでした。
管理画面等で大カテゴリ・中カテゴリの設定ができないでしょうか。
今のところ調べた限りではわかりませんでしたのでご教授願いたいです。
<div class="subTitle01"><h2>Tシャツ</h2></div>
<div class="categoryAreaList">
<!--{strip}-->
<ul id="categorytree">
<!--{assign var=preLev value=1}-->
<!--{assign var=firstdone value=0}-->
<!--{section name=cnt loop=$arrTree}-->
<!--{* 表示フラグがTRUEなら表示 *}-->
<!--{if $arrTree[cnt].display == 1}-->
<!--{assign var=level value=`$arrTree[cnt].level`}-->
<!--{assign var=levdiff value=`$level-$preLev`}-->
<!--{if $levdiff > 0}-->
<ul>
<!--{elseif $levdiff == 0 && $firstdone == 1}-->
</li>
<!--{elseif $levdiff < 0}-->
<!--{section name=d loop=`$levdiff*-1`}-->
</li>
</ul>
<!--{/section}-->
</li>
<!--{/if}-->
<li class="level<!--{$level}--><!--{if in_array($arrTree[cnt].category_id, $tpl_category_id)}--> onmark<!--{/if}-->">
<p>
<a href="<!--{$smarty.const.ROOT_URLPATH}-->products/list.php?category_id=<!--{$arrTree[cnt].category_id}-->"<!--{if in_array($arrTree[cnt].category_id, $tpl_category_id)}--> class="onlink"<!--{/if}-->><!--{$arrTree[cnt].category_name|h}-->(<!--{$arrTree[cnt].product_count|default:0}-->)</a>
</p>
<!--{if $firstdone == 0}--><!--{assign var=firstdone value=1}--><!--{/if}-->
<!--{assign var=preLev value=`$level`}-->
<!--{/if}-->
<!--{* セクションの最後に閉じタグを追加 *}-->
<!--{if $smarty.section.cnt.last}-->
<!--{if $preLev-1 > 0}-->
<!--{section name=d loop=`$preLev-1`}-->
</li>
</ul>
<!--{/section}-->
</li>
<!--{else}-->
</li>
<!--{/if}-->
<!--{/if}-->
<!--{/section}-->
</ul>
<!--{/strip}-->
</div>
以下複製↓

そもそも大カテゴリがここでは画像なのでクリックもできませんね。
改善頑張ります
dimaggio
投稿日時: 2013/5/30 7:51
対応状況: −−−
一人前
登録日: 2011/3/30
居住地: Tokyo
投稿: 120
Re: 大カテゴリ・中カテゴリの作り方
管理画面の「商品管理」→「カテゴリ登録」で、
Tシャツというカテゴリ名(リンク状態)をクリックし、
その上で上部にある入力フィールドにブランド名を入れて登録ボタンを押下すると子カテゴリとして登録ができると思います。
添付されているプログラムはこうして階層化されたカテゴリを階層を維持して表示する為のものです。

外していたらすみません。


----------------
dimaggio
----------------------------
EC-CUBEのご相談、承ります。
http://ec-cube.bitmop.co.jp/

sam2013
投稿日時: 2013/5/30 10:37
対応状況: −−−
長老
登録日: 2013/5/20
居住地:
投稿: 152
Re: 大カテゴリ・中カテゴリの作り方
早急な対応ありがとうございました。
確認してためしたところできました。
が大カテゴリのみ表示になっており希望としては
中小カテゴリも格納されずに全部表示してほしかったのですが
結構難しいのでしょうか。
何卒宜しくお願いします
namahage
投稿日時: 2013/5/30 11:20
対応状況: −−−
長老
登録日: 2013/2/28
居住地: 大阪
投稿: 198
Re: 大カテゴリ・中カテゴリの作り方
sam2013
投稿日時: 2013/5/30 11:58
対応状況: −−−
長老
登録日: 2013/5/20
居住地:
投稿: 152
Re: 大カテゴリ・中カテゴリの作り方
<!--{* if $arrTree[cnt].display == 1 *}-->

<!--{* /if *}-->

↑ここの部分を変えましたがレイアウトが崩れてしまいました。

すべて大カテゴリにするという方法を思いついたのですが、
何か不具合は出てきますでしょうか。

なぜなら大中小とわけてしまうと
点線が一部表示、矢印マークが全部につかないというバグがおきます。
fireBUG等で見てみましたがCSS上での設定ではないので
画像参照していただけると幸いでございます
namahage
投稿日時: 2013/5/30 12:47
対応状況: −−−
長老
登録日: 2013/2/28
居住地: 大阪
投稿: 198
Re: 大カテゴリ・中カテゴリの作り方
>すべて大カテゴリにするという方法を思いついたのですが、
>何か不具合は出てきますでしょうか。
全て大カテゴリにするとカテゴリが意味わかんなくなるという懸念があります。
ショップ自体がアパレルだとして、服しか取り扱っていない場合はブランド名のみにするとか。1ブランドしか扱っていない場合はパンツ・トップス・アウターにするなど。
取り扱っている商品がカテゴリ1階層で完結するのであれば問題ないと思いますよ。


>点線が一部表示、矢印マークが全部につかないというバグ
それって結局全表示にしても解決しない問題では?


全表示するのは、
LC_Page_FrontParts_Bloc_Categoryの158行目〜165行目(こちらのver 2.12.2)
lfGetCatTree関数の中にある

            foreach ($arrRet as $key => $array) {
                foreach ($arrDispID as $val) {
                    if ($array['category_id'] == $val) {
                        $arrRet[$key]['display'] = 1;
                        break;
                    }
                }
            }
を
            foreach ($arrRet as $key => $array) {
                foreach ($arrDispID as $val) {
                    $arrRet[$key]['display'] = 1;
                }
            }

に変更しても大丈夫ですよ。
※tplのほうは戻してくださいね。

sam2013
投稿日時: 2013/5/30 13:31
対応状況: −−−
長老
登録日: 2013/5/20
居住地:
投稿: 152
Re: 大カテゴリ・中カテゴリの作り方
どうやら2.12.4はコードが異なるようでした。

$this->root_parent_id[] = $arrParentID[0];
$arrDispID = array_merge($arrBrothersID, $arrChildrenID);
foreach ($arrRet as &$arrCategory) {
if (in_array($arrCategory['category_id'], $arrDispID)) {
$arrCategory['display'] = 1;
}
namahage
投稿日時: 2013/5/30 13:56
対応状況: −−−
長老
登録日: 2013/2/28
居住地: 大阪
投稿: 198
Re: 大カテゴリ・中カテゴリの作り方

$this->root_parent_id[] = $arrParentID[0];
$arrDispID = array_merge($arrBrothersID, $arrChildrenID);
foreach ($arrRet as &$arrCategory) {
    if (in_array($arrCategory['category_id'], $arrDispID)) {
        $arrCategory['display'] = 1;
    }



$this->root_parent_id[] = $arrParentID[0];
$arrDispID = array_merge($arrBrothersID, $arrChildrenID);
foreach ($arrRet as &$arrCategory) {
//    if (in_array($arrCategory['category_id'], $arrDispID)) {
        $arrCategory['display'] = 1;
//    }

にしてforeachにあるifと閉じかっこをコメントアウトしてみてください。
sam2013
投稿日時: 2013/5/30 15:06
対応状況: −−−
長老
登録日: 2013/5/20
居住地:
投稿: 152
Re: 大カテゴリ・中カテゴリの作り方
namahage様

表示されました。
ありがとうございます。


しかしこのように一部分に下線とボタンがついてしまっております。
下線をなくし、ボタンを全部のカテゴリにつけたいのですがうまくいきません。。。
namahage
投稿日時: 2013/5/30 15:32
対応状況: −−−
長老
登録日: 2013/2/28
居住地: 大阪
投稿: 198
Re: 大カテゴリ・中カテゴリの作り方
[code]
<li class="level<!--{$level}--><!--{if in_array($arrTree[cnt].category_id, $tpl_category_id)}--> onmark<!--{/if}-->">
[/code]
ってとこを、
[code]
<li class="level<!--{$level}--> onmark">
[/code]
に変更するとマークは出ると思います。
下線はCSSでlevel〜って定義している所があやしいような気がします
(1) 2 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

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

投稿数ランキング

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