.null_eccube

 eccubeまとめ。

site_main.tpl上でusernameとpt残量表示

\data\class\helper\SC_Helper_PageLayout.php
の60行辺り

$objPage->tpl_mainpage = $this->getTemplatePath($device_type_id) . $arrPageData[0]['filename'] . '.tpl';

の上に

  $objCustomer=new SC_Customer_Ex();
  $objPage->tpl_name1=$objCustomer->getValue('name01');
  $objPage->tpl_name2=$objCustomer->getValue('name02');
  $objPage->tpl_user_point=$objCustomer->getValue('point');

と記述することでsite_main.tplにユーザー名などが通ると思われ、引っ張り出し方は

<!--{$tpl_name1|h}--><!--{$tpl_name2|h}--> <!--{$tpl_user_point|n2s|default:0}-->pt

site_main.tpl上でカート合計額を表示する

\data\class\helper\SC_Helper_PageLayout.php

$objCartSess=new SC_CartSession_Ex();
$objPage->cartKeys=$objCartSess->getKeys();
foreach($objPage->cartKeys as $key){
  $objPage->tpl_total=$objCartSess->getAllProductsTotal($key);
}
<!--{$tpl_total|n2s|h}-->

参考:EC-CUBE構築メモよりsite_main.tplの解読

RSSより商品の表示順を登録順にする

\data\class\pages\rss\LC_Page_Rss_Products.php
の290行辺り

$objQuery->setOrder('product_id');

$objQuery->setOrder('create_date DESC');

昇順降順を表示する、標準表示を登録降順にする

\data\class\pages\products\LC_Page_Products_List.php
216行目辺り

switch($this->orderby){
// 販売価格が安い順
  case 'price1':
    $objProduct->setProductsOrder('price02','dtb_products_class','ASC');
    break;
  case 'price2':
    $objProduct->setProductsOrder('price02','dtb_products_class','DESC');
    break;

// 新着順
  case 'date1':
    $objProduct->setProductsOrder('create_date','dtb_products','ASC');
    break;
  case 'date2':
  default:
    $objProduct->setProductsOrder('create_date','dtb_products','DESC');
    break;
/* .
    if(strlen($searchCondition['where_category'])>=1){
      $dtb_product_categories = '(SELECT * FROM dtb_product_categories WHERE '.$searchCondition['where_category'].')';
      $arrOrderVal           = $searchCondition['arrvalCategory'];
    }else{
      $dtb_product_categories = 'dtb_product_categories';
    }
    $col = 'MAX(T3.rank * 2147483648 + T2.rank)';
    $from = "$dtb_product_categories T2 JOIN dtb_category T3 ON T2.category_id = T3.category_id";
    $where = 'T2.product_id = alldtl.product_id';
    $sub_sql = $objQuery->getSql($col, $from, $where);
    $objQuery->setOrder("($sub_sql) DESC ,product_id DESC");
    break;
 */
}

とした上で、
\data\Smarty\templates\default\products\list.tpl
capture周辺

<!--{* ▼ページナビ(本文) *}--><!--{strip}-->
<!--{capture name=page_navi_body}-->
価格:
  <!--{if $orderby!='price1'}-->
    <a href="list.php?orderby=price1">昇順</a>
  <!--{else}-->
    昇順
  <!--{/if}-->
/
  <!--{if $orderby!='price2'}-->
    <a href="list.php?orderby=price2">降順</a>
  <!--{elseif $orderby == 'price2'}-->
    降順
  <!--{/if}-->
 新着:
  <!--{if $orderby!="date1"}-->
    <a href="list.php?orderby=date1">昇順</a>
  <!--{else}-->
    昇順
  <!--{/if}-->
/
  <!--{if $orderby!="date2"}-->
    <a href="list.php?orderby=date2">降順</a>
  <!--{else}-->
    降順
  <!--{/if}-->
<!--{/capture}-->
<!--{/strip}--><!--{* ▲ページナビ(本文) *}-->

