« 【EC-CUBE】受注データのCSV出力 | メイン | 【制作事例】紙空間(ピジョン株式会社)様 ショッピングサイト作成しました »

【EC-CUBE】新着情報一覧ページを作る

EC-CUBE 2.11.4 で新着情報の一覧ページを作る方法です。

初心者プログラマー奮闘記 様の記事を参考にさせて頂きました。

 

EC-CUBE 2.11全ていけると思いますが、バージョンによってはこのあたりの問題がありますので、先にこのあたりで解決してからやったほうがよさそうです。

まず、管理画面より、「デザイン管理」 ― 「PC」 - 「ページ詳細設定」より、新たに「新着情報一覧ページ」を作成します。

名称 お知らせ

URL news.php

共通のヘッダーを使用する 共通のフッターを使用する 両方チェック

TPLファイルには、以下を書き込みます。

<div class="bloc_outer">
    <div id="news_area">
    <h2>お知らせ一覧</h2>
        <div class="bloc_body">
            <div class="news_contents" style="overflow:visible;max-height: 100%;height: 100%;">
            <!--{section name=data loop=$arrNews}-->
            <!--{assign var="date_array" value="-"|explode:$arrNews[data].news_date_disp}-->
            <dl class="newslist">
                <dt><!--{$date_array[0]}-->年<!--{$date_array[1]}-->月<!--{$date_array[2]}-->日</dt>
                <dt>
                    <a
                        <!--{if $arrNews[data].news_url}--> href="<!--{$arrNews[data].news_url}-->" <!--{if $arrNews[data].link_method eq "2"}--> target="_blank"
                            <!--{/if}-->
                        <!--{/if}-->
                    >
                        <!--{$arrNews[data].news_title|h|nl2br}--></a>
                </dt>
                <dd class="mini"><!--{$arrNews[data].news_comment|h|nl2br}--></dd>
            </dl>
            <!--{/section}-->
            </div>
        </div>
    </div>
</div>
<!--{$tpl_strnavi}—>

 

 

FTPソフトで、 /user_data/news.php を開き、下記のソースを修正します。

 

<?php
require_once '../require.php';
require_once CLASS_EX_REALDIR . 'page_extends/LC_Page_Ex.php';

/**
* ユーザーカスタマイズ用のページクラス
*
* 管理画面から自動生成される
*
* @package Page
*/
class LC_Page_User extends LC_Page_Ex {

    /**
     * Page を初期化する.
     *
     * @return void
     */
    function init() {
        parent::init();
    }

    /**
     * Page のプロセス.
     *
     * @return void
     */
    function process() {
        parent::process();
        $this->action();
        $this->sendResponse();
    }

    /**
     * Page のアクション.
     *
     * @return void
     */
    function action() {

        $objQuery = SC_Query_Ex::getSingletonInstance();
       
        $this->arrForm = $_REQUEST;

        //現在のページ番号取得
        $this->tpl_pageno = $this->arrForm['pageno'];

        //新着情報の件数を取得する
        $count = 0;
        $linemax = $objQuery->count("dtb_news", "del_flg = '0'");
        $this->tpl_linemax = $linemax;

        //1ページの表示件数取得
        $page_max = SC_Utils_Ex::sfGetSearchPageMax($arrForm['search_page_max']);
        //$page_max = 3; //確認用にハードコードしました

        //ページ送りの取得
        $urlParam = "pageno=#page#";
        $objNavi = new SC_PageNavi_Ex($this->tpl_pageno, $linemax, $page_max,'fnNaviPage', NAVI_PMAX, $urlParam);
        $this->arrPagenavi = $objNavi->arrPagenavi;
       
        //表示文字列アサイン
        $this->tpl_strnavi = $objNavi->strnavi;

        //開始行番号取得
        $startno = $objNavi->start_row;
       
        //取得範囲の指定(開始行番号、行数のセット)
        $objQuery->setLimitOffset($page_max, $startno);

        //新着情報を取得する
        $col = "* , cast(news_date as date) as news_date_disp";
        $from = "dtb_news";
        $where = "del_flg = 0 ORDER BY rank DESC";
        $this->arrNews = $objQuery->select($col, $from, $where, $arrval);

    }

    /**
     * デストラクタ.
     *
     * @return void
     */
    function destroy() {
        parent::destroy();
    }
}

$objPage = new LC_Page_User();
register_shutdown_function(array($objPage, 'destroy'));
$objPage->init();
$objPage->process();

工事・障害情報 (1)
パソコン (13)
フレッツ光プレミアム (3)
ホームページ作成 (8)
ウイルス・スパム対策 (6)
EC-CUBE (12)
Movable Type (11)
接続 (4)
機能 (1)
料金 (1)

About

2012年04月05日 16:32に投稿されたエントリーのページです。

ひとつ前の投稿は「【EC-CUBE】受注データのCSV出力」です。

次の投稿は「【制作事例】紙空間(ピジョン株式会社)様 ショッピングサイト作成しました」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。

Powered by
Take-net Service