フォノクラフト株式会社:作業メモや備忘録など

作業メモや備忘録など…

[sql] SQL文でテーブル名の変更する【MySQL】

without comments

SQL文

ALTER TABLE 現在のテーブル名 RENAME TO 変更後のテーブル名;

Categoty in DataBase / MySQL / SQL

特定のディレクトリ内の特定の拡張子を持つファイルを降順でリストする。

without comments

特定のディレクトリ内の特定の拡張子を持つファイルを降順でリストしてみます。

こんな感じ

・特定のディレクトリ内のファイルをリストします。
・.tsvという拡張子のファイルをリストします。
・foreachの前にrsort($list); を入れて降順にします。

サンプルダウンロード

dir_file_list.zip(3kb)

サンプルソース

<select name="file">
<option value="">ファイルを選択してください。</option>
<?php

function listFiles($dir,$suffix){
	$len_suffix=strlen($suffix);
	$path_id=opendir($dir);
	
		while( $file_name = readdir($path_id) ){
		$l=strlen($file_name);
			if( $l > $len_suffix ){
			$mysuffix=substr($file_name,$l-$len_suffix);
			
				if( $mysuffix==$suffix ){
					#print $file_name;
					$list[] = $file_name;
				}
			}
		}
	
	return $list;
}

//ディレクトリを指定
$dir= "log/";
//どの拡張子のファイルを一覧に出すか指定
$list=listFiles($dir,".tsv");

//昇順
//sort($list); 
//降順
rsort($list); 

foreach( $list as $file_name ){
	print '<option value="' . $dir . '' . $file_name . '">' . $dir . '' . $file_name . '</option>';
}
?>
</select>

Categoty in File / PHP

レンタルサーバCPIでの .htpasswd 設定

without comments

CPIの暗号方式はMD5 SHAなのでよくある生成サービスサイトから作成することができません。

コントロールパネルでも生成できるみたいですが面倒なのでコマンドで作ります。

こんな感じで生成

$ htpasswd -nbm username password

Categoty in htaccess / Server

[wp] プラグイン「wp-pagenavi」のリンクにアンカーをつける

without comments

対象ファイル

〜/plugins/wp-pagenavi/wp-pagenavi.php

変更箇所

#postという名でアンカーをつけます。

170行目付近

return "<a href='" . esc_url(get_pagenum_link($page)) . "' class='$class'>$text</a>";

return "<a href='" . esc_url(get_pagenum_link($page)) .'#post'. "' class='$class'>$text</a>";

Categoty in PHP / Plugins / WordPress / wp-pagenavi

htaccess下の階層までのURLを継承したまま「wwwあり」に統一する。

without comments

wwwありで統一

この書き方だと下の階層までのURLを継承したまま「wwwあり」に統一できます。

※下の階層までのURLを継承したまま、というのがミソ。

例)
 http://○○○○.jp/test/abcd.html でアクセスした場合
 ↓
 http://www.○○○○.jp/test/abcd.html に転送されます。

RewriteEngine on
RewriteCond %{HTTP_HOST} ^(○○○○\.jp)(:80)?
RewriteRule ^(.*) http://www.○○○○.jp/$1 [R=301,L]

Categoty in htaccess

[php] 簡単なコンテンツ公開タイマー、その1

without comments

公開日時を過ぎてしまう

厳密な時間指定でのコンテンツ公開で“うっかり忘れ”を防止する保険、という意味で有用。

アクセス毎に処理が走るので公開時間を過ぎた時点で、このスクリプトは排してしまった方がいいかも。

時間を上書きして確認するには

■現在時間を操作する
 http://○○○○.co.jp/index.php?nt=201205230000
■タイマー設定時間を操作する
 http://○○○○.co.jp/index.php?ct=201208241455

ソース

<?php
//data関数だけだと9時間のズレが生じる場合があるので
date_default_timezone_set('Asia/Tokyo');
//現在時間を取得
if ($_GET[nt] != "") { $now_time = $_GET[nt]; }else{ $now_time = date('YmdHi'); }
//タイマー設定
if ($_GET[ct] != "") { $change_time = $_GET[ct]; }else{ $change_time = "201301241455"; }
//echo "now_time:" . $now_time . "<br />";
//echo "change_time:" . $change_time . "<br />";
 ?>

<?php
if ($now_time <= $change_time) {
//タイマー時刻を過ぎる前
 ?>
 
	ここに今表示してるものを入れる。

<?php } else {
//タイマー時刻を過ぎた後
 ?>

	ここにタイマー時間を過ぎてか表示するものを入れる。

<?php } ?>

Categoty in PHP