参考:る~このメモ帳より商品一覧の並び替え

昇順降順に分類を適用させる

\data\class\helper\SC_Helper_PageLayout.php

$objPage->tpl_mainpage = $this->getTemplatePath($device_type_id) . $arrPageData[0]['filename'] . '.tpl';

の上辺りに

if(preg_match('/\//',$_SERVER['REQUEST_URI'])){
  $zz=explode('/',$_SERVER['REQUEST_URI']);

  if(preg_match('/\&amp;/',$zz[count($zz)-1])){
    $xx=explode('&amp;',$zz[count($zz)-1]);
  }elseif(preg_match('/\&/',$zz[count($zz)-1])){
    $xx=explode('&',$zz[count($zz)-1]);
  }else{
    $xx[]=$zz[count($zz)-1][1];
  }
  if(preg_match('/\?/',$zz[0])){
    $yy=explode('?',$zz[0]);
  }elseif(preg_match('/\?/',$zz[count($zz)-1])){
    $yy=explode('?',$zz[count($zz)-1]);
  }else{
    foreach($xx as $ww)$yy[]=$ww;
  }
  $flg[0]=(preg_match('/category/',$yy[1]))?'true':'false';
  $flg[1]=(preg_match('/orderby/',$yy[1]))?'true':'false';
  if(count($xx)==1&&$flg[0]=='true'&&$flg[1]=='false'){
    $zz[0]=$yy[1];
    for($i=0,$j=1;$i<count($zz)+2;$i++,$j++)unset($zz[$j]);
  }elseif(count($xx)<3&&$flg[0]=='false'&&$flg[1]=='true'){
    $zz[0]=$yy[1];
    $zz[1]=$xx[1];
    for($i=0,$j=2;$i<count($zz);$i++,$j++)unset($zz[$j]);
  }elseif(count($xx)<3&&$flg[0]=='true'&&$flg[1]=='true'){
    $zz[0]=$xx[0];
    $zz[1]=$xx[1];
    for($i=0,$j=2;$i<count($zz);$i++,$j++)unset($zz[$j]);
  }else{
    for($i=0,$j=0;$i<count($xx);$i++,$j++)$zz[$j]=$xx[$i];
  }
  if(preg_match('/\?/',$zz[0])){
    $ww=explode('?',$zz[0]);
    $zz[0]=$ww[1];
  }
}
$objPage->pag=$yy[0];
$objPage->cnt=count($xx);
$objPage->uri=$zz;

と記述して
\Smarty\templates\default\products\list.tpl

<!--{* ▼ページナビ(本文) *}--><!--{strip}-->
<!--{capture name=page_navi_body}-->
価格:
  <!--{if $orderby!='price1'}-->
    <a href="<!--{$pag}--><!--{if $orderby||$arrSearchData.category_id}-->?<!--{/if}--><!--{if $arrSearchData.category_id}-->category_id=<!--{$arrSearchData.category_id|h}-->&<!--{/if}-->orderby=price1">昇順</a>
  <!--{else}-->
    <span class="ol">昇順</span>
  <!--{/if}-->
/
  <!--{if $orderby!='price2'}-->
    <a href="<!--{$pag}--><!--{if $orderby||$arrSearchData.category_id}-->?<!--{/if}--><!--{if $arrSearchData.category_id}-->category_id=<!--{$arrSearchData.category_id|h}-->&<!--{/if}-->orderby=price2">降順</a>
  <!--{elseif $orderby=='price2'}-->
    <span class="ol">降順</span>
  <!--{/if}-->
 新着:
  <!--{if $orderby!="date1"}-->
    <a href="<!--{$pag}--><!--{if $orderby||$arrSearchData.category_id}-->?<!--{/if}--><!--{if $arrSearchData.category_id}-->category_id=<!--{$arrSearchData.category_id|h}-->&<!--{/if}-->orderby=date1">昇順</a>
  <!--{else}-->
    <span class="ol">昇順</span>
  <!--{/if}-->
