私の場合はPHPのベタ書きで処理したいるので、イプシロンのサンプルソース「sample_php.zip」を
ダウンロードしてテスト接続を試みたところPEARのライブラリが必須ということだった。
PEARのライブラリって開発が終わっているようだし、PHP7で動くのか苦戦したので、以下経緯と設定について記載する。
まずライブラリ
これは色々なダウンロードサイトから拾い集めたPEARのライブラリである。
ダウンロードはこちら。
解凍するとlibraryフォルダが出来上がるが、PHP7の環境でイプシロンのサンプルプログラムが動く最小構成である。
続いてサンプルプログラム「settlement.php」
大量のWarningエラーが吐き出されるので、
ini_set('display_errors', 'off');
をプログラムの先頭のほうに記述
422行目
$unserializer =& new XML_Unserializer();
を
$unserializer = new XML_Unserializer();
に変更
17行目
require_once "xml/Unserializer.php";
を
require_once "XML/Unserializer.php";
に変更
あとは、htaccessで
php_value include_path ".:/home/hogehoge/hugahuga/library/"
とパスを指定すれば、settlement.phpが動作すると思われる。
それでも動かない場合は、イプシロンの管理画面から
「テスト環境 〜 設定 〜 決済システムの接続設定」
をよく見直してほしい。
ダウンロードするlibraryの使用については自己責任でお願いします。
あくまでイプシロンのサンプルプログラム「settlement.php」のクレジット決済が
PHP7の環境でテスト接続することのみを目的としています。
// コンポーネントをロードする
require_once 'Zend/Mail.php';
// 文字コード設定
$mailCharset = 'ISO-2022-JP';
$crrCharset = 'UTF-8';
// メールの内容を設定する
$fromMail = 'from@example.com';
$sendName = '送信者名';
// 文字コードを「ISO-2022-JP」に変換する
$sendName = mb_convert_encoding($sendName, $mailCharset, $crrCharset);
// インスタンスを生成する
$mail = new Zend_Mail($mailCharset);
// メールを作成する
$mail->setFrom( $fromMail , $sendName );
↑これでは差出人名が文字化けしてしまいました。↓だとGmail受信して差出人名が文字化けしませんでした。
$mail->setFrom( $fromMail , "=?ISO-2022-JP?B?".base64_encode($sendName)."?=" );
沢山省略しています。大切なところだけ記述していますので、ご了承ください。
]]>PC用とスマホ用の表示切り替えをCSSだけで行う方法について、追記します。
弊社では、現在そのほとんどがbootstrapのフレームワークを使って構築しています。
少しとっつきにくいbootstrap(ブートストラップ)ですが、構造を理解していただければ、非常に簡単なCSSフレームワークです。
PC用のソースとスマホ用のソースが一枚のhtmlファイルに記述できるので、簡単です。
<div class="container">
<div class="row">
<div class="col-lg-3 col-md-3 col-sm-3 col-xs-12">
ここに表示したい内容
</div><!--/.col-lg-3 col-md-3 col-sm-3 col-xs-12 -->
</div><!--/.row -->
</div><!--/.container -->
というように記述します。
以下、class指定している設定値の説明です。
col-lg-数字 = 画面サイズが≥1200pxの場合このクラスが適応されます。
col-md-数字 = 画面サイズが≥992pxの場合このクラスが適応。
col-sm-数字 = 画面サイズが≥768pxの場合このクラスが適応。
col-xs-数字 = 画面サイズが<768pxの場合このクラスが適応。
となります。
数字には、ブロック要素として1〜12が入ります。
デバイスごとに隠したいコンテンツがある場合は、
hidden-を使います。
hidden-lgとか、hidden-xsとかです。
弊社では、bootstrap.cssの1580行目付近にある、
@media (min-width: 1200px) {
.container {
width: 1170px;
}
}
という設定を、
@media (min-width: 1200px) {
.container {
width: 970px;
}
}
という設定に変更して、画面が1200以上でも、横幅を970に設定しています。
サンプルサイトはこちら。
ブラウザの右下をつかんでウインドの幅を変更すると状態が変更されます。
bootstrapのサイト構成は以下。
bootstrap/
├── css/
│ ├── bootstrap.css
│ └── bootstrap.css.map
├── js/
│ └── bootstrap.js
└── fonts/
├── glyphicons-halflings-regular.eot
├── glyphicons-halflings-regular.svg
├── glyphicons-halflings-regular.ttf
├── glyphicons-halflings-regular.woff
└── glyphicons-halflings-regular.woff2
bootstrapで作ったサイトはこちら。
http://www.kankyo-d.co.jp/
http://www.frogrock.jp/
http://www.pleasure-mikunigaoka.com/
いずれもおなじHTMLファイルがCSS制御で表示しています。