2010年1月30日土曜日

オープンソースカンファレンス2010 Tokyo/Springへ出展

オープンソースカンファレンス2010 Tokyo/Springへの出展を行います。出展内容はEC-CUBEの中国語バージョンをライトニングトークと展示ブースにて発表します。

日程:2010年2月26日(金)・27日(土) 10:00-17:00


会場:明星大学日野キャンパス 26号館(多摩モノレール 「中央大学・明星大学駅」から大学まで直結。会場まで徒歩5分)
内容:オープンソースに関する最新情報の提供
・展示 - オープンソースコミュニティ、企業・団体による展示
・セミナー - オープンソースの最新情報を提供
主催オープンソースカンファレンス実行委員会

EC-CUBEで新規のテンプレート変数と値の割り当て方

初歩的な内容ですが一応。
data\class\SC_View.phpの中にテンプレートに値を割り当てるfunctionが用意されているのでこちらのfunctionを呼び出してテンプレート変数と値の割り当てを行います。
    function assign($val1, $val2) {
        $this->_smarty->assign($val1, $val2);
    }
まず、はじめに新規のテンプレート変数と値の割り当てを行いたいPHPファイルの中で以下コードを追加します。ここでは入力した名前を変数$nameに格納したものをテンプレート変数NAMEの値として割り当てています。
$objView  =  new SC_SiteView();
$name  =  “EC-CUBE”
$objView->assign("NAME", $name);
第一引数に任意の変数名、第二引数に値を指定します。
続いてテンプレートファイルに参照したい変数名を$this->tpl_mainpage = '';で指定されている Tplファイルへ追加します。   
<!--{$ NAME }-->さんこんにちは。
次のように表示されます。
EC-CUBEさんこんにちは。

EC-CUBEの商品カテゴリを全て表示

EC-CUBEのデフォルトでは商品カテゴリが折りたたまれているので常に全てが見えるように変更します。
例えば服であれば女性用、男性用をカテゴリに設定してその階層の下にTシャツのカテゴリがある場合、 女性用、男性用のみの表示になっています。男性用をクリックすると下の階層が見えるのですが、常にカテゴリ全てが見えていても邪魔にならないカテゴリの量なので変更します。

修正ファイル:\data\Smarty\templates\default\bloc\category.tpl

変更前:
<!--{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}-->"><a href="<!--{$smarty.const.URL_DIR}-->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|escape}-->(<!--{$arrTree[cnt].product_count|default:0}-->)</a>
<!--{if $firstdone == 0}--><!--{assign var=firstdone value=1}--><!--{/if}-->
<!--{assign var=preLev value=`$level`}-->
<!--{/if}-->

 変更後:
    <!--{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}-->"><a href="<!--{$smarty.const.URL_DIR}-->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|escape}-->(<!--{$arrTree[cnt].product_count|default:0}-->)</a>
    <!--{if $firstdone == 0}--><!--{assign var=firstdone value=1}--><!--{/if}-->
    <!--{assign var=preLev value=`$level`}-->