[html/css] <dl><dt><dd>でリスト表示

without comments

<dl><dt><dd>でリスト表示

「ニュース」や「最新情報」などで使う頻度が高いタグなのでコピペー用にメモ

CSS

/* CSS Document */
*{padding:0px;margin:0px;}
body{margin-left:5px;margin-top:5px;}
dl:after{content: ".";display: block;visibility: hidden;clear: both;height: 0.1px;font-size: 0.1em;line-height: 0;}
dl {display: inline-block;}
/* Hides from IE-mac \*/
dl {height: 1%;}
dl {display: block;}
/* End hide from IE-mac */
dl{border-bottom:1px dotted #cccccc;padding:2px 0;font-size:12px;line-height:18px;}
dt{color:#CA4D66;text-align:left;font-weight:bold;float:left;width:80px;display:block;}
dd{color:#666666;float:left;display:block;width:410px;}
a{color:#CA4C65;text-decoration:none;}
a:link{color:#CA4C65;text-decoration:none;}
a:hover{color:#CA4C65;text-decoration:underline;	
}

HTML

<dl>
	<dt>2011.12.1</dt>
	<dd><b>歳末大還元セール</b><br />
		(期間2011年12月1日〜12月31日まで)</dd>
</dl>
<dl>
	<dt>2011.10.1</dt>
	<dd><b>乾燥する季節にスペシャルケアキャンペーン</b><br />
		(期間2011年10月1日〜10月31日まで)</dd>
</dl>
<dl>
	<dt>2011.9.1</dt>
	<dd><b>乾燥する季節に向けての基本ケアキャンペーン</b><br />
		(期間2011年9月1日〜9月30日まで)</dd>
</dl>
<dl>
	<dt>2011.7.1</dt>
	<dd><b>ご好評につきキャンペーン延長</b><br />
		(期間2011年7月1日〜7月31日まで)</dd>
</dl>
<dl>
	<dt>2011.6.16</dt>
	<dd><b><a href="http://jsdt56.umin.ne.jp/" target="_blank">出展企画</a></b><br />
		(期間2011年6月16日〜6月19日まで)<br />
		16日〜19日まで出荷業務を休業させて頂きます。<br />
		期間中のご注文の発送は20日より行いますので予めご了承ください。</dd>
</dl>

Categoty in CSS / HTML

[wp] プラグイン Contact Form 7 実践メモ

without comments

出来上がりのイメージ

右図のようになります。

Contact Form7の使い方はコチラに詳しく掲載されています。

(1) プラグインの準備

Contact Form 7
Really Simple CAPTCHA
 (CAPTCHAを使う場合に必要)

この2つをインストールします。

(2) Contact Form 7 の設定例

<p class="ttl">お名前(ハンドルネーム可)</p><p class="fm">[text* your-name 30/] </p>
<p class="ttl">写真<span>(2MBまで)</span></p><p class="fm">[file pic limit:2mb filetypes:jpg|gif|png 25/]</p>
<p class="ttl">性別</p><p class="fm">[radio sex use_label_element "男性" "女性"]</p>
<p class="ttl">年齢</p><p class="fm">[radio age use_label_element "10代" "20代" "30代" "40代" "50代 以上"]</p>
<p class="ttl">雰囲気<span>(5段階評価)</span></p><p class="fm">[radio funiki use_label_element "1" "2" "3" "4" "5"]</p>
<p class="ttl">接客サービス<span>(5段階評価)</span></p><p class="fm">[radio service use_label_element "1" "2" "3" "4" "5"]</p>
<p class="ttl">技術・仕上がり<span>(5段階評価)</span></p><p class="fm">[radio gijyutsu use_label_element "1" "2" "3" "4" "5"]</p>
<p class="ttl">メニュー・料金<span>(5段階評価)</span></p><p class="fm">[radio menuprice use_label_element "1" "2" "3" "4" "5"]</p>
<p class="ttl">総合<span>(5段階評価)</span></p><p class="fm">[radio rev use_label_element "1" "2" "3" "4" "5"]</p>
<p class="ttl">口コミ</p><p class="fm">[textarea* kuchikomitxt 30x10] </p>
<p class="ttl">確認コード</p><p class="fm">[captchac captcha size:m] → [captchar captcha 5/4]</p>
<p class="send">[submit "送信する"]</p>

(3) Contact Form 7 で作成したフォームをテンプレートに貼付ける

通常ならば『[contact-form-7 id="○○○" title="コンタクトフォーム○○○"]』等という
貼付けタグを固定ページや投稿記事にペーストして使いますが、
テンプレートに貼付けたい場合は『do_shortcode();』関数を使います。

■固定ページや投稿に貼付ける場合

[contact-form-7 id="○○○" title="コンタクトフォーム○○○"]

■テンプレートに貼付ける場合

<?php echo do_shortcode('[contact-form-7 id="○○○" title="コンタクトフォーム ○○○"]'); ?>

実際にはこんな感じで

cssも入れちゃってますが・・・

		<!-- フォーム --> 
		<style type="text/css"><!-- 
		#contact-form {
			width:278px;
			border:1px solid #ccc;
			padding:10px;
			background:#F9F0F0;
			}
		#contact-form p.ttl{
			padding:5px 0;
			font-weight:bold;
			}
		#contact-form p.ttl span{
			font-size:10px;
			font-weight:normal;
			}
		#contact-form p.fm{
			padding:5px 0 5px 0px;
			border-bottom:1px dotted #ccc;
			}
		#contact-form p.send{
			padding:10px 0 0 0;
			text-align:center;
			}
		#contact-form p.fm label{
			padding-left:10px;
			}
		.wpcf7-validation-errors {background:#fff;padding:5px; color:#993300;margin-top:10px;}
		.wpcf7-mail-sent-ok {background:#fff;padding:5px; color:#003399;margin-top:10px;}
		.wpcf7-not-valid-tip-no-ajax {padding:5px; color:#993300;margin-top:10px;clear:both;}
		 --></style>
		<div id="contact-form">
		<?php echo do_shortcode('[contact-form-7 id="719" title="コンタクトフォーム 1"]'); ?>
		</div>
		<!-- /フォーム --> 

Categoty in Contact Form 7 / Plugins / WordPress

[ec-cube] 商品詳細の説明文『詳細-メインコメント』を外部ファイル化する

without comments

なにがしかの理由で同じ商品が多く存在する場合には、商品の説明文を外部ファイル化してインクルードしてしまうのが得策。

やってみる

まずは
/data/Smarty/templates/default/products/detail.tpl

<!--{$arrProduct.main_comment|nl2br_html}-->

を↓

<!--{eval var=$arrProduct.main_comment}-->

に置き換える。

次にインクルードするファイルを用意して右図のように『詳細-メインコメント』に下記をペースト。
(※ このサンプルでは /user_data/packages/default/html/ に test.php というファイルを作成しています)

<!--{php}-->
include "../user_data/packages/default/html/test.php";
<!--{/php}-->

Categoty in EC-CUBE / PHP / Smarty

[ec-cube] スマートフォンからのアクセスでPC用のページを表示させる

without comments

あまり使い勝手の良くないスマホ専用画面

ブログに関してはスマホ専用サイトは見やすくて歓迎できるのですが、
ECサイトに関してはスマホ専用画面は使いづらい気がするので。

この辺りは個人的な見解の域を出ませんが、実装するなら下記の方法で可能。

ついでにガラケーからのアクセスは出来ない様にもしています。

対象

EC-CUBEバージョン

2.11.4

対象ファイル

/data/class/SC_Display.php

変更箇所

下記の3箇所を変更します。
(※ガラケーからのアクセスを許可する場合は(2)をスルーしてください。)

(1)109行目付近

$this->setView(new SC_SmartphoneView_Ex());
を↓
$this->setView(new SC_SiteView_Ex());
に変更

 

(2)143行目付近

return DEVICE_TYPE_MOBILE;
を↓
echo '
	<html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja">
	<head>
	<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
	<title>aconavi</title>
	<body>
	<center>
	<h1>○○○○</h1>
	</center>
	<hr/>
	<p>携帯電話からのアクセスは<br />Scope(スコープ)、Opera(オペラ)、jig(ジグ)等のフルブラウザをご使用ください。</p>
	<center>
	<p>[<a href="http://○○○○.co.jp/" target="_blank">http://○○○○.co.jp/</a>]</p>
	</center>
	<p>※フルブラウザとはパソコン向けに作られたWebサイトをそのまま閲覧できる、携帯電話など向けのWebブラウザです。</p>
	<hr/>
	<center>
	<p>Copyright &copy; 2005-2012<br />○○○○ All rights reserved. </p>
	</center>
	</body>
	</html>
';
exit;
に変更
(※『○○○○』の部分は任意に変更してください)

 

(3)145行目付近

return DEVICE_TYPE_SMARTPHONE;
を↓
return DEVICE_TYPE_PC; 
に変更

 

ダウンロード

バージョンが同じならこちらからダウンロードして /data/class/SC_Display.php に上書きしても大丈夫かと。

Categoty in EC-CUBE / iPhone / mobile / PHP / SmartPhone