/
  <!--{if $orderby!="date2"}-->
    <a href="<!--{$pag}--><!--{if $orderby||$arrSearchData.category_id}-->?<!--{/if}--><!--{if $arrSearchData.category_id}-->category_id=<!--{$arrSearchData.category_id|h}-->&<!--{/if}-->orderby=date2">降順</a>
  <!--{else}-->
    <span class="ol">降順</span>
  <!--{/if}-->
<!--{/capture}-->
<!--{/strip}--><!--{* ▲ページナビ(本文) *}-->

と直す。

$pag:<!--{$pag}--><br>
<!--{$arrSearchData.category_id|h}-->:<!--{$arrSearchData.category_id|h}--><br>
<!--{foreach from=$uri item=arrURI name=uri}-->
<!--{$arrURI}--><br>
<!--{/foreach}-->
$cnt:<!--{$cnt}--><br>

こんな感じで引っ張り出す。cntで分岐させればいいやって構文。

商品一覧に生成日時を表示する

\data\class\SC_Product.php
140行辺り

            ,stock_unlimited_max
            ,deliv_date_id
            ,status
            ,del_flg
            ,update_date

,create_date

を追加して、620行辺り$arrProduct(ryが並んでる辺り

$arrProduct['update2']=explode(' ',$arrProduct['create_date']);
$arrProduct['UTC']=date('P',$arrProduct['create_date']);

と加筆する。要するに配列化して後で分解する。
\data\Smarty\templates\default\products\list.tpl

<!--{* ★商品更新日時★ *}-->
<!--{assign var="date_ary1" value="-"|explode:$arrProduct.update2[0]}-->
<!--{assign var="date_ary2" value=":"|explode:$arrProduct.update2[1]}-->
<footer><time title="<!--{$date_ary1[0]}-->-<!--{$date_ary1[1]}-->-<!--{$date_ary1[2]}-->T<!--{$date_ary2[0]}-->:<!--{$date_ary2[1]}-->:<!--{$date_ary2[2]}-->UTC<!--{$arrProduct.UTC}-->"><!--{$date_ary1[0]}-->/<!--{$date_ary1[1]}-->/<!--{$date_ary1[2]}--> <!--{$date_ary2[0]}-->:<!--{$date_ary2[1]}-->:<!--{$date_ary2[2]}--></time></footer>

Tで分割すりゃいいんだから世界標準を変えるべきでない。正しくはtitleとinnerHTMLが逆なんだが、閲覧者側を考えたらそこまで見たいか知らんから変更している。

寸簡記事表示にグリニッジ表示日時を適用する

<!--{assign var="date_ary1" value="-"|explode:$arrNews[data].create_date}-->
<!--{assign var="date_ary2" value=" "|explode:$arrNews[data].create_date}-->
<!--{assign var="date_ary3" value=" "|explode:$date_ary1[2]}-->
<footer><time title="<!--{$date_ary2[0]}-->T<!--{$date_ary2[1]}-->UTC+09:00"><!--{$date_ary1[0]}-->/<!--{$date_ary1[1]}-->/<!--{$date_ary3[0]}--> <!--{$date_ary2[1]}--></time></footer>

 時間書式の統一で時差に触れる機会を得た。templateで多重explodeすれば通る。日本時間はUTC+09:00。JSTとも略す。要するに*-1で加算するとグリニッジ標準を得られる。表示例は当サイトの時間表示で画一統一の予定だ。

グリニッジ表示日時を適用する2

寸簡記事の場合。

<!--{* ★記事生成日時★ *}-->
<footer><time title="<!--{$arrNews[data].create_date|date_format:"%Y-%m-%dT%TUTC+09:00"}-->"><!--{$arrNews[data].create_date|date_format:"%Y/%m/%d %T"}--></time></footer>

商品記事の場合。

<!--{* ★商品登録日時★ *}-->
<footer><time title="<!--{$arrProduct.create_date|date_format:"%Y-%m-%dT%TUTC+09:00"}-->"><!--{$arrProduct.create_date|date_format:"%Y/%m/%d %T"}--></time></footer>

メモってたのを忘れていた。explodeする必要もなくcreate_date通してればこれだけで表示可能だ。07/31修正更新。create_dateをproductに通していればdetail.tplにも通る。同日17:50寸簡と商品の場合を追加。

表示件数を変更した上でページ数を表示する

\data\class\pages\products\LC_Page_Products_List.php
294行辺り

    public function lfGetDisplayNum($display_number)
    {
        // 表示件数
        return 5;
/* .
        return (SC_Utils_Ex::sfIsInt($display_number))
            ? $display_number
            : current(array_keys($this->arrPRODUCTLISTMAX));
 */
    }

と絶対値を入れて、
C:\Program Files\VertrigoServ\www\eccube\data\class\pages\products\LC_Page_Products_List.php
138行くらい

        // 商品一覧データの取得
        $arrSearchCondition = $this->lfGetSearchCondition($this->arrSearchData);
        $this->tpl_linemax  = $this->lfGetProductAllNum($arrSearchCondition);

$this->pageline=ceil($this->lfGetProductAllNum($arrSearchCondition)/5);

を入れて、
\data\Smarty\templates\default\products\list.tpl

<!--{* ▼ページナビ(本文) *}--><!--{capture name=page_navi_body}-->
<p><!--{strip}-->
  価格:
    <!--{if $orderby!='price1'}-->
      <a href="
        <!--{$pag}-->
        <!--{if $orderby||$arrSearchData.category_id||$tpl_pageno}-->?<!--{/if}-->
        <!--{if $arrSearchData.category_id}-->category_id=<!--{$arrSearchData.category_id|h}-->&amp;<!--{/if}-->
        orderby=price1
        <!--{if $tpl_pageno}-->&amp;pageno=<!--{$tpl_pageno|h}--><!--{/if}-->
      ">昇順</a>
    <!--{else}-->
      <span class="ol">昇順</span>
    <!--{/if}-->
  /
    <!--{if $orderby!='price2'}-->
      <a href="
        <!--{$pag}-->
        <!--{if $orderby||$arrSearchData.category_id||$tpl_pageno}-->?<!--{/if}-->
        <!--{if $arrSearchData.category_id}-->category_id=<!--{$arrSearchData.category_id|h}-->&amp;<!--{/if}-->
        orderby=price2
        <!--{if $tpl_pageno}-->&amp;pageno=<!--{$tpl_pageno|h}--><!--{/if}-->
      ">降順</a>
    <!--{elseif $orderby=='price2'}-->
      <span class="ol">降順</span>
    <!--{/if}-->
  &nbsp;新着:
    <!--{if $orderby!="date1"}-->
      <a href="
        <!--{$pag}-->
        <!--{if $orderby||$arrSearchData.category_id||$tpl_pageno}-->?<!--{/if}-->
        <!--{if $arrSearchData.category_id}-->category_id=<!--{$arrSearchData.category_id|h}-->&amp;<!--{/if}-->
        orderby=date1
        <!--{if $tpl_pageno}-->&amp;pageno=<!--{$tpl_pageno|h}--><!--{/if}-->
      ">昇順</a>
    <!--{else}-->
      <span class="ol">昇順</span>
    <!--{/if}-->
  /
    <!--{if $orderby!="date2"}-->
      <a href="
        <!--{$pag}-->
        <!--{if $orderby||$arrSearchData.category_id||$tpl_pageno}-->?<!--{/if}-->
        <!--{if $arrSearchData.category_id}-->category_id=<!--{$arrSearchData.category_id|h}-->
          <!--{if $orderby||$tpl_pageno}-->
            &amp;
          <!--{/if}-->
        <!--{/if}-->
        orderby=date2
        <!--{if $tpl_pageno}-->&amp;pageno=<!--{$tpl_pageno|h}--><!--{/if}-->
      ">降順</a>
    <!--{else}-->
      <span class="ol">降順</span>
    <!--{/if}-->
<!--{/strip}--></p>
<p>page:<!--{strip}-->
  <!--{section name=page loop=$pageline}-->
    <!--{if $smarty.section.page.last}-->
      <!--{if $smarty.section.page.index+1==$tpl_pageno}-->
        <span class="ol">
      <!--{else}-->
        <a href="
          <!--{$pag}-->
          <!--{if $orderby||$arrSearchData.category_id}-->?<!--{/if}-->
          <!--{if $arrSearchData.category_id}-->category_id=<!--{$arrSearchData.category_id}-->
            <!--{if $arrSearchData.category_id||$orderby}-->
              &amp;
            <!--{/if}-->
          <!--{/if}-->
          <!--{if $orderby}-->orderby=<!--{$orderby}-->
            <!--{if $orderby||$tpl_pageno}-->
              &amp;
            <!--{/if}-->
          <!--{/if}-->
          pageno=<!--{$smarty.section.page.index+1}-->
        ">
      <!--{/if}-->
      <!--{if $smarty.section.page.index+1<100&&$smarty.section.page.index+1>9}-->
        0
      <!--{elseif $smarty.section.page.index+1<10}-->
        00
      <!--{/if}-->
      <!--{$smarty.section.page.index+1}-->
      <!--{if $smarty.section.page.index+1==$tpl_pageno}-->
        </span>
      <!--{else}-->
        </a>
      <!--{/if}-->
    <!--{else}-->
      <!--{if $smarty.section.page.index+1==$tpl_pageno}-->
        <span class="ol">
      <!--{else}-->
        <a href="
          <!--{$pag}-->
          <!--{if $orderby||$arrSearchData.category_id}-->?<!--{/if}-->
          <!--{if $arrSearchData.category_id}-->category_id=<!--{$arrSearchData.category_id}-->
            <!--{if $arrSearchData.category_id||$orderby}-->
              &amp;
            <!--{/if}-->
          <!--{/if}-->
          <!--{if $orderby}-->orderby=<!--{$orderby}-->
            <!--{if $orderby||$tpl_pageno}-->
              &amp;
            <!--{/if}-->
          <!--{/if}-->
          pageno=<!--{$smarty.section.page.index+1}-->
        ">
      <!--{/if}-->
      <!--{if $smarty.section.page.index+1<100&&$smarty.section.page.index+1>9}-->
        0
      <!--{elseif $smarty.section.page.index+1<10}-->
        00
      <!--{/if}-->
      <!--{$smarty.section.page.index+1}-->
      <!--{if $smarty.section.page.index+1==$tpl_pageno}-->
        </span>
      <!--{else}-->
        </a>
      <!--{/if}-->
      /
    <!--{/if}-->
  <!--{/section}-->
<!--{/strip}--></p>
<!--{* ▲ページナビ(本文) *}--><!--{/capture}-->

同日05:46修正更新、page表示しているところにoverline付与。同日15時anchor生成ミスの二次修正。29日17時anchor三次修正。17:18anchor四次修正。

sponsor

 google(search)

 2chよりvip(board)

 R16hellowork(work)

 どっかの区役所

 R18dmm(anime)

 valuecommerce(affiliate)

 mozilla(cssDev)

 w3cCSSchecker(cssChk)

 adobe(img)

 wordPress(cms)

 movableTypePro(cms)

 ecCube(netShopCMS)

 pukiWikiPlus!(wiki)

 TUMO NET(mailForm)

 ascetica(wordpressTheme)

 akismet(spamBlockPlugin)

 jetpack(hackBlockPlugin)

 fileThingie(uploader)

 phpFileManager(uploader)

 R18pcmax(出逢い)

 linksFORgood@yahoo

 newart(billiard)

 日本レスキュー協会