ITOBEN STYLE > EC-CUBE:メルマガのバックナンバーをMYページから閲覧 2012年5月12日カテゴリー:未分類 EC-CUBE:メルマガのバックナンバーをMYページから閲覧 配信したすべてのメルマガをMYページで表示する。 管理画面上で削除したメルマガは表示されない。 1 メルマガ一覧を表示するかしないかをmtb_constantsテーブルに登録する。 ——————————————- id:MAILMAGA_SHOW name:on rank:1249(←適宜) remarks:メルマガ一覧ページの表示 on/表示する off/表示しない ——————————————- ★システム設定>パラメーター設定を開き、「この内容で登録する」をクリック。 2 ページングに、jQuery Paginateを利用する。 http://th3silverlining.com/2010/04/15/pajination-a-jquery-pagination-plugin/ (1)上記アドレスより、jquery.pajinate.jsをダウンロードし、 ■html/js/jquery.pajinateフォルダに置く。 (2)スタイルシートを(1)と同じフォルダに置く。 ■html/js/jquery.pajinate/styles.css [php] div#paging_container .ellipse{ float: left; } div#paging_container .page_navigation { padding-bottom: 10px; } div#paging_container .page_navigation a { padding:3px 5px; margin:2px; color:white; text-decoration:none; float: left; font-family: Tahoma; font-size: 12px; background-color:#DB5C04; } div#paging_container .active_page{ background-color:white !important; color:black !important; } div.page_navigation { margin-bottom:30px; } div#paging_container ul#title { clear:both; } div#paging_container ul#title li { background-color:#EFEFEF; border: 1px solid #CCC; border-bottom:none; } div#paging_container .date { float:left; width:20%; text-align:center; padding:5px; border-right:#CCC 1px solid; } div#paging_container .backnumber { float:right; width:76%; padding:5px; } div#paging_container ul#title .backnumber { text-align:center; } div#paging_container ul.content { border:#CCC 1px solid; border-bottom:none; } div#paging_container ul.content li { border-bottom:#CCC 1px solid; } [/php] (3)■data/Smarty/templates/default/site_frame.tpl 追加 [php] [/php] 2 メルマガ一覧ページとバックナンバープレビューページを新規作成 (1)■html/mypage/mailmaga.php [php] init(); $objPage->process(); ?> [/php] (2)■html/mypage/mailmaga_view.php [php] init(); $objPage->process(); ?> [/php] (3)■data/class_extends/page_extends/mypage/LC_Page_Mypage_Mailmaga_Ex.php [php] [/php] (4)■data/class_extends/page_extends/mypage/LC_Page_Mypage_Mailmaga_view_Ex.php [php] [/php] (5)■data/class/pages/mypage/LC_Page_Mypage_Mailmaga.php [php] tpl_subtitle = ‘メルマガ一覧’; $this->tpl_mypageno = ‘mailmaga’; $this->tpl_pager = ‘pager.tpl’; } /** * Page のプロセス. * * @return void */ function process() { parent::process(); } /** * Page のアクション. * * @return void */ function action() { //データ取得 $objQuery =SC_Query_Ex::getSingletonInstance(); $this->arrRet = array(); $arrRet = $objQuery->select(“*”, “dtb_send_history”, “del_flg = 0 order by start_date DESC”); //データベースからデータの取得ができたか if(isset($arrRet)){ $this->arrRet = $arrRet; } } /** * デストラクタ. * * @return void */ function destroy() { parent::destroy(); } } ?> [/php] (6)■data/class/pages/mypage/LC_Page_Mypage_Mailmaga_view.php [php] tpl_subtitle = ‘バックナンバープレビュー’; $this->tpl_mainpage = ‘mypage/mailmaga_view.tpl’; } /** * Page のプロセス. * * @return void */ function process() { $this->action(); $this->sendResponse(); } /** * Page のアクション. * * @return void */ function action() { $objMailHelper = new SC_Helper_Mail_Ex(); switch ($this->getMode()) { case ‘template’: if (SC_Utils_Ex::sfIsInt($_GET[‘template_id’])){ $arrMail = $objMailHelper->sfGetMailmagaTemplate($_GET[‘template_id’]); $this->mail = $arrMail[0]; } break; case ‘history’; if (SC_Utils_Ex::sfIsInt($_GET[‘send_id’])){ $arrMail = $objMailHelper->sfGetSendHistory($_GET[‘send_id’]); $this->mail = $arrMail[0]; } break; case ‘presend’; $this->mail[‘body’] = $_POST[‘body’]; default: } $this->setTemplate($this->tpl_mainpage); } /** * デストラクタ. * * @return void */ function destroy() { parent::destroy(); } } ?> [/php] (7)■data/Smarty/templates/default/mypage/mailmaga.tpl 「ポップアップウィンドウを中央に表示する」を適用している。 https://itoben.com/style/168.html [php] 配信日 バックナンバー メルマガバックナンバーはありません。 [/php] (8)■data/Smarty/templates/default/mypage/mailmaga_view.tpl [php] [/php] 3 ナビメニューに追加する ■data/Smarty/templates/default/mypage/navi.tpl 2カ所に追加 [php] selected“> メルマガ一覧 [/php] [php] (1) メルマガ一覧 ———————————- テーブル:dtb_pagelayout device_type_id:10 page_id:30 ←既存page_idの続き page_name:MYページ/メルマガ一覧 url:mypage/mailmaga.php filename:mypage/mailmaga header_chk:1 footer_chk:1 edit_flg:2 author:NULL description:NULL keyword:NULL update_url:NULL create_date:作成日 update_date:作成日 ———————————- (2) バックナンバープレビュー ———————————- テーブル:dtb_pagelayout device_type_id:10 page_id:31 ←既存page_idの続き page_name:MYページ/バックナンバープレビュー url:mypage/mailmaga_view.php filename:mypage/mailmaga_view header_chk:1 footer_chk:1 edit_flg:2 author:NULL description:NULL keyword:NULL update_url:NULL create_date:作成日 update_date:作成日 ———————————- 5 メルマガ一覧ページにブロックを配置
配信したすべてのメルマガをMYページで表示する。
管理画面上で削除したメルマガは表示されない。
1 メルマガ一覧を表示するかしないかをmtb_constantsテーブルに登録する。
——————————————-
id:MAILMAGA_SHOW
name:on
rank:1249(←適宜)
remarks:メルマガ一覧ページの表示 on/表示する off/表示しない
——————————————-
★システム設定>パラメーター設定を開き、「この内容で登録する」をクリック。
2 ページングに、jQuery Paginateを利用する。
http://th3silverlining.com/2010/04/15/pajination-a-jquery-pagination-plugin/
(1)上記アドレスより、jquery.pajinate.jsをダウンロードし、
■html/js/jquery.pajinateフォルダに置く。
(2)スタイルシートを(1)と同じフォルダに置く。
■html/js/jquery.pajinate/styles.css
[php]
div#paging_container .ellipse{
float: left;
}
div#paging_container .page_navigation {
padding-bottom: 10px;
}
div#paging_container .page_navigation a {
padding:3px 5px;
margin:2px;
color:white;
text-decoration:none;
float: left;
font-family: Tahoma;
font-size: 12px;
background-color:#DB5C04;
}
div#paging_container .active_page{
background-color:white !important;
color:black !important;
}
div.page_navigation {
margin-bottom:30px;
}
div#paging_container ul#title {
clear:both;
}
div#paging_container ul#title li {
background-color:#EFEFEF;
border: 1px solid #CCC;
border-bottom:none;
}
div#paging_container .date {
float:left;
width:20%;
text-align:center;
padding:5px;
border-right:#CCC 1px solid;
}
div#paging_container .backnumber {
float:right;
width:76%;
padding:5px;
}
div#paging_container ul#title .backnumber {
text-align:center;
}
div#paging_container ul.content {
border:#CCC 1px solid;
border-bottom:none;
}
div#paging_container ul.content li {
border-bottom:#CCC 1px solid;
}
[/php]
(3)■data/Smarty/templates/default/site_frame.tpl 追加
[php]
[/php]
2 メルマガ一覧ページとバックナンバープレビューページを新規作成
(1)■html/mypage/mailmaga.php
[php]
init();
$objPage->process();
?>
[/php]
(2)■html/mypage/mailmaga_view.php
[php]
init();
$objPage->process();
?>
[/php]
(3)■data/class_extends/page_extends/mypage/LC_Page_Mypage_Mailmaga_Ex.php
[php]
[/php]
(4)■data/class_extends/page_extends/mypage/LC_Page_Mypage_Mailmaga_view_Ex.php
[php]
[/php]
(5)■data/class/pages/mypage/LC_Page_Mypage_Mailmaga.php
[php]
tpl_subtitle = ‘メルマガ一覧’;
$this->tpl_mypageno = ‘mailmaga’;
$this->tpl_pager = ‘pager.tpl’;
}
/**
* Page のプロセス.
*
* @return void
*/
function process() {
parent::process();
}
/**
* Page のアクション.
*
* @return void
*/
function action() {
//データ取得
$objQuery =SC_Query_Ex::getSingletonInstance();
$this->arrRet = array();
$arrRet = $objQuery->select(“*”, “dtb_send_history”, “del_flg = 0 order by start_date DESC”);
//データベースからデータの取得ができたか
if(isset($arrRet)){
$this->arrRet = $arrRet;
}
}
/**
* デストラクタ.
*
* @return void
*/
function destroy() {
parent::destroy();
}
}
?>
[/php]
(6)■data/class/pages/mypage/LC_Page_Mypage_Mailmaga_view.php
[php]
tpl_subtitle = ‘バックナンバープレビュー’;
$this->tpl_mainpage = ‘mypage/mailmaga_view.tpl’;
}
/**
* Page のプロセス.
*
* @return void
*/
function process() {
$this->action();
$this->sendResponse();
}
/**
* Page のアクション.
*
* @return void
*/
function action() {
$objMailHelper = new SC_Helper_Mail_Ex();
switch ($this->getMode()) {
case ‘template’:
if (SC_Utils_Ex::sfIsInt($_GET[‘template_id’])){
$arrMail = $objMailHelper->sfGetMailmagaTemplate($_GET[‘template_id’]);
$this->mail = $arrMail[0];
}
break;
case ‘history’;
if (SC_Utils_Ex::sfIsInt($_GET[‘send_id’])){
$arrMail = $objMailHelper->sfGetSendHistory($_GET[‘send_id’]);
$this->mail = $arrMail[0];
}
break;
case ‘presend’;
$this->mail[‘body’] = $_POST[‘body’];
default:
}
$this->setTemplate($this->tpl_mainpage);
}
/**
* デストラクタ.
*
* @return void
*/
function destroy() {
parent::destroy();
}
}
?>
[/php]
(7)■data/Smarty/templates/default/mypage/mailmaga.tpl
「ポップアップウィンドウを中央に表示する」を適用している。
https://itoben.com/style/168.html
[php]
[/php]
(8)■data/Smarty/templates/default/mypage/mailmaga_view.tpl
[php]
[/php]
3 ナビメニューに追加する
■data/Smarty/templates/default/mypage/navi.tpl 2カ所に追加
[php]
メルマガ一覧
[/php]
[php]
———————————-
テーブル:dtb_pagelayout
device_type_id:10
page_id:30 ←既存page_idの続き
page_name:MYページ/メルマガ一覧
url:mypage/mailmaga.php
filename:mypage/mailmaga
header_chk:1
footer_chk:1
edit_flg:2
author:NULL
description:NULL
keyword:NULL
update_url:NULL
create_date:作成日
update_date:作成日
———————————-
(2) バックナンバープレビュー
———————————-
テーブル:dtb_pagelayout
device_type_id:10
page_id:31 ←既存page_idの続き
page_name:MYページ/バックナンバープレビュー
url:mypage/mailmaga_view.php
filename:mypage/mailmaga_view
header_chk:1
footer_chk:1
edit_flg:2
author:NULL
description:NULL
keyword:NULL
update_url:NULL
create_date:作成日
update_date:作成日
———————————-
5 メルマガ一覧ページにブロックを配置