<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>ヒロシの日記</title>
	<atom:link href="http://www.hiro-blog.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.hiro-blog.com</link>
	<description>熊本に住むメキシコ人とのハーフが書く日々の何気ないブログです。</description>
	<lastBuildDate>Thu, 02 Feb 2012 11:37:05 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.hiro-blog.com/feed" />
		<item>
		<title>WiMAX Try 15日無料レンタルで熊本県内のWiMAX速度マップを作りました。</title>
		<link>http://www.hiro-blog.com/2012/02/wimax-try-15%e6%97%a5%e7%84%a1%e6%96%99%e3%83%ac%e3%83%b3%e3%82%bf%e3%83%ab%e3%81%a7%e7%86%8a%e6%9c%ac%e7%9c%8c%e5%86%85%e3%81%aewimax%e9%80%9f%e5%ba%a6%e3%83%9e%e3%83%83%e3%83%97%e3%82%92%e4%bd%9c.html</link>
		<comments>http://www.hiro-blog.com/2012/02/wimax-try-15%e6%97%a5%e7%84%a1%e6%96%99%e3%83%ac%e3%83%b3%e3%82%bf%e3%83%ab%e3%81%a7%e7%86%8a%e6%9c%ac%e7%9c%8c%e5%86%85%e3%81%aewimax%e9%80%9f%e5%ba%a6%e3%83%9e%e3%83%83%e3%83%97%e3%82%92%e4%bd%9c.html#comments</comments>
		<pubDate>Wed, 01 Feb 2012 07:08:59 +0000</pubDate>
		<dc:creator>Hiro</dc:creator>
				<category><![CDATA[スマートフォン]]></category>

		<guid isPermaLink="false">http://www.hiro-blog.com/?p=3592</guid>
		<description><![CDATA[先日WiMAXの15日無料レンタルに申し込みをしてWiMAXが熊本でどの程度使えるかチェックしています。 行く先々でAndroid携帯のSpeed Testで計りました。 スマートフォンによっても表示速度が異なりますが、L-04Cで計った速度が一番安定していたのでそちらを採用しています。 目印の色は、 青＝6000kbps以上 水＝4000～5999kbps 黄＝2000～3999kbps 紫＝1000～1999kbps 赤=999kbps未満 ※何度も測定している場合は、最高速度を基準にしています。また、室内と駐車場の場合は室内を基準にしています。 店内の測定は中央あたりで測定しています。 より大きな地図で 熊本でのWiMAXの回線速度マップ(実測スピードマップ） を表示 測定した感じ、道路では安定した速度が期待できます。 ただ、お店や建物に入ったら電波が入らないことがよくあります。 レストランやイベントの参加などのレビューやFacebookなどの投稿など室内でのインターネット接続は必須であり、どれだけ早くても室内でつながらないのであれば意味がありません。 今月上旬にはWiMAXの新機種（AtermWM3600R）が発売される予定ですが、その機種では受信感度が上がっている（WiMAXハイパワー対応）ようで受信感度が2倍といわれていまが、どの程度受信状況が改善されるか疑問です。 ただ、WiMAX回線が室内でも安定的に繋がるようになれば非常に魅力のある商品になると思います。 WiMAXの規格では、最長伝送距離が2～10km（出力によっては最大50km）と高出力にもかかわらず店内に入ると届かないのは2.5GHzという高周波数帯を利用している為のようです。 WiMAXの利用ユーザー数は2011年1月末時点（1年前）で600,300と少なく、ユーザーが少ない分回線に余裕がある為に速度が速いと思われます。 ただ、WiMAXの利用ユーザーが少ないということは、それだけ全国人口カバー率が良くなる期間が延びる可能性を示唆しています。 ※最近は非常に人気があり利用ユーザーが急速に増えているようです。 普段使う場所で電波が届けば主回線として使えるほど、現在は回線の制限が無く速度が速いので非常に魅力的ではあるので、興味のある方はWiMAXの15日無料レンタルを利用してみてはいかがでしょうか？ 最新のAtermWM3600R PA-WM3600R(AT)B [ブラック]が機種代0円で年間パスポートで実質2650円（1年目）で使用できる安さも魅力です。 速度はWiMAXに比べ少し遅いけど、どこでも繋がるイーモバイルのPocketWifiか、屋内での使用が難しいけど繋がるとこでは早いWiMAXか・・・・。 あなたならどっち？！ Googleマップのデータは、誰でも測定データを書き込んでもらって構いません。 使用している時間帯や機種・日付によっても随分速度が違います。 より多くの観測データが増えれば正確でWiMAXの動向が分かります。 【テンプレート】 ===20●●年●月●日=== (駐車場) 下り:●●●●kbps 上り:●●●●kbps （店内） 下り:●●●●kbps 上り:●●●●kbps or 測定不能]]></description>
			<content:encoded><![CDATA[<div class='wb_fb_top'><div style="float:right;"></div></div><p>先日<a href="http://www.uqwimax.jp/service/trywimax/" target="_blank">WiMAXの15日無料レンタル</a>に申し込みをしてWiMAXが熊本でどの程度使えるかチェックしています。</p>
<p>行く先々でAndroid携帯の<strong>Speed Test</strong>で計りました。<br />
スマートフォンによっても表示速度が異なりますが、L-04Cで計った速度が一番安定していたのでそちらを採用しています。</p>
<p><img src="http://www.hiro-blog.com/images/2012/02/IMG_3874.jpg" alt="WiMAXのスピードチェック" title="WiMAXのスピードチェック" width="600" height="400" class="alignnone size-full wp-image-3599 colorbox-3592" /></p>
<p>目印の色は、</p>
<ul>
<li>青＝6000kbps以上</li>
<li>水＝4000～5999kbps</li>
<li>黄＝2000～3999kbps</li>
<li>紫＝1000～1999kbps</li>
<li>赤=999kbps未満</li>
</ul>
<p>※何度も測定している場合は、最高速度を基準にしています。また、室内と駐車場の場合は室内を基準にしています。</p>
<p>店内の測定は中央あたりで測定しています。</p>
<p><iframe src="http://maps.google.co.jp/maps/ms?msa=0&amp;msid=211526396664681765385.0004b76bf706716d73fb4&amp;hl=ja&amp;brcurrent=3,0x3540f414acf11b4f:0x1a51ced19bcf5c31,0&amp;ie=UTF8&amp;t=m&amp;ll=32.827673,130.746574&amp;spn=0.092319,0.109692&amp;z=13&amp;output=embed" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="640" height="640"></iframe><br />
<small>より大きな地図で <a style="color: #0000ff; text-align: left;" href="http://maps.google.co.jp/maps/ms?msa=0&amp;msid=211526396664681765385.0004b76bf706716d73fb4&amp;hl=ja&amp;brcurrent=3,0x3540f414acf11b4f:0x1a51ced19bcf5c31,0&amp;ie=UTF8&amp;t=m&amp;ll=32.827673,130.746574&amp;spn=0.092319,0.109692&amp;z=13&amp;source=embed">熊本でのWiMAXの回線速度マップ(実測スピードマップ）</a> を表示</small></p>
<p>測定した感じ、道路では安定した速度が期待できます。</p>
<p>ただ、お店や建物に入ったら電波が入らないことがよくあります。</p>
<p>レストランやイベントの参加などのレビューやFacebookなどの投稿など室内でのインターネット接続は必須であり、どれだけ早くても室内でつながらないのであれば意味がありません。</p>
<p>今月上旬には<strong>WiMAXの新機種（AtermWM3600R）</strong>が発売される予定ですが、その機種では受信感度が上がっている（<strong>WiMAXハイパワー対応</strong>）ようで受信感度が2倍といわれていまが、どの程度受信状況が改善されるか疑問です。</p>
<p>ただ、WiMAX回線が室内でも安定的に繋がるようになれば非常に魅力のある商品になると思います。</p>
<p>WiMAXの規格では、最長伝送距離が2～10km（出力によっては最大50km）と高出力にもかかわらず店内に入ると届かないのは2.5GHzという高周波数帯を利用している為のようです。</p>
<p>WiMAXの利用ユーザー数は2011年1月末時点（1年前）で600,300と少なく、ユーザーが少ない分回線に余裕がある為に速度が速いと思われます。</p>
<p>ただ、WiMAXの利用ユーザーが少ないということは、それだけ全国人口カバー率が良くなる期間が延びる可能性を示唆しています。</p>
<p><strong>※最近は非常に人気があり利用ユーザーが急速に増えているようです。</strong></p>
<p>普段使う場所で電波が届けば主回線として使えるほど、現在は回線の制限が無く速度が速いので非常に魅力的ではあるので、興味のある方は<a href="http://www.uqwimax.jp/service/trywimax/" target="_blank">WiMAXの15日無料レンタル</a>を利用してみてはいかがでしょうか？</p>
<p>最新の<a href="http://kakaku.com/item/K0000335652/">AtermWM3600R PA-WM3600R(AT)B [ブラック]</a>が機種代0円で年間パスポートで実質2650円（1年目）で使用できる安さも魅力です。</p>
<p>速度はWiMAXに比べ少し遅いけど、どこでも繋がるイーモバイルのPocketWifiか、屋内での使用が難しいけど繋がるとこでは早いWiMAXか・・・・。</p>
<p>あなたならどっち？！</p>
<p>Googleマップのデータは、誰でも測定データを書き込んでもらって構いません。<br />
使用している時間帯や機種・日付によっても随分速度が違います。<br />
より多くの観測データが増えれば正確でWiMAXの動向が分かります。<br />
【テンプレート】<br />
===20●●年●月●日===<br />
(駐車場)<br />
下り:●●●●kbps<br />
上り:●●●●kbps<br />
（店内）<br />
下り:●●●●kbps<br />
上り:●●●●kbps<br />
or<br />
測定不能</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hiro-blog.com/2012/02/wimax-try-15%e6%97%a5%e7%84%a1%e6%96%99%e3%83%ac%e3%83%b3%e3%82%bf%e3%83%ab%e3%81%a7%e7%86%8a%e6%9c%ac%e7%9c%8c%e5%86%85%e3%81%aewimax%e9%80%9f%e5%ba%a6%e3%83%9e%e3%83%83%e3%83%97%e3%82%92%e4%bd%9c.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.hiro-blog.com/2012/02/wimax-try-15%e6%97%a5%e7%84%a1%e6%96%99%e3%83%ac%e3%83%b3%e3%82%bf%e3%83%ab%e3%81%a7%e7%86%8a%e6%9c%ac%e7%9c%8c%e5%86%85%e3%81%aewimax%e9%80%9f%e5%ba%a6%e3%83%9e%e3%83%83%e3%83%97%e3%82%92%e4%bd%9c.html" />
	</item>
		<item>
		<title>Firefoxで私に必須なアドオン(拡張機能)</title>
		<link>http://www.hiro-blog.com/2012/02/firefox%e3%81%a7%e7%a7%81%e3%81%ab%e5%bf%85%e9%a0%88%e3%81%aa%e3%82%a2%e3%83%89%e3%82%aa%e3%83%b3%e6%8b%a1%e5%bc%b5%e6%a9%9f%e8%83%bd.html</link>
		<comments>http://www.hiro-blog.com/2012/02/firefox%e3%81%a7%e7%a7%81%e3%81%ab%e5%bf%85%e9%a0%88%e3%81%aa%e3%82%a2%e3%83%89%e3%82%aa%e3%83%b3%e6%8b%a1%e5%bc%b5%e6%a9%9f%e8%83%bd.html#comments</comments>
		<pubDate>Wed, 01 Feb 2012 05:37:38 +0000</pubDate>
		<dc:creator>Hiro</dc:creator>
				<category><![CDATA[ソフトウェア]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[アドオン]]></category>

		<guid isPermaLink="false">http://www.hiro-blog.com/?p=3382</guid>
		<description><![CDATA[Firefoxを使い始めて随分経ちました。 その後Chromeが出てきましたが、インストールはしているのですが、サイトデザインのバグ確認程度しかChromeを使用していません。 Chromeも同じように拡張機能が備わっていて、Firefoxにある拡張機能はほとんどあるはずです。 それでもFirefoxを使用しているのは使いなれているせいかもしれません。また、Chromeで同じ様なアドオンを探すのが面倒だというのも一つの理由です。 ColorZilla 表示しているサイト画面をカラーピッカーで色を調べる事が出来ます。 これにより画像やサイト構成の色を正確に把握できます。 Echofon Twitterを管理・運営する為のアプリです。 必要な機能は一通り揃っているので困りません。 ただ、アドオンじゃなくWindows用のアプリも公開されているので必要なくなるかもしれません。 Facebookツールバー 最近はじめたFacebookを便利にするためのツールバーです。 もう少し使い勝手のいいアドオンがあるかもしれませんが、結局Facebookページに飛んでやり取りするのでチョット疑問。 FastPrevNext 表示してるページのURLの数字やアルファベットの最後を前後してくれるアドオンです。 AutoPagerizeで対応できないブログやHPの1ページ目から10ページ目までこのボタンを使えば順番にページ移動ができるので何気に重宝しています。 Firebug 表示しているページのHTMLやCSSを表示してくれます。 他にもJavaScriptなどのバグを表示したり、CSSのパスや設定変更をして表示確認がリアルタイムに出来て重宝できます。 FireMobileSimulator ブラウザを携帯電話やスマートフォンにエミュレートしてサイトを表示してくれます。 最近では、アクセス端末により自動でPC用か携帯用やスマートフォン用に表示するサイトが増えてきました。 以前の様にURLで各端末用のデザインを表示していたのですが、JavaScript等を使ってURLを変更しなくなってきています。 そのような場合に、PCで携帯サイトやスマートフォン用サイトにアクセスするには絶対必要になるアドオンです。 Google Reader Watcher 定期的にGoogleReaderにアクセスして新しりRSS情報が更新されたら更新数を表示してくれるアドオンです。 クリックするとGoogleReaderページにアクセスできるので、私の場合は200以上増えたらクリックして読むようにしています。 たまに忙しくて放っておくと１０００＋と読む気を失せる数字を表示しますw Greasemonkey 様々なカスタマイズされた機能を追加する為のアドオンです。 便利な機能が色々なページで公開されています。 Youtubeの表示をシンプルにするやYoutubeの動画を簡単にダウンロードするなど、様々な便利機能が追加できます。 私の場合は以下の2つだけ追加しています。 AutoPagerize 様々なサイトを無限スクロールできます、Googleやブログなど重宝できる機能です。 Google Reader Full Feed Googleリーダーでアイテムの全文を表示します。 SearchStatus Googleページランクなど表示しているページの評価が分かります。 あまり気にする数値ではないのですが、一つの指標として活用しています。]]></description>
			<content:encoded><![CDATA[<div class='wb_fb_top'><div style="float:right;"></div></div><p>Firefoxを使い始めて随分経ちました。</p>
<p>その後Chromeが出てきましたが、インストールはしているのですが、サイトデザインのバグ確認程度しかChromeを使用していません。</p>
<p>Chromeも同じように拡張機能が備わっていて、Firefoxにある拡張機能はほとんどあるはずです。</p>
<p>それでもFirefoxを使用しているのは使いなれているせいかもしれません。また、Chromeで同じ様なアドオンを探すのが面倒だというのも一つの理由です。</p>
<ul>
<li><a href="http://www.colorzilla.com/firefox/" target="_blank">ColorZilla</a><br />
表示しているサイト画面をカラーピッカーで色を調べる事が出来ます。<br />
これにより画像やサイト構成の色を正確に把握できます。</li>
<li><a href="http://www.echofon.com/twitter/firefox/" target="_blank">Echofon</a><br />
Twitterを管理・運営する為のアプリです。<br />
必要な機能は一通り揃っているので困りません。<br />
ただ、アドオンじゃなくWindows用のアプリも公開されているので必要なくなるかもしれません。</li>
<li>Facebookツールバー<br />
最近はじめたFacebookを便利にするためのツールバーです。<br />
もう少し使い勝手のいいアドオンがあるかもしれませんが、結局Facebookページに飛んでやり取りするのでチョット疑問。</li>
<li><a href="https://addons.mozilla.org/ja/firefox/addon/fastprevnext/" target="_blank">FastPrevNext</a><br />
表示してるページのURLの数字やアルファベットの最後を前後してくれるアドオンです。<br />
AutoPagerizeで対応できないブログやHPの1ページ目から10ページ目までこのボタンを使えば順番にページ移動ができるので何気に重宝しています。</li>
<li><a href="http://getfirebug.com/" target="_blank">Firebug</a><br />
表示しているページのHTMLやCSSを表示してくれます。<br />
他にもJavaScriptなどのバグを表示したり、CSSのパスや設定変更をして表示確認がリアルタイムに出来て重宝できます。</li>
<li><a href="https://addons.mozilla.org/ja/firefox/addon/firemobilesimulator/" target="_blank">FireMobileSimulator</a><br />
ブラウザを携帯電話やスマートフォンにエミュレートしてサイトを表示してくれます。<br />
最近では、アクセス端末により自動でPC用か携帯用やスマートフォン用に表示するサイトが増えてきました。<br />
以前の様にURLで各端末用のデザインを表示していたのですが、JavaScript等を使ってURLを変更しなくなってきています。<br />
そのような場合に、PCで携帯サイトやスマートフォン用サイトにアクセスするには絶対必要になるアドオンです。</li>
<li><a href="http://ajnasz.hu/google-reader-watcher" target="_blank">Google Reader Watcher</a><br />
定期的にGoogleReaderにアクセスして新しりRSS情報が更新されたら更新数を表示してくれるアドオンです。<br />
クリックするとGoogleReaderページにアクセスできるので、私の場合は200以上増えたらクリックして読むようにしています。<br />
たまに忙しくて放っておくと１０００＋と読む気を失せる数字を表示しますw</li>
<li><a href="https://addons.mozilla.org/ja/firefox/addon/greasemonkey/" target="_blank">Greasemonkey</a><br />
様々なカスタマイズされた機能を追加する為のアドオンです。<br />
便利な機能が色々なページで公開されています。<br />
Youtubeの表示をシンプルにするやYoutubeの動画を簡単にダウンロードするなど、様々な便利機能が追加できます。<br />
私の場合は以下の2つだけ追加しています。</p>
<ul>
<li><a href="http://userscripts.org/scripts/show/8551" target="_blank">AutoPagerize</a><br />
様々なサイトを無限スクロールできます、Googleやブログなど重宝できる機能です。</li>
<li><a href="http://userscripts.org/scripts/show/78351" target="_blank">Google Reader Full Feed</a><br />
Googleリーダーでアイテムの全文を表示します。</li>
</ul>
</li>
<li><a href="http://www.quirk.biz/searchstatus/" target="_blank">SearchStatus</a><br />
Googleページランクなど表示しているページの評価が分かります。<br />
あまり気にする数値ではないのですが、一つの指標として活用しています。</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.hiro-blog.com/2012/02/firefox%e3%81%a7%e7%a7%81%e3%81%ab%e5%bf%85%e9%a0%88%e3%81%aa%e3%82%a2%e3%83%89%e3%82%aa%e3%83%b3%e6%8b%a1%e5%bc%b5%e6%a9%9f%e8%83%bd.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.hiro-blog.com/2012/02/firefox%e3%81%a7%e7%a7%81%e3%81%ab%e5%bf%85%e9%a0%88%e3%81%aa%e3%82%a2%e3%83%89%e3%82%aa%e3%83%b3%e6%8b%a1%e5%bc%b5%e6%a9%9f%e8%83%bd.html" />
	</item>
		<item>
		<title>EC-CUBE 2.11～ mtb_order_statusで発送待ちのID変更に対応</title>
		<link>http://www.hiro-blog.com/2012/02/ec-cube-2-11%ef%bd%9e-mtb_order_status%e3%81%a7%e7%99%ba%e9%80%81%e5%be%85%e3%81%a1%e3%81%aeid%e5%a4%89%e6%9b%b4%e3%81%ab%e5%af%be%e5%bf%9c.html</link>
		<comments>http://www.hiro-blog.com/2012/02/ec-cube-2-11%ef%bd%9e-mtb_order_status%e3%81%a7%e7%99%ba%e9%80%81%e5%be%85%e3%81%a1%e3%81%aeid%e5%a4%89%e6%9b%b4%e3%81%ab%e5%af%be%e5%bf%9c.html#comments</comments>
		<pubDate>Tue, 31 Jan 2012 16:13:35 +0000</pubDate>
		<dc:creator>Hiro</dc:creator>
				<category><![CDATA[EC-CUBE]]></category>
		<category><![CDATA[カスタマイズ]]></category>

		<guid isPermaLink="false">http://www.hiro-blog.com/?p=3375</guid>
		<description><![CDATA[EC-CUBEの管理画面⇒マスターデータ管理でmtb_order_statusを増やす場合、見た目的に順番を変更したい場合があります。 ただ、そのままIDを変更すると一部が動作しなくなります。 発送待ちの初期設定はIDが5ですが、これを変更すると全商品発送日などで情報が更新されません。 これはdata/mtb_constants_init.phpの529行目の /** 発送済み */ define('ORDER_DELIV', 5); とdata/cache/mtb_constants.phpの527行目の /** 発送済み */ define('ORDER_DELIV', 5); が定義されているためです。 この5の部分を変更したID番号にすればきちんと動作するようになります。 このように変更したIDがあればこの前後にそれぞれの設定箇所があるので修正します。 ※修正後はそれまで付けていたステータスも変わるので変更が必要になります。]]></description>
			<content:encoded><![CDATA[<div class='wb_fb_top'><div style="float:right;"></div></div><p>EC-CUBEの管理画面⇒マスターデータ管理でmtb_order_statusを増やす場合、見た目的に順番を変更したい場合があります。</p>
<p>ただ、そのままIDを変更すると一部が動作しなくなります。</p>
<p>発送待ちの初期設定はIDが5ですが、これを変更すると全商品発送日などで情報が更新されません。</p>
<p>これはdata/mtb_constants_init.phpの529行目の</p>
<pre>/** 発送済み */
define('ORDER_DELIV', <strong>5</strong>);</pre>
<p>とdata/cache/mtb_constants.phpの527行目の</p>
<pre>/** 発送済み */
define('ORDER_DELIV', <strong>5</strong>);</pre>
<p>が定義されているためです。</p>
<p>この5の部分を変更したID番号にすればきちんと動作するようになります。</p>
<p>このように変更したIDがあればこの前後にそれぞれの設定箇所があるので修正します。</p>
<p>※修正後はそれまで付けていたステータスも変わるので変更が必要になります。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hiro-blog.com/2012/02/ec-cube-2-11%ef%bd%9e-mtb_order_status%e3%81%a7%e7%99%ba%e9%80%81%e5%be%85%e3%81%a1%e3%81%aeid%e5%a4%89%e6%9b%b4%e3%81%ab%e5%af%be%e5%bf%9c.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.hiro-blog.com/2012/02/ec-cube-2-11%ef%bd%9e-mtb_order_status%e3%81%a7%e7%99%ba%e9%80%81%e5%be%85%e3%81%a1%e3%81%aeid%e5%a4%89%e6%9b%b4%e3%81%ab%e5%af%be%e5%bf%9c.html" />
	</item>
		<item>
		<title>EC-CUBE 2.11～ mtb_order_statusを増やしても適用されない場合</title>
		<link>http://www.hiro-blog.com/2012/02/ec-cube-2-11%ef%bd%9e-mtb_order_status%e3%82%92%e5%a2%97%e3%82%84%e3%81%97%e3%81%a6%e3%82%82%e9%81%a9%e7%94%a8%e3%81%95%e3%82%8c%e3%81%aa%e3%81%84%e5%a0%b4%e5%90%88.html</link>
		<comments>http://www.hiro-blog.com/2012/02/ec-cube-2-11%ef%bd%9e-mtb_order_status%e3%82%92%e5%a2%97%e3%82%84%e3%81%97%e3%81%a6%e3%82%82%e9%81%a9%e7%94%a8%e3%81%95%e3%82%8c%e3%81%aa%e3%81%84%e5%a0%b4%e5%90%88.html#comments</comments>
		<pubDate>Tue, 31 Jan 2012 16:00:43 +0000</pubDate>
		<dc:creator>Hiro</dc:creator>
				<category><![CDATA[EC-CUBE]]></category>
		<category><![CDATA[カスタマイズ]]></category>

		<guid isPermaLink="false">http://www.hiro-blog.com/?p=3373</guid>
		<description><![CDATA[管理画面のマスターデータ管理でmtb_order_statusを増やして、オーダーステータスを増やしたいことがあります。 オーダーステータスとは『新規受付』や『発送済み』など、商品の対応状況がわかるためのステータスです。 ここに『発送待ち』や『カード決済済み』など増やしても、受注管理で増やしたステータスが表示されない場合があります。 この場合、data/chache/mtb_order_status.serialとdata/chache/mtb_order_status_color.serialを削除すればいいです。 サーバによっては削除後はキャッシュが作られず、空のステータスだけになりますが、私の場合はローカル環境で作ったのを上書きしました。 ※発送済みなどのステータスIDを変更すると、一部動作しなくなりますが、そのあたりは次回mtb_order_statusでID変更に対応で書きます。]]></description>
			<content:encoded><![CDATA[<div class='wb_fb_top'><div style="float:right;"></div></div><p>管理画面のマスターデータ管理でmtb_order_statusを増やして、オーダーステータスを増やしたいことがあります。</p>
<p>オーダーステータスとは『新規受付』や『発送済み』など、商品の対応状況がわかるためのステータスです。</p>
<p>ここに『発送待ち』や『カード決済済み』など増やしても、受注管理で増やしたステータスが表示されない場合があります。</p>
<p>この場合、<strong>data/chache/mtb_order_status.serial</strong>と<strong>data/chache/mtb_order_status_color.serialを削除</strong>すればいいです。</p>
<p>サーバによっては削除後はキャッシュが作られず、空のステータスだけになりますが、私の場合はローカル環境で作ったのを上書きしました。</p>
<p>※発送済みなどのステータスIDを変更すると、一部動作しなくなりますが、そのあたりは次回mtb_order_statusでID変更に対応で書きます。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hiro-blog.com/2012/02/ec-cube-2-11%ef%bd%9e-mtb_order_status%e3%82%92%e5%a2%97%e3%82%84%e3%81%97%e3%81%a6%e3%82%82%e9%81%a9%e7%94%a8%e3%81%95%e3%82%8c%e3%81%aa%e3%81%84%e5%a0%b4%e5%90%88.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.hiro-blog.com/2012/02/ec-cube-2-11%ef%bd%9e-mtb_order_status%e3%82%92%e5%a2%97%e3%82%84%e3%81%97%e3%81%a6%e3%82%82%e9%81%a9%e7%94%a8%e3%81%95%e3%82%8c%e3%81%aa%e3%81%84%e5%a0%b4%e5%90%88.html" />
	</item>
		<item>
		<title>EC-CUBE 2.11～ 商品詳細メインコメントをパソコン用・モバイル用・スマートフォン用に別々に登録する。</title>
		<link>http://www.hiro-blog.com/2012/01/ec-cube2-11%e3%81%ae%e8%a9%b3%e7%b4%b0%e3%83%a1%e3%82%a4%e3%83%b3%e3%82%b3%e3%83%a1%e3%83%b3%e3%83%88%e3%81%ae%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%9e%e3%82%a4%e3%82%ba.html</link>
		<comments>http://www.hiro-blog.com/2012/01/ec-cube2-11%e3%81%ae%e8%a9%b3%e7%b4%b0%e3%83%a1%e3%82%a4%e3%83%b3%e3%82%b3%e3%83%a1%e3%83%b3%e3%83%88%e3%81%ae%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%9e%e3%82%a4%e3%82%ba.html#comments</comments>
		<pubDate>Sat, 21 Jan 2012 18:30:14 +0000</pubDate>
		<dc:creator>Hiro</dc:creator>
				<category><![CDATA[EC-CUBE]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[カスタマイズ]]></category>

		<guid isPermaLink="false">http://www.hiro-blog.com/?p=3355</guid>
		<description><![CDATA[折角EC-CUBEのVer.2.11～はスマートフォンに正式に対応して、個別にデザインを変更できます。 ただ出来る変更点が『レイアウトの変更』『ブロック設定』『ヘッダー・フッター設定』などサイト全体のページデザインはできますが、パソコンと同じ商品詳細コメント（商品の説明文）が表示されるので、画像は大きくて表示されなかったり、DivタグやCSSの設定でレイアウトが崩れたりと色々不都合があります。 商品説明には基本的には同じ様な文章を使いますが、HTML的には全然違う事が多いと思います。 そこでモバイルページやスマートフォン用に詳細コメントを登録できるようにします。 データベースのdtb_productsに カラム名：mobile_main_comment　データ型: text　空の値：NULL カラム名：smart_main_comment　データ型: text　空の値：NULL を登録します。 data\smarty\templates\admin\products\product.tplに太字の部分を修正または埋め込む     &#60;tr&#62;       &#60;th&#62;パソコン用詳細-メインコメント&#60;span&#62;(タグ許可)*&#60;/span&#62;&#60;/th&#62;       &#60;td&#62;&#60;span&#62;&#60;!--{$arrErr.main_comment}--&#62;&#60;/span&#62;         &#60;textarea name="main_comment" value="&#60;!--{$arrForm.main_comment&#124;h}--&#62;" maxlength="&#60;!--{$smarty.const.LLTEXT_LEN}--&#62;" style="&#60;!--{if $arrErr.main_comment != ""}--&#62;background-color: &#60;!--{$smarty.const.ERR_COLOR}--&#62;;&#60;!--{/if}--&#62;" cols="60" rows="8"&#62;&#60;!--{$arrForm.main_comment&#124;h}--&#62;&#60;/textarea&#62;         &#60;br /&#62;         &#60;span&#62; (上限&#60;!--{$smarty.const.LLTEXT_LEN}--&#62;文字)&#60;/span&#62;&#60;/td&#62;     &#60;/tr&#62;     &#60;tr&#62;       &#60;th&#62;モバイル用詳細-メインコメント&#60;span&#62;(タグ許可)*&#60;/span&#62;&#60;/th&#62;       &#60;td&#62;&#60;span&#62;&#60;!--{$arrErr.mobile_main_comment}--&#62;&#60;/span&#62;         &#60;textarea name="mobile_main_comment" value="&#60;!--{$arrForm.mobile_main_comment&#124;h}--&#62;" maxlength="&#60;!--{$smarty.const.LLTEXT_LEN}--&#62;" style="&#60;!--{if $arrErr.mobile_main_comment != ""}--&#62;background-color: &#60;!--{$smarty.const.ERR_COLOR}--&#62;;&#60;!--{/if}--&#62;" cols="60" rows="8"&#62;&#60;!--{$arrForm.mobile_main_comment&#124;h}--&#62;&#60;/textarea&#62; [...]]]></description>
			<content:encoded><![CDATA[<div class='wb_fb_top'><div style="float:right;"></div></div><p>折角EC-CUBEのVer.2.11～はスマートフォンに正式に対応して、個別にデザインを変更できます。</p>
<p>ただ出来る変更点が『レイアウトの変更』『ブロック設定』『ヘッダー・フッター設定』などサイト全体のページデザインはできますが、パソコンと同じ商品詳細コメント（商品の説明文）が表示されるので、画像は大きくて表示されなかったり、DivタグやCSSの設定でレイアウトが崩れたりと色々不都合があります。</p>
<p>商品説明には基本的には同じ様な文章を使いますが、HTML的には全然違う事が多いと思います。</p>
<p>そこでモバイルページやスマートフォン用に詳細コメントを登録できるようにします。</p>
<p>データベースのdtb_productsに<br />
カラム名：<strong>mobile_main_comment</strong>　データ型: <strong>text</strong>　空の値：<strong>NULL</strong><br />
カラム名：<strong>smart_main_comment</strong>　データ型: <strong>text</strong>　空の値：<strong>NULL</strong><br />
を登録します。</p>
<p>data\smarty\templates\admin\products\product.tplに太字の部分を修正または埋め込む</p>
<pre>    &lt;tr&gt;
      &lt;th&gt;<strong>パソコン用</strong>詳細-メインコメント&lt;span&gt;(タグ許可)*&lt;/span&gt;&lt;/th&gt;
      &lt;td&gt;&lt;span&gt;&lt;!--{$arrErr.main_comment}--&gt;&lt;/span&gt;
        &lt;textarea name="main_comment" value="&lt;!--{$arrForm.main_comment|h}--&gt;" maxlength="&lt;!--{$smarty.const.LLTEXT_LEN}--&gt;" style="&lt;!--{if $arrErr.main_comment != ""}--&gt;background-color: &lt;!--{$smarty.const.ERR_COLOR}--&gt;;&lt;!--{/if}--&gt;" cols="60" rows="8"&gt;&lt;!--{$arrForm.main_comment|h}--&gt;&lt;/textarea&gt;
        &lt;br /&gt;
        &lt;span&gt; (上限&lt;!--{$smarty.const.LLTEXT_LEN}--&gt;文字)&lt;/span&gt;&lt;/td&gt;
    &lt;/tr&gt;
   <strong> &lt;tr&gt;</strong>
<strong>      &lt;th&gt;モバイル用詳細-メインコメント&lt;span&gt;(タグ許可)*&lt;/span&gt;&lt;/th&gt;</strong>
<strong>      &lt;td&gt;&lt;span&gt;&lt;!--{$arrErr.mobile_main_comment}--&gt;&lt;/span&gt;</strong>
<strong>        &lt;textarea name="mobile_main_comment" value="&lt;!--{$arrForm.mobile_main_comment|h}--&gt;" maxlength="&lt;!--{$smarty.const.LLTEXT_LEN}--&gt;" style="&lt;!--{if $arrErr.mobile_main_comment != ""}--&gt;background-color: &lt;!--{$smarty.const.ERR_COLOR}--&gt;;&lt;!--{/if}--&gt;" cols="60" rows="8"&gt;&lt;!--{$arrForm.mobile_main_comment|h}--&gt;&lt;/textarea&gt;</strong>
<strong>        &lt;br /&gt;</strong>
<strong>        &lt;span&gt; (上限&lt;!--{$smarty.const.LLTEXT_LEN}--&gt;文字)&lt;/span&gt;&lt;/td&gt;</strong>
<strong>    &lt;/tr&gt;</strong>
<strong>    &lt;tr&gt;</strong>
<strong>      &lt;th&gt;スマフォ用詳細-メインコメント&lt;span&gt;(タグ許可)*&lt;/span&gt;&lt;/th&gt;</strong>
<strong>      &lt;td&gt;&lt;span&gt;&lt;!--{$arrErr.smart_main_comment}--&gt;&lt;/span&gt;</strong>
<strong>        &lt;textarea name="smart_main_comment" value="&lt;!--{$arrForm.smart_main_comment|h}--&gt;" maxlength="&lt;!--{$smarty.const.LLTEXT_LEN}--&gt;" style="&lt;!--{if $arrErr.smart_main_comment != ""}--&gt;background-color: &lt;!--{$smarty.const.ERR_COLOR}--&gt;;&lt;!--{/if}--&gt;" cols="60" rows="8"&gt;&lt;!--{$arrForm.smart_main_comment|h}--&gt;&lt;/textarea&gt;</strong>
<strong>        &lt;br /&gt;</strong>
<strong>        &lt;span&gt; (上限&lt;!--{$smarty.const.LLTEXT_LEN}--&gt;文字)&lt;/span&gt;&lt;/td&gt;</strong>
<strong>    &lt;/tr&gt;</strong></pre>
<p>data\smarty\templates\admin\products\confirm.tplに太字を埋め込む</p>
<pre>      &lt;tr&gt;
        &lt;th&gt;<strong>パソコン用</strong>詳細-メインコメント&lt;/th&gt;
        &lt;td&gt;&lt;!--{$arrForm.main_comment|nl2br_html}--&gt;&lt;/td&gt;
      &lt;/tr&gt;
      <strong>&lt;tr&gt;</strong>
<strong>        &lt;th&gt;モバイル用詳細-メインコメント&lt;/th&gt;</strong>
<strong>        &lt;td&gt;&lt;!--{$arrForm.mobile_main_comment|nl2br_html}--&gt;&lt;/td&gt;</strong>
<strong>      &lt;/tr&gt;</strong>
<strong>      &lt;tr&gt;</strong>
<strong>        &lt;th&gt;スマフォ用詳細-メインコメント&lt;/th&gt;</strong>
<strong>        &lt;td&gt;&lt;!--{$arrForm.smart_main_comment|nl2br_html}--&gt;&lt;/td&gt;</strong>
<strong>      &lt;/tr&gt;</strong></pre>
<p>data\class_extends\SC_Product_Ex.phpのclass SC_Product_Ex extends SC_Productに下記を埋め込む<br />
下記は以前紹介した<a title="非公開: EC-CUBEでヘッダーにh1タグを入れ商品登録でh1項目を追加する" href="../2011/12/ec-cube%e3%81%a7%e5%95%86%e5%93%81%e9%a0%85%e7%9b%ae%e3%81%abh1%e9%a0%85%e7%9b%ae%e3%82%92%e8%bf%bd%e5%8a%a0.html" rel="bookmark">EC-CUBEでヘッダーにh1タグを入れ商品登録でh1項目を追加する </a>でカスタマイズしてる状態から追加です。<br />
カスタマイズしてない場合はdata\class\SC_Product.phpから追加して太字を埋め込むする。</p>
<pre>class SC_Product_Ex extends SC_Product {
        function alldtlSQL($where = "") {
        $whereCause = "";
        if (!SC_Utils_Ex::isBlank($where)) {
            $whereCause = " WHERE " . $where;
        }
        /*
         * point_rate, deliv_fee は商品規格(dtb_products_class)ごとに保持しているが,
         * 商品(dtb_products)ごとの設定なので MAX のみを取得する.
         */
        $sql = &lt;&lt;&lt; __EOS__
            (
             SELECT dtb_products.product_id,
                    dtb_products.name,
                    dtb_products.maker_id,
                    dtb_products.status,
                    dtb_products.comment1,
                    dtb_products.comment2,
                    dtb_products.comment3,
                    dtb_products.comment4,
                    dtb_products.comment5,
                    dtb_products.comment6,
                    dtb_products.note,
                    dtb_products.h1_txt,
                    dtb_products.main_list_comment,
                    dtb_products.main_list_image,
                    dtb_products.main_comment,
<strong>                    dtb_products.mobile_main_comment,</strong>
<strong>                    dtb_products.smart_main_comment,</strong>
                    dtb_products.main_image,
                    dtb_products.main_large_image,
                    dtb_products.sub_title1,
                    dtb_products.sub_comment1,
                    dtb_products.sub_image1,
                    dtb_products.sub_large_image1,
                    dtb_products.sub_title2,
                    dtb_products.sub_comment2,
                    dtb_products.sub_image2,
                    dtb_products.sub_large_image2,
                    dtb_products.sub_title3,
                    dtb_products.sub_comment3,
                    dtb_products.sub_image3,
                    dtb_products.sub_large_image3,
                    dtb_products.sub_title4,
                    dtb_products.sub_comment4,
                    dtb_products.sub_image4,
                    dtb_products.sub_large_image4,
                    dtb_products.sub_title5,
                    dtb_products.sub_comment5,
                    dtb_products.sub_image5,
                    dtb_products.sub_large_image5,
                    dtb_products.sub_title6,
                    dtb_products.sub_comment6,
                    dtb_products.sub_image6,
                    dtb_products.sub_large_image6,
                    dtb_products.del_flg,
                    dtb_products.creator_id,
                    dtb_products.create_date,
                    dtb_products.update_date,
                    dtb_products.deliv_date_id,
                    T4.product_code_min,
                    T4.product_code_max,
                    T4.price01_min,
                    T4.price01_max,
                    T4.price02_min,
                    T4.price02_max,
                    T4.stock_min,
                    T4.stock_max,
                    T4.stock_unlimited_min,
                    T4.stock_unlimited_max,
                    T4.point_rate,
                    T4.deliv_fee,
                    T4.class_count
               FROM dtb_products
               JOIN (
                       SELECT product_id,
                              MIN(product_code) AS product_code_min,
                              MAX(product_code) AS product_code_max,
                              MIN(price01) AS price01_min,
                              MAX(price01) AS price01_max,
                              MIN(price02) AS price02_min,
                              MAX(price02) AS price02_max,
                              MIN(stock) AS stock_min,
                              MAX(stock) AS stock_max,
                              MIN(stock_unlimited) AS stock_unlimited_min,
                              MAX(stock_unlimited) AS stock_unlimited_max,
                              MAX(point_rate) AS point_rate,
                              MAX(deliv_fee) AS deliv_fee,
                              COUNT(*) as class_count
                         FROM dtb_products_class
                       $whereCause
                     GROUP BY product_id
                     ) AS T4
                 ON dtb_products.product_id = T4.product_id
        ) AS alldtl
__EOS__;
        return $sql;
    }
}</pre>
<p>data\class_extends\page_extends\admin\products\LC_Page_Admin_Products_Product_Ex.phpの最後に下記を追加する。<br />
この部分も<a title="非公開: EC-CUBEでヘッダーにh1タグを入れ商品登録でh1項目を追加する" href="../2011/12/ec-cube%e3%81%a7%e5%95%86%e5%93%81%e9%a0%85%e7%9b%ae%e3%81%abh1%e9%a0%85%e7%9b%ae%e3%82%92%e8%bf%bd%e5%8a%a0.html" rel="bookmark">EC-CUBEでヘッダーにh1タグを入れ商品登録でh1項目を追加する </a>でカスタマイズしていない場合は、data\class\page\admin\products\LC_Page_Admin_Products_Product.phpからコピーし<strong></strong><strong>、太字</strong>を追加する</p>
<pre>function lfInitFormParam(&amp;$objFormParam, $arrPost) {
        $objFormParam-&gt;addParam("商品ID", "product_id", INT_LEN, 'n', array("NUM_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("商品名", 'name', STEXT_LEN, 'KVa', array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("商品カテゴリ", "category_id", INT_LEN, 'n', array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("公開・非公開", 'status', INT_LEN, 'n', array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("商品ステータス", "product_status", INT_LEN, 'n', array("NUM_CHECK", "MAX_LENGTH_CHECK"));

        if($this-&gt;lfGetProductClassFlag($arrPost['has_product_class']) == false) {
            // 新規登録, 規格なし商品の編集の場合
            $objFormParam-&gt;addParam("商品種別", "product_type_id", INT_LEN, 'n', array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
            $objFormParam-&gt;addParam("ダウンロード商品ファイル名", "down_filename", STEXT_LEN, 'KVa', array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
            $objFormParam-&gt;addParam("ダウンロード商品実ファイル名", "down_realfilename", MTEXT_LEN, 'KVa', array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
            $objFormParam-&gt;addParam("temp_down_file", "temp_down_file", '', "", array());
            $objFormParam-&gt;addParam("save_down_file", "save_down_file", '', "", array());
            $objFormParam-&gt;addParam("商品コード", "product_code", STEXT_LEN, 'KVna', array("EXIST_CHECK", "SPTAB_CHECK","MAX_LENGTH_CHECK"));
            $objFormParam-&gt;addParam(NORMAL_PRICE_TITLE, "price01", PRICE_LEN, 'n', array("NUM_CHECK", "MAX_LENGTH_CHECK"));
            $objFormParam-&gt;addParam(SALE_PRICE_TITLE, "price02", PRICE_LEN, 'n', array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
            $objFormParam-&gt;addParam("在庫数", 'stock', AMOUNT_LEN, 'n', array("SPTAB_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
            $objFormParam-&gt;addParam("在庫無制限", "stock_unlimited", INT_LEN, 'n', array("SPTAB_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
        }
        $objFormParam-&gt;addParam("商品送料", "deliv_fee", PRICE_LEN, 'n', array("NUM_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("ポイント付与率", "point_rate", PERCENTAGE_LEN, 'n', array("EXIST_CHECK", "NUM_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("発送日目安", "deliv_date_id", INT_LEN, 'n', array("NUM_CHECK"));
        $objFormParam-&gt;addParam("購入制限", "sale_limit", AMOUNT_LEN, 'n', array("SPTAB_CHECK", "ZERO_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("メーカー", "maker_id", INT_LEN, 'n', array("NUM_CHECK"));
        $objFormParam-&gt;addParam("メーカーURL", "comment1", URL_LEN, 'a', array("SPTAB_CHECK", "URL_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("検索ワード", "comment3", LLTEXT_LEN, 'KVa', array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("ヘッダーh1テキスト", "h1_txt", LLTEXT_LEN, 'KVa', array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("備考欄(SHOP専用)", 'note', LLTEXT_LEN, 'KVa', array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("一覧-メインコメント", "main_list_comment", MTEXT_LEN, 'KVa', array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("<strong>パソコン用</strong>詳細-メインコメント", "main_comment", LLTEXT_LEN, 'KVa', array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
        <strong>$objFormParam-&gt;addParam("モバイル用詳細-メインコメント", "mobile_main_comment", LLTEXT_LEN, 'KVa', array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));</strong>
<strong>        $objFormParam-&gt;addParam("フマフォ用詳細-メインコメント", "smart_main_comment", LLTEXT_LEN, 'KVa', array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));</strong>
        $objFormParam-&gt;addParam("save_main_list_image", "save_main_list_image", '', "", array());
        $objFormParam-&gt;addParam("save_main_image", "save_main_image", '', "", array());
        $objFormParam-&gt;addParam("save_main_large_image", "save_main_large_image", '', "", array());
        $objFormParam-&gt;addParam("temp_main_list_image", "temp_main_list_image", '', "", array());
        $objFormParam-&gt;addParam("temp_main_image", "temp_main_image", '', "", array());
        $objFormParam-&gt;addParam("temp_main_large_image", "temp_main_large_image", '', "", array());

        for ($cnt = 1; $cnt &lt;= PRODUCTSUB_MAX; $cnt++) {
            $objFormParam-&gt;addParam("詳細-サブタイトル" . $cnt, "sub_title" . $cnt, STEXT_LEN, 'KVa', array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
            $objFormParam-&gt;addParam("詳細-サブコメント" . $cnt, "sub_comment" . $cnt, LLTEXT_LEN, 'KVa', array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
            $objFormParam-&gt;addParam("save_sub_image" . $cnt, "save_sub_image" . $cnt, '', "", array());
            $objFormParam-&gt;addParam("save_sub_large_image" . $cnt, "save_sub_large_image" . $cnt, '', "", array());
            $objFormParam-&gt;addParam("temp_sub_image" . $cnt, "temp_sub_image" . $cnt, '', "", array());
            $objFormParam-&gt;addParam("temp_sub_large_image" . $cnt, "temp_sub_large_image" . $cnt, '', "", array());
        }

        for ($cnt = 1; $cnt &lt;= RECOMMEND_PRODUCT_MAX; $cnt++) {
            $objFormParam-&gt;addParam("関連商品コメント" . $cnt, "recommend_comment" . $cnt, LTEXT_LEN, 'KVa', array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
            $objFormParam-&gt;addParam("関連商品ID" . $cnt, "recommend_id" . $cnt, INT_LEN, 'n', array("NUM_CHECK", "MAX_LENGTH_CHECK"));
            $objFormParam-&gt;addParam("recommend_delete" . $cnt, "recommend_delete" . $cnt, '', 'n', array());
        }

        $objFormParam-&gt;addParam("商品ID", "copy_product_id", INT_LEN, 'n', array("NUM_CHECK", "MAX_LENGTH_CHECK"));

        $objFormParam-&gt;addParam("has_product_class", "has_product_class", INT_LEN, 'n', array("NUM_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("product_class_id", "product_class_id", INT_LEN, 'n', array("NUM_CHECK", "MAX_LENGTH_CHECK"));

        $objFormParam-&gt;setParam($arrPost);
        $objFormParam-&gt;convParam();
    }
        function lfRegistProduct(&amp;$objUpFile, &amp;$objDownFile, $arrList) {
        $objQuery =&amp; SC_Query_Ex::getSingletonInstance();
        $objDb = new SC_Helper_DB_Ex();

        // 配列の添字を定義
        $checkArray = array('name', 'status',
                            "main_list_comment", "main_comment",<strong> "mobile_main_comment", "smart_main_comment",</strong>
                            "deliv_fee", "comment1", "comment2", "comment3",
                            "comment4", "comment5", "comment6", "h1_txt", "main_list_comment",
                            "sale_limit", "deliv_date_id", "maker_id", 'note');
        $arrList = SC_Utils_Ex::arrayDefineIndexes($arrList, $checkArray);

        // INSERTする値を作成する。
        $sqlval['name'] = $arrList['name'];
        $sqlval['status'] = $arrList['status'];
        $sqlval['main_list_comment'] = $arrList['main_list_comment'];
        $sqlval['main_comment'] = $arrList['main_comment'];
<strong>        $sqlval['mobile_main_comment'] = $arrList['mobile_main_comment'];</strong>
<strong>        $sqlval['smart_main_comment'] = $arrList['smart_main_comment'];</strong>
        $sqlval['comment1'] = $arrList['comment1'];
        $sqlval['comment2'] = $arrList['comment2'];
        $sqlval['comment3'] = $arrList['comment3'];
        $sqlval['comment4'] = $arrList['comment4'];
        $sqlval['comment5'] = $arrList['comment5'];
        $sqlval['comment6'] = $arrList['comment6'];
        $sqlval['h1_txt'] = $arrList['h1_txt'];
        $sqlval['main_list_comment'] = $arrList['main_list_comment'];
        $sqlval['deliv_date_id'] = $arrList['deliv_date_id'];
        $sqlval['maker_id'] = $arrList['maker_id'];
        $sqlval['note'] = $arrList['note'];
        $sqlval['update_date'] = "Now()";
        $sqlval['creator_id'] = $_SESSION['member_id'];
        $arrRet = $objUpFile-&gt;getDBFileList();
        $sqlval = array_merge($sqlval, $arrRet);

        for($cnt = 1; $cnt &lt;= PRODUCTSUB_MAX; $cnt++) {
            $sqlval['sub_title'.$cnt] = $arrList['sub_title'.$cnt];
            $sqlval['sub_comment'.$cnt] = $arrList['sub_comment'.$cnt];
        }

        $objQuery-&gt;begin();

        // 新規登録(複製時を含む)
        if($arrList['product_id'] == "") {
            $product_id = $objQuery-&gt;nextVal("dtb_products_product_id");
            $sqlval['product_id'] = $product_id;

            // INSERTの実行
            $sqlval['create_date'] = "Now()";
            $objQuery-&gt;insert("dtb_products", $sqlval);

            $arrList['product_id'] = $product_id;

            // カテゴリを更新
            $objDb-&gt;updateProductCategories($arrList['category_id'], $product_id);

            // 複製商品の場合には規格も複製する
            if($arrList["copy_product_id"] != "" &amp;&amp; SC_Utils_Ex::sfIsInt($arrList["copy_product_id"])) {
                if($this-&gt;lfGetProductClassFlag($arrList["has_product_class"]) == false) {
                    //規格なしの場合、複製は価格等の入力が発生しているため、その内容で追加登録を行う
                    $this-&gt;lfCopyProductClass($arrList, $objQuery);
                } else {
                    //規格がある場合の複製は複製元の内容で追加登録を行う
                    // dtb_products_class のカラムを取得
                    $dbFactory = SC_DB_DBFactory_Ex::getInstance();
                    $arrColList = $objQuery-&gt;listTableFields('dtb_products_class');
                    $arrColList_tmp = array_flip($arrColList);

                    // 複製しない列
                    unset($arrColList[$arrColList_tmp["product_class_id"]]);     //規格ID
                    unset($arrColList[$arrColList_tmp["product_id"]]);           //商品ID
                    unset($arrColList[$arrColList_tmp["create_date"]]);

                    // 複製元商品の規格データ取得
                    $col = SC_Utils_Ex::sfGetCommaList($arrColList);
                    $table = 'dtb_products_class';
                    $where = 'product_id = ?';
                    $objQuery-&gt;setOrder('product_class_id');
                    $arrProductsClass = $objQuery-&gt;select($col, $table, $where, array($arrList["copy_product_id"]));

                    // 複製元商品の規格組み合わせデータ登録
                    // 登録した組み合わせIDを取得
                    $arrRetCombinationId = $this-&gt;lfRegistClassCombination($arrProductsClass);

                    // 規格データ登録
                    $objQuery =&amp; SC_Query_Ex::getSingletonInstance();
                    foreach($arrProductsClass as $arrData) {
                        $sqlval = array();
                        $sqlval['product_class_id'] = $objQuery-&gt;nextVal('dtb_products_class_product_class_id');
                        $sqlval['product_id'] = $product_id;
                        $sqlval['create_date'] = 'now()';
                        $sqlval['class_combination_id'] = $arrRetCombinationId[$arrData['class_combination_id']];
                        $sqlval['product_type_id'] = $arrData['product_type_id'];
                        $sqlval['product_code'] = $arrData['product_code'];
                        $sqlval['stock'] = $arrData['stock'];
                        $sqlval['stock_unlimited'] = $arrData['stock_unlimited'];
                        $sqlval['sale_limit'] = $arrData['sale_limit'];
                        $sqlval['price01'] = $arrData['price01'];
                        $sqlval['price02'] = $arrData['price02'];
                        $sqlval['deliv_fee'] = $arrData['deliv_fee'];
                        $sqlval['point_rate'] = $arrData['point_rate'];
                        $sqlval['creator_id'] = $arrData['creator_id'];
                        $sqlval['update_date'] = 'now()';
                        $sqlval['down_filename'] = $arrData['down_filename'];
                        $sqlval['down_realfilename'] = $arrData['down_realfilename'];
                        $sqlval['del_flg'] = $arrData['del_flg'];
                        $objQuery-&gt;insert($table, $sqlval);
                    }
                }
            }
        // 更新
        } else {
            $product_id = $arrList['product_id'];
            // 削除要求のあった既存ファイルの削除
            $arrRet = $this-&gt;lfGetProductData_FromDB($arrList['product_id']);
            // TODO: SC_UploadFile::deleteDBFileの画像削除条件見直し要
            $objImage = new SC_Image_Ex($objUpFile-&gt;temp_dir);
            $arrKeyName = $objUpFile-&gt;keyname;
            $arrSaveFile = $objUpFile-&gt;save_file;
            $arrImageKey = array();
            foreach ($arrKeyName as $key =&gt; $keyname) {
                if ($arrRet[$keyname] &amp;&amp; !$arrSaveFile[$key]) {
                    $arrImageKey[] = $keyname;
                    $has_same_image = $this-&gt;lfHasSameProductImage($arrList['product_id'], $arrImageKey, $arrRet[$keyname]);
                    if (!$has_same_image) {
                        $objImage-&gt;deleteImage($arrRet[$keyname], $objUpFile-&gt;save_dir);
                    }
                }
            }
            $objDownFile-&gt;deleteDBDownFile($arrRet);
            // UPDATEの実行
            $where = "product_id = ?";
            $objQuery-&gt;update("dtb_products", $sqlval, $where, array($product_id));

            // カテゴリを更新
            $objDb-&gt;updateProductCategories($arrList['category_id'], $product_id);
        }

        // 商品登録の時は規格を生成する。複製の場合は規格も複製されるのでこの処理は不要。
        if($arrList["copy_product_id"] == "") {
            // 規格登録
            if ($objDb-&gt;sfHasProductClass($product_id)) {
                // 規格あり商品（商品規格テーブルのうち、商品登録フォームで設定するパラメータのみ更新）
                $this-&gt;lfUpdateProductClass($arrList);
            } else {
                // 規格なし商品（商品規格テーブルの更新）
                $this-&gt;lfInsertDummyProductClass($arrList);
            }
        }

        // ステータス設定
        $objProduct = new SC_Product_Ex();
        $objProduct-&gt;setProductStatus($product_id, $arrList['product_status']);

        // 関連商品登録
        $this-&gt;lfInsertRecommendProducts($objQuery, $arrList, $product_id);

        $objQuery-&gt;commit();
        return $product_id;
    }</pre>
<p>data/Smarty/templates/mobile/products/detail.tplの６３行あたりを修正する。</p>
<pre>&lt;!--★詳細メインコメント★--&gt;
[emoji:76]&lt;!--{$arrProduct.<strong>mobile_</strong>main_comment|nl2br_html}--&gt;&lt;br&gt;</pre>
<p>data/Smarty/templates/sphone/products/detail.tplの１１６行あたりを修正する。</p>
<pre>&lt;!--★詳細メインコメント★--&gt;
&lt;p&gt;&lt;!--{$arrProduct.<strong>smart_</strong>main_comment|nl2br_html}--&gt;&lt;/p&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.hiro-blog.com/2012/01/ec-cube2-11%e3%81%ae%e8%a9%b3%e7%b4%b0%e3%83%a1%e3%82%a4%e3%83%b3%e3%82%b3%e3%83%a1%e3%83%b3%e3%83%88%e3%81%ae%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%9e%e3%82%a4%e3%82%ba.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.hiro-blog.com/2012/01/ec-cube2-11%e3%81%ae%e8%a9%b3%e7%b4%b0%e3%83%a1%e3%82%a4%e3%83%b3%e3%82%b3%e3%83%a1%e3%83%b3%e3%83%88%e3%81%ae%e3%82%ab%e3%82%b9%e3%82%bf%e3%83%9e%e3%82%a4%e3%82%ba.html" />
	</item>
		<item>
		<title>EC-CUBE 2.11～ カテゴリー毎にMETAタグのkeywordとdescriptionの文章を変える。</title>
		<link>http://www.hiro-blog.com/2012/01/ec-cube-%e3%82%ab%e3%83%86%e3%82%b4%e3%83%aa%e6%af%8e%e3%81%ab%e3%83%a1%e3%82%bf%e3%82%bf%e3%82%b0%e3%81%aedescription%e3%81%ae%e6%96%87%e7%ab%a0%e3%82%92%e5%a4%89%e3%81%88%e3%82%8b%e3%80%82.html</link>
		<comments>http://www.hiro-blog.com/2012/01/ec-cube-%e3%82%ab%e3%83%86%e3%82%b4%e3%83%aa%e6%af%8e%e3%81%ab%e3%83%a1%e3%82%bf%e3%82%bf%e3%82%b0%e3%81%aedescription%e3%81%ae%e6%96%87%e7%ab%a0%e3%82%92%e5%a4%89%e3%81%88%e3%82%8b%e3%80%82.html#comments</comments>
		<pubDate>Fri, 20 Jan 2012 15:16:16 +0000</pubDate>
		<dc:creator>Hiro</dc:creator>
				<category><![CDATA[EC-CUBE]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[カスタマイズ]]></category>

		<guid isPermaLink="false">http://www.hiro-blog.com/?p=3347</guid>
		<description><![CDATA[EC-CUBEではカテゴリーのMETAタグは管理画面のSEO管理画面で一括で登録します。 なので各カテゴリーに違うMETAタグは登録できません。 最近はkeywordとdescriptionに関してはSEO対策として効果が無いと書いてあるサイトが多いですが、設定できる項目がある以上違う文章を載せたほうがいいと思います。 Googleなどの大手が『keywordとdescriptionの設定は必要ない』と正式に発表されれば設定する必要が無くなると思いますが、現在そのような発表は無いようです。 検索エンジンも日々変化しています、今はSEOに効果なくても１ヶ月後には効果が出る可能性もあります。 ※必要ないと思う方は、設定する必要がありません。 データベースのdtb_categoryに カラム名：category_keyword　データ型: text カラム名：category_description　データ型: text を追加します。 data/smarty/templates/admin/products/category.tplに下記を追加します。 &#60;table&#62;              &#60;th&#62;ヘッダーh1テキスト&#60;/th&#62;    &#60;td&#62;&#60;span&#62;&#60;!--{$arrErr.category_h1_txt}--&#62;&#60;/span&#62;    &#60;input type="text" name="category_h1_txt" value="&#60;!--{$arrForm.category_h1_txt&#124;h}--&#62;" size="65" /&#62;&#60;/td&#62;    &#60;tr&#62;    &#60;th&#62;Keyword&#60;/th&#62;    &#60;td&#62;&#60;span&#62;&#60;!--{$arrErr.category_keyword}--&#62;&#60;/span&#62;    &#60;input type="text" name="category_keyword" value="&#60;!--{$arrForm.category_keyword&#124;h}--&#62;" size="65" /&#62;&#60;/td&#62;    &#60;tr&#62;    &#60;th&#62;Description&#60;/th&#62;    &#60;td&#62;&#60;span&#62;&#60;!--{$arrErr.category_description}--&#62;&#60;/span&#62;    &#60;input type="text" name="category_description" value="&#60;!--{$arrForm.category_description&#124;h}--&#62;" size="65" /&#62;&#60;/td&#62; &#60;/table&#62; data/class_extends/products/LC_Products_List_Ex.phpに下記を追加する。 function [...]]]></description>
			<content:encoded><![CDATA[<div class='wb_fb_top'><div style="float:right;"></div></div><p>EC-CUBEではカテゴリーのMETAタグは管理画面のSEO管理画面で一括で登録します。</p>
<p>なので各カテゴリーに違うMETAタグは登録できません。</p>
<p>最近はkeywordとdescriptionに関してはSEO対策として効果が無いと書いてあるサイトが多いですが、設定できる項目がある以上違う文章を載せたほうがいいと思います。</p>
<p>Googleなどの大手が『keywordとdescriptionの設定は必要ない』と正式に発表されれば設定する必要が無くなると思いますが、現在そのような発表は無いようです。</p>
<p>検索エンジンも日々変化しています、今はSEOに効果なくても１ヶ月後には効果が出る可能性もあります。<br />
※必要ないと思う方は、設定する必要がありません。</p>
<p>データベースの<strong>dtb_category</strong>に<br />
カラム名：<strong>category_keyword</strong>　データ型: <strong>text</strong><br />
カラム名：<strong>category_description</strong>　データ型: <strong>text</strong><br />
を追加します。</p>
<p>data/smarty/templates/admin/products/category.tplに下記を追加します。</p>
<pre>&lt;table&gt;          
   &lt;th&gt;ヘッダーh1テキスト&lt;/th&gt;
   &lt;td&gt;&lt;span&gt;&lt;!--{$arrErr.category_h1_txt}--&gt;&lt;/span&gt;
   &lt;input type="text" name="category_h1_txt" value="&lt;!--{$arrForm.category_h1_txt|h}--&gt;" size="65" /&gt;&lt;/td&gt;
<strong>   &lt;tr&gt;</strong>
<strong>   &lt;th&gt;Keyword&lt;/th&gt;</strong>
<strong>   &lt;td&gt;&lt;span&gt;&lt;!--{$arrErr.category_keyword}--&gt;&lt;/span&gt;</strong>
<strong>   &lt;input type="text" name="category_keyword" value="&lt;!--{$arrForm.category_keyword|h}--&gt;" size="65" /&gt;&lt;/td&gt;</strong>
<strong>   &lt;tr&gt;</strong>
<strong>   &lt;th&gt;Description&lt;/th&gt;</strong>
<strong>   &lt;td&gt;&lt;span&gt;&lt;!--{$arrErr.category_description}--&gt;&lt;/span&gt;</strong>
<strong>   &lt;input type="text" name="category_description" value="&lt;!--{$arrForm.category_description|h}--&gt;" size="65" /&gt;&lt;/td&gt;</strong>
&lt;/table&gt;</pre>
<p>data/class_extends/products/LC_Products_List_Ex.phpに下記を追加する。</p>
<pre>function lfGetCategoryId($category_id) {

        // 指定なしの場合、0 を返す
        if (empty($category_id)) return 0;

        // 正当性チェック
        if (!SC_Utils_Ex::sfIsInt($category_id)
            || SC_Utils_Ex::sfIsZeroFilling($category_id)
            || !SC_Helper_DB_Ex::sfIsRecord('dtb_category', 'category_id', (array)$category_id, 'del_flg = 0')
            ) {
            SC_Utils_Ex::sfDispSiteError(CATEGORY_NOT_FOUND);
        }

        // 指定されたカテゴリIDを元に正しいカテゴリIDを取得する。
        $arrCategory_id = SC_Helper_DB_Ex::sfGetCategoryId('', $category_id);

        if (empty($arrCategory_id)) {
            SC_Utils_Ex::sfDispSiteError(CATEGORY_NOT_FOUND);
        }
        $objQuery = new SC_Query();
        // 追加:カテゴリ説明
        $this-&gt;category_info = $objQuery-&gt;get("category_info", "dtb_category", "category_id = ?", $arrCategory_id);
        $objQuery = new SC_Query();
        $this-&gt;category_h1_txt = $objQuery-&gt;get("category_h1_txt", "dtb_category", "category_id = ?", $arrCategory_id);
        <strong>$objQuery = new SC_Query(); </strong><strong>        $this-&gt;category_keyword = $objQuery-&gt;get("<strong>category_keyword</strong>", "dtb_category", "category_id = ?", $arrCategory_id); </strong>        <strong>$objQuery = new SC_Query();         $this-&gt;category_description = $objQuery-&gt;get("category_description", "dtb_category", "category_id = ?", $arrCategory_id);</strong>
        return $arrCategory_id[0];
    }</pre>
<p>data/class_extends/page_extends/admin/products/LC_Page_Admin_Products_Category_Ex.phpに下記を追加する。</p>
<pre>    function doPreEdit(&amp;$objFormParam) {
        $category_id = $objFormParam-&gt;getValue('category_id');

        $objQuery =&amp; SC_Query_Ex::getSingletonInstance();

        // 編集対象のカテゴリ名をDBより取得する
        $where = "category_id = ?";
        // $category_name = $objQuery-&gt;get("category_name", "dtb_category", $where, array($category_id));
            $col = "category_name, category_info, info_flg, category_h1_txt<strong>, category_keyword, category_description,</strong> level";
            $arrRet = $objQuery-&gt;select($col, "dtb_category", $where, array($_POST['category_id']));

        // 入力ボックスへカテゴリ名を保持する.
        // $this-&gt;arrForm['category_name'] = $category_name;
            $this-&gt;arrForm['category_name'] = $arrRet[0]['category_name'];
            $this-&gt;arrForm['category_info'] = $arrRet[0]['category_info'];
            $this-&gt;arrForm['info_flg'] = $arrRet[0]['info_flg'];
            $this-&gt;arrForm['category_h1_txt'] = $arrRet[0]['category_h1_txt'];
            <strong>$this-&gt;arrForm['category_keyword'] = $arrRet[0]['category_keyword'];</strong>
            <strong>$this-&gt;arrForm['category_description'] = $arrRet[0]['category_description'];</strong>
            $this-&gt;arrForm['level'] = $arrRet[0]['level'];

        // カテゴリIDを保持する.
        $this-&gt;arrForm['category_id']   = $category_id;
    }

    /**
     * カテゴリの編集を実行する.
     *
     * 下記の場合は, 編集を実行せず、エラーメッセージを表示する
     *
     * - カテゴリ名がすでに使用されている場合
     *
     * @param SC_FormParam $objFormParam
     * @return void
     */
    function doEdit(&amp;$objFormParam) {
        // 入力項目チェック
        $arrErr = $objFormParam-&gt;checkError();
        if (count($arrErr) &gt; 0) {
            $this-&gt;arrErr = $arrErr;
            $this-&gt;arrForm['category_id']   = $objFormParam-&gt;getValue('category_id');
            $this-&gt;arrForm['category_name'] = $objFormParam-&gt;getValue('category_name');
            $this-&gt;arrForm['category_info'] = $objFormParam-&gt;getValue('category_info');
            $this-&gt;arrForm['category_h1_txt'] = $objFormParam-&gt;getValue('category_h1_txt');
            <strong>$this-&gt;arrForm['category_keyword'] = $objFormParam-&gt;getValue('category_keyword');</strong>
<strong>            $this-&gt;arrForm['category_description'] = $objFormParam-&gt;getValue('category_description');</strong>
            $this-&gt;arrForm['info_flg'] = $objFormParam-&gt;getValue('info_flg');
            return;
        }

        // 重複チェック
        $objQuery =&amp; SC_Query_Ex::getSingletonInstance();
        $where = "parent_category_id = ? AND category_id &lt;&gt; ? AND category_name = ?";
        $count = $objQuery-&gt;count("dtb_category",
                                  $where,
                                  array($objFormParam-&gt;getValue('parent_category_id'),
                                        $objFormParam-&gt;getValue('category_id'),
                                        $objFormParam-&gt;getValue('category_name')));
        if ($count &gt; 0) {
            $this-&gt;arrErr['category_name']  = "※ 既に同じ内容の登録が存在します。&lt;br/&gt;";
            $this-&gt;arrForm['category_id']   = $objFormParam-&gt;getValue('category_id');
            $this-&gt;arrForm['category_name'] = $objFormParam-&gt;getValue('category_name');
            return;
        }

        // カテゴリ更新
        $arrCategory = array();
        $arrCategory['category_name'] = $objFormParam-&gt;getValue('category_name');
        $arrCategory['category_info'] = $objFormParam-&gt;getValue('category_info');
        $arrCategory['info_flg'] = $objFormParam-&gt;getValue('info_flg');
        $arrCategory['category_h1_txt'] = $objFormParam-&gt;getValue('category_h1_txt');
<strong>        $arrCategory['category_keyword'] = $objFormParam-&gt;getValue('category_keyword');</strong>
<strong>        $arrCategory['category_description'] = $objFormParam-&gt;getValue('category_description');</strong>
        $arrCategory['update_date']   = 'NOW()';
        $this-&gt;updateCategory($objFormParam-&gt;getValue('category_id'), $arrCategory);
    }

    /**
     * カテゴリの登録を実行する.
     *
     * 下記の場合は, 登録を実行せず、エラーメッセージを表示する
     *
     * - カテゴリ登録数の上限を超える場合
     * - 階層登録数の上限を超える場合
     * - カテゴリ名がすでに使用されている場合
     *
     * @param SC_FormParam $objFormParam
     * @return void
     */
    function doRegister(&amp;$objFormParam) {
        // 入力項目チェック
        $arrErr = $objFormParam-&gt;checkError();
        if (count($arrErr) &gt; 0) {
            $this-&gt;arrErr = $arrErr;
            $this-&gt;arrForm['category_name'] = $objFormParam-&gt;getValue('category_name');
            $this-&gt;arrForm['category_info'] = $objFormParam-&gt;getValue('category_info');
            $this-&gt;arrForm['info_flg'] = $objFormParam-&gt;getValue('info_flg');
            $this-&gt;arrForm['category_h1_txt'] = $objFormParam-&gt;getValue('category_h1_txt');
            <strong>$this-&gt;arrForm['category_keyword'] = $objFormParam-&gt;getValue('category_keyword');</strong>
<strong>            $this-&gt;arrForm['category_description'] = $objFormParam-&gt;getValue('category_description');</strong>
            return;
        }

        // 登録数上限チェック
        $objQuery =&amp; SC_Query_Ex::getSingletonInstance();
        $where = "del_flg = 0";
        $count = $objQuery-&gt;count("dtb_category", $where);
        if ($count &gt;= CATEGORY_MAX) {
            $this-&gt;arrErr['category_name']  = "※ カテゴリの登録最大数を超えました。&lt;br/&gt;";
            $this-&gt;arrForm['category_name'] = $objFormParam-&gt;getValue('category_name');
            return;
        }

        // 階層上限チェック
        if ($this-&gt;isOverLevel($objFormParam-&gt;getValue('parent_category_id'))) {
            $this-&gt;arrErr['category_name']  = "※ " . LEVEL_MAX . "階層以上の登録はできません。&lt;br/&gt;";
            $this-&gt;arrForm['category_name'] = $objFormParam-&gt;getValue('category_name');
            return;
        }

        // 重複チェック
        $where = "parent_category_id = ? AND category_name = ?";
        $count = $objQuery-&gt;count("dtb_category",
                                  $where,
                                  array($objFormParam-&gt;getValue('parent_category_id'),
                                        $objFormParam-&gt;getValue('category_name')));
        if ($count &gt; 0) {
            $this-&gt;arrErr['category_name']  = "※ 既に同じ内容の登録が存在します。&lt;br/&gt;";
            $this-&gt;arrForm['category_name'] = $objFormParam-&gt;getValue('category_name');
            return;
        }

        // カテゴリ登録
        $this-&gt;registerCategory($objFormParam-&gt;getValue('parent_category_id'),
                                $objFormParam-&gt;getValue('category_name'),
                                $objFormParam-&gt;getValue('category_info'),
                                $objFormParam-&gt;getValue('info_flg'),
                                $objFormParam-&gt;getValue('category_h1_txt'),
                                <strong>$objFormParam-&gt;getValue('category_keyword'),</strong>
                                <strong>$objFormParam-&gt;getValue('category_description'),</strong>
                                $_SESSION['member_id']);
    }

    /**
     * カテゴリの表示順序を上へ移動する.
     *
     * @param SC_FormParam $objFormParam
     * @return void
     */
    function doUp(&amp;$objFormParam) {
        $category_id = $objFormParam-&gt;getValue('category_id');

        $objQuery =&amp; SC_Query_Ex::getSingletonInstance();
        $objQuery-&gt;begin();
        $up_id = $this-&gt;lfGetUpRankID($objQuery, "dtb_category", "parent_category_id", "category_id", $category_id);
        if ($up_id != "") {
            // 上のグループのrankから減算する数
            $my_count = $this-&gt;lfCountChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $category_id);
                // 自分のグループのrankに加算する数
                $up_count = $this-&gt;lfCountChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $up_id);
                if ($my_count &gt; 0 &amp;&amp; $up_count &gt; 0) {
                    // 自分のグループに加算
                    $this-&gt;lfUpRankChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $category_id, $up_count);
                    // 上のグループから減算
                    $this-&gt;lfDownRankChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $up_id, $my_count);
                }
        }
        $objQuery-&gt;commit();
    }

    /**
     * カテゴリの表示順序を下へ移動する.
     *
     * @param SC_FormParam $objFormParam
     * @return void
     */
    function doDown(&amp;$objFormParam) {
        $category_id = $objFormParam-&gt;getValue('category_id');

        $objQuery =&amp; SC_Query_Ex::getSingletonInstance();
        $objQuery-&gt;begin();
        $down_id = $this-&gt;lfGetDownRankID($objQuery, "dtb_category", "parent_category_id", "category_id", $category_id);
        if ($down_id != "") {
            // 下のグループのrankに加算する数
            $my_count = $this-&gt;lfCountChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $category_id);
            // 自分のグループのrankから減算する数
            $down_count = $this-&gt;lfCountChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $down_id);
            if ($my_count &gt; 0 &amp;&amp; $down_count &gt; 0) {
                // 自分のグループから減算
                $this-&gt;lfUpRankChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $down_id, $my_count);
                // 下のグループに加算
                $this-&gt;lfDownRankChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $category_id, $down_count);
            }
        }
        $objQuery-&gt;commit();
    }

    /**
     * パラメータの初期化を行う
     *
     * @param SC_FormParam $objFormParam
     * @return void
     */
    function initParam(&amp;$objFormParam) {
        $objFormParam-&gt;addParam("親カテゴリID", "parent_category_id", null, null, array());
        $objFormParam-&gt;addParam("カテゴリID", "category_id", null, null, array());
        $objFormParam-&gt;addParam("カテゴリ名", "category_name", STEXT_LEN, 'KVa', array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("カテゴリ説明", "category_info", LLTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("親カテゴリコピーフラグ", "info_flg", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));
        $objFormParam-&gt;addParam("カテゴリh1テキスト", "category_h1_txt", LLTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));
<strong>        $objFormParam-&gt;addParam("Keywrodテキスト", "category_keyword", LLTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));</strong>
<strong>        $objFormParam-&gt;addParam("Descriptionテキスト", "category_description", LLTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));</strong>
    }

    /**
     * 親カテゴリIDでカテゴリを検索する.
     *
     * - 表示順の降順でソートする
     * - 有効なカテゴリを返す(del_flag = 0)
     *
     * @param SC_Query $objQuery
     * @param int $parent_category_id 親カテゴリID
     * @return array カテゴリの配列
     */
    function findCategoiesByParentCategoryId($parent_category_id) {
        if (!$parent_category_id) {
            $parent_category_id = 0;
        }
        $objQuery =&amp; SC_Query_Ex::getSingletonInstance();
        $col   = "category_id, category_name, level, rank";
        $where = "del_flg = 0 AND parent_category_id = ?";
        $objQuery-&gt;setOption("ORDER BY rank DESC");
        return $objQuery-&gt;select($col, "dtb_category", $where, array($parent_category_id));
    }

    /**
     * カテゴリを更新する
     *
     * @param integer $category_id 更新対象のカテゴリID
     * @param array 更新する カラム名 =&gt; 値 の連想配列
     * @return void
     */
    function updateCategory($category_id, $arrCategory) {
        $objQuery =&amp; SC_Query_Ex::getSingletonInstance();
        $objQuery-&gt;begin();
        $where = "category_id = ?";

        //追記:親の設定を引き継ぐ時
        if($arrCategory['info_flg']) {
            $parent_category_id = $objQuery-&gt;get("parent_category_id", "dtb_category", $where, array($category_id));
            $arrCategory['category_info'] = $this-&gt;lfGetParentInfo($objQuery, $parent_category_id);
        }

        $objQuery-&gt;update("dtb_category", $arrCategory, $where, array($category_id));
        $objQuery-&gt;commit();
    }

    /**
     * カテゴリを登録する
     *
     * @param integer 親カテゴリID
     * @param string カテゴリ名
     * @param integer 作成者のID
     * @return void
     */
    function registerCategory($parent_category_id, $category_name, $category_info, $info_flg, $category_h1_txt,<strong> $category_keyword, $category_description,</strong> $creator_id) {
        $objQuery =&amp; SC_Query_Ex::getSingletonInstance();
        $objQuery-&gt;begin();

        $rank = null;
        if ($parent_category_id == 0) {
            // ROOT階層で最大のランクを取得する。
            $where = "parent_category_id = ?";
            $rank = $objQuery-&gt;max('rank', "dtb_category", $where, array($parent_category_id)) + 1;
        } else {
            // 親のランクを自分のランクとする。
            $where = "category_id = ?";
            $rank = $objQuery-&gt;get('rank', "dtb_category", $where, array($parent_category_id));
            // 追加レコードのランク以上のレコードを一つあげる。
            $sqlup = "UPDATE dtb_category SET rank = (rank + 1) WHERE rank &gt;= ?";
            $objQuery-&gt;exec($sqlup, array($rank));
        }

        $where = "category_id = ?";
        // 自分のレベルを取得する(親のレベル + 1)
        $level = $objQuery-&gt;get('level', "dtb_category", $where, array($parent_category_id)) + 1;

        $arrCategory = array();
        $arrCategory['category_name'] = $category_name;
        $arrCategory['parent_category_id'] = $parent_category_id;
        $arrCategory['create_date'] = "Now()";
        $arrCategory['update_date'] = "Now()";
        $arrCategory['creator_id']  = $creator_id;
        $arrCategory['rank']        = $rank;
        $arrCategory['level']       = $level;
        $arrCategory['category_id'] = $objQuery-&gt;nextVal('dtb_category_category_id');
        $arrCategory['category_info'] = $category_info;
        $arrCategory['info_flg'] = $info_flg;
        $arrCategory['category_h1_txt'] = $category_h1_txt;
<strong>        $arrCategory['category_keyword'] = $category_keyword;</strong>
<strong>        $arrCategory['category_description'] = $category_description;</strong>

        //追記:親の設定を引き継ぐ時
        if($arrCategory['info_flg']) {
            $arrCategory['category_info'] = $this-&gt;lfGetParentInfo($objQuery, $parent_category_id);
        }

        $objQuery-&gt;insert("dtb_category", $arrCategory);

        $objQuery-&gt;commit();    // トランザクションの終了
    }

    /**
     * カテゴリの階層が上限を超えているかを判定する
     *
     * @param integer 親カテゴリID
     * @param 超えている場合 true
     */
    function isOverLevel($parent_category_id) {
        $objQuery =&amp; SC_Query_Ex::getSingletonInstance();
        $level = $objQuery-&gt;get('level', "dtb_category", "category_id = ?", array($parent_category_id));
        return $level &gt;= LEVEL_MAX;
    }

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

    // 追記:親のcategory_infoを取得する
    function lfGetParentInfo($objQuery, $pid) {
        $where = "category_id = ?";
        $parent_info = $objQuery-&gt;get("category_info", "dtb_category", $where, array($pid));
        return $parent_info;
    }</pre>
<p>data/Smarty/templates/default/site_frame.tplの該当部分を変更します。</p>
<pre>&lt;!--{if $category_description|strlen &gt;= 1}--&gt;
    &lt;meta name="description" content="&lt;!--{$category_description|h}--&gt;" /&gt;
&lt;!--{elseif $arrPageLayout.description|strlen &gt;= 1}--&gt;
    &lt;meta name="description" content="&lt;!--{$arrPageLayout.description|h}--&gt;" /&gt;
&lt;!--{/if}--&gt;
&lt;!--{if $category_keyword|strlen &gt;= 1}--&gt;
    &lt;meta name="keywords" content="&lt;!--{$category_keyword|h}--&gt;" /&gt;
&lt;!--{elseif $arrPageLayout.keyword|strlen &gt;= 1}--&gt;
    &lt;meta name="keywords" content="&lt;!--{$arrPageLayout.keyword|h}--&gt;" /&gt;
&lt;!--{/if}--&gt;</pre>
<p>これによりカテゴリー毎にKeywordとDescriptionが設定表示できるようになります。</p>
<p>設定していないカテゴリーは管理画面のSSEO管理画面で登録したkeywordとDescriptionが表示されます。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hiro-blog.com/2012/01/ec-cube-%e3%82%ab%e3%83%86%e3%82%b4%e3%83%aa%e6%af%8e%e3%81%ab%e3%83%a1%e3%82%bf%e3%82%bf%e3%82%b0%e3%81%aedescription%e3%81%ae%e6%96%87%e7%ab%a0%e3%82%92%e5%a4%89%e3%81%88%e3%82%8b%e3%80%82.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.hiro-blog.com/2012/01/ec-cube-%e3%82%ab%e3%83%86%e3%82%b4%e3%83%aa%e6%af%8e%e3%81%ab%e3%83%a1%e3%82%bf%e3%82%bf%e3%82%b0%e3%81%aedescription%e3%81%ae%e6%96%87%e7%ab%a0%e3%82%92%e5%a4%89%e3%81%88%e3%82%8b%e3%80%82.html" />
	</item>
		<item>
		<title>EC-CUBE 2.11～ 商品詳細ページのMetaタグのKeywordとDescriptionに詳細情報を使う。</title>
		<link>http://www.hiro-blog.com/2012/01/ec-cube-2-11%ef%bd%9e-%e5%95%86%e5%93%81%e8%a9%b3%e7%b4%b0%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%aemeta%e3%82%bf%e3%82%b0%e3%81%aekeyword%e3%81%a8description%e3%81%ab%e8%a9%b3%e7%b4%b0%e6%83%85%e5%a0%b1.html</link>
		<comments>http://www.hiro-blog.com/2012/01/ec-cube-2-11%ef%bd%9e-%e5%95%86%e5%93%81%e8%a9%b3%e7%b4%b0%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%aemeta%e3%82%bf%e3%82%b0%e3%81%aekeyword%e3%81%a8description%e3%81%ab%e8%a9%b3%e7%b4%b0%e6%83%85%e5%a0%b1.html#comments</comments>
		<pubDate>Fri, 20 Jan 2012 12:43:06 +0000</pubDate>
		<dc:creator>Hiro</dc:creator>
				<category><![CDATA[EC-CUBE]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[カスタマイズ]]></category>

		<guid isPermaLink="false">http://www.hiro-blog.com/?p=3343</guid>
		<description><![CDATA[EC-CUBEでの商品詳細ページのメタタグは一括設定で各ページに個別設定ができません。 DBを追加し商品登録ページに新しく設定できる欄を追加してもいいのですが、せっかく流用できる情報が商品登録ページにあるのでそれを使いたいと思います。 検索ワードをMeta Keywordに設定し、一覧メインコメントにMeta Descriptionが設定されるようになります。 data/class/pages/products/LC_Page_Products_Detail.phpのfunction action()の最後に追加します。 263行あたりに以下の太字を追加します。         //関連商品情報表示         $this-&#62;arrRecommend = $this-&#62;lfPreGetRecommendProducts($product_id);         // ログイン判定         if ($objCustomer-&#62;isLoginSuccess() === true) {             //お気に入りボタン表示             $this-&#62;tpl_login = true;             $this-&#62;is_favorite = SC_Helper_DB_Ex::sfDataExists('dtb_customer_favorite_products', 'customer_id = ? AND product_id = ?', array($objCustomer-&#62;getValue('customer_id'), $product_id));         }         //詳細ページのKeywordを検索ワードに変更         $this-&#62;arrPageLayout['keyword'] = $this-&#62;arrPageLayout['keyword']. $this-&#62;arrProduct['comment3'];        [...]]]></description>
			<content:encoded><![CDATA[<div class='wb_fb_top'><div style="float:right;"></div></div><p>EC-CUBEでの商品詳細ページのメタタグは一括設定で各ページに個別設定ができません。</p>
<p>DBを追加し商品登録ページに新しく設定できる欄を追加してもいいのですが、せっかく流用できる情報が商品登録ページにあるのでそれを使いたいと思います。</p>
<p>検索ワードをMeta Keywordに設定し、一覧メインコメントにMeta Descriptionが設定されるようになります。</p>
<p>data/class/pages/products/LC_Page_Products_Detail.phpのfunction action()の最後に追加します。</p>
<p>263行あたりに以下の太字を追加します。</p>
<pre>        //関連商品情報表示
        $this-&gt;arrRecommend = $this-&gt;lfPreGetRecommendProducts($product_id);

        // ログイン判定
        if ($objCustomer-&gt;isLoginSuccess() === true) {
            //お気に入りボタン表示
            $this-&gt;tpl_login = true;
            $this-&gt;is_favorite = SC_Helper_DB_Ex::sfDataExists('dtb_customer_favorite_products', 'customer_id = ? AND product_id = ?', array($objCustomer-&gt;getValue('customer_id'), $product_id));
        }

<strong>        //詳細ページのKeywordを検索ワードに変更</strong>
<strong>        $this-&gt;arrPageLayout['keyword'] = $this-&gt;arrPageLayout['keyword']. $this-&gt;arrProduct['comment3'];</strong>
<strong>        //詳細ページのDescriptionを一覧コメントに変更</strong>
<strong>        $this-&gt;arrPageLayout['description'] = $this-&gt;arrPageLayout['description']. $this-&gt;arrProduct['main_list_comment'];</strong></pre>
<p>これにより詳細ページのメタタグは各ページ違うのになります。</p>
<p>後は、各商品登録時にSEOを意識したキーワードや文章を各検索ワードや一覧メインコメントに設定します。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hiro-blog.com/2012/01/ec-cube-2-11%ef%bd%9e-%e5%95%86%e5%93%81%e8%a9%b3%e7%b4%b0%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%aemeta%e3%82%bf%e3%82%b0%e3%81%aekeyword%e3%81%a8description%e3%81%ab%e8%a9%b3%e7%b4%b0%e6%83%85%e5%a0%b1.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.hiro-blog.com/2012/01/ec-cube-2-11%ef%bd%9e-%e5%95%86%e5%93%81%e8%a9%b3%e7%b4%b0%e3%83%9a%e3%83%bc%e3%82%b8%e3%81%aemeta%e3%82%bf%e3%82%b0%e3%81%aekeyword%e3%81%a8description%e3%81%ab%e8%a9%b3%e7%b4%b0%e6%83%85%e5%a0%b1.html" />
	</item>
		<item>
		<title>Androidに入れている無料アプリ一覧</title>
		<link>http://www.hiro-blog.com/2012/01/android%e3%81%ab%e5%85%a5%e3%82%8c%e3%81%a6%e3%81%84%e3%82%8b%e7%84%a1%e6%96%99%e3%82%a2%e3%83%97%e3%83%aa%e4%b8%80%e8%a6%a7.html</link>
		<comments>http://www.hiro-blog.com/2012/01/android%e3%81%ab%e5%85%a5%e3%82%8c%e3%81%a6%e3%81%84%e3%82%8b%e7%84%a1%e6%96%99%e3%82%a2%e3%83%97%e3%83%aa%e4%b8%80%e8%a6%a7.html#comments</comments>
		<pubDate>Thu, 12 Jan 2012 13:56:28 +0000</pubDate>
		<dc:creator>Hiro</dc:creator>
				<category><![CDATA[スマートフォン]]></category>
		<category><![CDATA[ソフトウェア]]></category>
		<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://www.hiro-blog.com/?p=3433</guid>
		<description><![CDATA[本格的にスマートフォンを使いだして数ヶ月経ちます。 現在使っているのはL-04Cという機種で、ネットで５０００～７０００円で販売していたものです。 スペックは現行機種に比べ随分低いのですが、キーボードが使いやすくかなり私としては神機として使用しています。 様々なアプリをインストールしてはアンイントールしたりと随分様々なアプリを使用して、最近は使うアプリも定着して使っていても不満が無いほどアプリの完成度も上がってきました。 そこで、現在使用しているスマートフォンをリストアしてスッキリさせたいのでリスト化しました。 CMS Facebook Facebookは云わずと知れた世界最大のCMSサイトです。このFacebookアプリは運営会社が開発したシンプルかつ使いやすいアプリです。Facebookをやられてる方は必ずと言っていいほど入れるアプリだと思います。 Google+ Google+はFacebookに対抗するべくGoogle社が去年から始めたCMSです。後発であるからこそ使い勝手や機能は網羅していて今からのCMSですが、ユーザーが増えればFacebookの脅威になるのは間違いありません。まだGoogle+を始めてない方はアプリを入れて始めてはいかかですか？ Mixi 日本最大のCMSですが、最近はあまり盛り上がってないようです。私も同級生とのやり取り以外にはほとんど使用していませんが、やっぱりないと困るアプリです。 Seesmic FacebookやTwitter、Googleバズを１個のアプリで管理できます。チョットしたチェックや投稿はこれ１つで賄います。私はマルチアカウントに対応しているので、Twitterはこれをメインで使っています。 SoundCloud 音楽を共有するのに非常に便利なツールで、作成した音楽の発表の場や友達との音源のやり取りなどに使用しています。アップした音楽は様々なユーザーからコメントを貰ったりと活発です。 WordPress Wordpressを使用している方なら必須のアプリです。新規投稿から写真やビデオの投稿やコメントの確認など必要な事は一通りできます。 カメラ FxCamera 色々な種類のエフェクト付き写真が撮影できるアプリです。 Lento トイカメラの決定版アプリです。変わった構図で写真を撮るとおしゃれに見える不思議なアプリです。 PhotoFunia 無料で非常に多くのエフェクトや写真加工をオンライン上で簡単に加工してくれるアプリです。使い方は直感的で簡単ですが、オンライン上で加工するので少し時間がかかります。 PhotoshopExpress パソコン業界ではAdobe社のPhotoshopといえば泣く子も黙る最強のアプリです。パソコン版は高額アプリですが、Android版では無料で簡単な写真加工ができるアプリになっています。 PRO Paint Camera 日本語 こちらも様々なフィルターやエフェクト加工ができるカメラアプリです。 QRコードスキャナー ネットや名刺、フライヤーやポスターなどに記載されているQRコードを読み込むためのアプリです。この他にもCDや書籍などのバーコードを読み取り、価格やレビューを調べたりなど多機能なアプリです。 ウバ無音カメラ Free 無音で撮影できるアプリです。子供の寝顔を撮るのに重宝しています。 音楽プレーヤー doubleTwist ニューズウィークの2011年トップ10AndroidアプリランキングでNo.1となった音楽プレーヤーです。PC/Macから専用アプリを使い同期が可能です。専用アプリはiTunesにそっくりで難しくありません。 MixZing Media Player 無料でありながら、あらゆる必要な機能が入ってる最強の音楽プレーヤーだと思います。使い勝手も良く操作しやすいので基本はこればかり使っています。 ビデオプレーヤー RockPlayer YoutubeからダウンロードしたMp4やパソコンから転送したDivX（AVIファイル）などあらゆる動画ファイルに対応したビデオプレーヤーです。ただ、私の機種ではCPUが遅いのでビットレートの大きいサイズのビデオは再生できません。 インターネットラジオ TuneIn Radio 世界中のラジオを聴くことができるアプリです。日本のラジオにも対応しています。私はメキシコのラジオが聞きたくて使っています。 ブラウザ Opera Mini Opera [...]]]></description>
			<content:encoded><![CDATA[<div class='wb_fb_top'><div style="float:right;"></div></div><p>本格的にスマートフォンを使いだして数ヶ月経ちます。</p>
<p>現在使っているのはL-04Cという機種で、ネットで５０００～７０００円で販売していたものです。</p>
<p>スペックは現行機種に比べ随分低いのですが、キーボードが使いやすくかなり私としては神機として使用しています。</p>
<p>様々なアプリをインストールしてはアンイントールしたりと随分様々なアプリを使用して、最近は使うアプリも定着して使っていても不満が無いほどアプリの完成度も上がってきました。</p>
<p>そこで、現在使用しているスマートフォンをリストアしてスッキリさせたいのでリスト化しました。</p>
<h2><strong>CMS</strong></h2>
<ul>
<li><a href="https://market.android.com/details?id=com.facebook.katana&amp;feature=search_result"><img src="http://www.hiro-blog.com/images/2012/01/facebook.jpg" alt="facebook" title="facebook" width="20" height="20" class="alignnone size-full wp-image-3437 colorbox-3433" />Facebook</a><br />
Facebookは云わずと知れた世界最大のCMSサイトです。このFacebookアプリは運営会社が開発したシンプルかつ使いやすいアプリです。Facebookをやられてる方は必ずと言っていいほど入れるアプリだと思います。</li>
<li><a href="https://market.android.com/details?id=com.google.android.apps.plus&amp;feature=search_result"><img src="http://www.hiro-blog.com/images/2012/01/google.jpg" alt="google" title="google" width="20" height="20" class="alignnone size-full wp-image-3438 colorbox-3433" />Google+</a><br />
Google+はFacebookに対抗するべくGoogle社が去年から始めたCMSです。後発であるからこそ使い勝手や機能は網羅していて今からのCMSですが、ユーザーが増えればFacebookの脅威になるのは間違いありません。まだGoogle+を始めてない方はアプリを入れて始めてはいかかですか？</li>
<li><a href="https://market.android.com/details?id=jp.mixi&amp;feature=search_result#?t=W251bGwsMSwxLDEsImpwLm1peGkiXQ.."><img src="http://www.hiro-blog.com/images/2012/01/mixi1.jpg" alt="mixi" title="mixi" width="20" height="20" class="alignnone size-full wp-image-3440 colorbox-3433" />Mixi</a><br />
日本最大のCMSですが、最近はあまり盛り上がってないようです。私も同級生とのやり取り以外にはほとんど使用していませんが、やっぱりないと困るアプリです。</li>
<li><a href="https://market.android.com/details?id=com.seesmic&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5zZWVzbWljIl0."><img src="http://www.hiro-blog.com/images/2012/01/ng3dfc98.jpg" alt="Seesmic" title="Seesmic" width="20" height="20" class="alignnone size-full wp-image-3441 colorbox-3433" />Seesmic</a><br />
FacebookやTwitter、Googleバズを１個のアプリで管理できます。チョットしたチェックや投稿はこれ１つで賄います。私はマルチアカウントに対応しているので、Twitterはこれをメインで使っています。</li>
<li><a href="https://market.android.com/details?id=com.soundcloud.android&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5zb3VuZGNsb3VkLmFuZHJvaWQiXQ.."><img src="http://www.hiro-blog.com/images/2012/01/unnamed.jpg" alt="SoundCloud" title="SoundCloud" width="20" height="20" class="alignnone size-full wp-image-3442 colorbox-3433" />SoundCloud</a><br />
音楽を共有するのに非常に便利なツールで、作成した音楽の発表の場や友達との音源のやり取りなどに使用しています。アップした音楽は様々なユーザーからコメントを貰ったりと活発です。</li>
<li><a href="https://market.android.com/details?id=org.wordpress.android&amp;feature=search_result#?t=W251bGwsMSwxLDEsIm9yZy53b3JkcHJlc3MuYW5kcm9pZCJd"><img src="http://www.hiro-blog.com/images/2012/01/Wordpress.jpg" alt="Wordpress" title="Wordpress" width="20" height="20" class="alignnone size-full wp-image-3443 colorbox-3433" />WordPress</a><br />
Wordpressを使用している方なら必須のアプリです。新規投稿から写真やビデオの投稿やコメントの確認など必要な事は一通りできます。</li>
</ul>
<h2><strong>カメラ</strong></h2>
<ul>
<li><a href="https://market.android.com/details?id=ymst.android.fxcamera&amp;feature=search_result#?t=W251bGwsMSwxLDEsInltc3QuYW5kcm9pZC5meGNhbWVyYSJd"><img src="http://www.hiro-blog.com/images/2012/01/FxCamera.jpg" alt="FxCamera" title="FxCamera" width="20" height="20" class="alignnone size-full wp-image-3452 colorbox-3433" />FxCamera</a><br />
色々な種類のエフェクト付き写真が撮影できるアプリです。</li>
<li><a href="https://market.android.com/details?id=info.dimensionMaker.lento&amp;feature=search_result#?t=W251bGwsMSwxLDEsImluZm8uZGltZW5zaW9uTWFrZXIubGVudG8iXQ.."><img src="http://www.hiro-blog.com/images/2012/01/Lento.jpg" alt="Lento" title="Lento" width="20" height="20" class="alignnone size-full wp-image-3453 colorbox-3433" />Lento</a><br />
トイカメラの決定版アプリです。変わった構図で写真を撮るとおしゃれに見える不思議なアプリです。</li>
<li><a href="https://market.android.com/details?id=com.photofunia.android&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5waG90b2Z1bmlhLmFuZHJvaWQiXQ.."><img src="http://www.hiro-blog.com/images/2012/01/PhotoFunia.jpg" alt="PhotoFunia" title="PhotoFunia" width="20" height="20" class="alignnone size-full wp-image-3454 colorbox-3433" />PhotoFunia</a><br />
無料で非常に多くのエフェクトや写真加工をオンライン上で簡単に加工してくれるアプリです。使い方は直感的で簡単ですが、オンライン上で加工するので少し時間がかかります。</li>
<li><a href="https://market.android.com/details?id=com.adobe.psmobile&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5hZG9iZS5wc21vYmlsZSJd"><img src="http://www.hiro-blog.com/images/2012/01/Adobe-Photoshop-Express.jpg" alt="Adobe Photoshop Express" title="Adobe Photoshop Express" width="20" height="20" class="alignnone size-full wp-image-3455 colorbox-3433" />PhotoshopExpress</a><br />
パソコン業界ではAdobe社のPhotoshopといえば泣く子も黙る最強のアプリです。パソコン版は高額アプリですが、Android版では無料で簡単な写真加工ができるアプリになっています。</li>
<li><a href="https://market.android.com/details?id=com.popularcrowd.propaintcamera&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5wb3B1bGFyY3Jvd2QucHJvcGFpbnRjYW1lcmEiXQ.."><img src="http://www.hiro-blog.com/images/2012/01/PRO-Paint-Camera-日本語.jpg" alt="PRO Paint Camera 日本語" title="PRO Paint Camera 日本語" width="20" height="20" class="alignnone size-full wp-image-3456 colorbox-3433" />PRO Paint Camera 日本語</a><br />
こちらも様々なフィルターやエフェクト加工ができるカメラアプリです。</li>
<li><a href="https://market.android.com/details?id=com.google.zxing.client.android&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5nb29nbGUuenhpbmcuY2xpZW50LmFuZHJvaWQiXQ.."><img src="http://www.hiro-blog.com/images/2012/01/unnamed1.jpg" alt="QRコードスキャナー" title="QRコードスキャナー" width="20" height="20" class="alignnone size-full wp-image-3458 colorbox-3433" />QRコードスキャナー</a><br />
ネットや名刺、フライヤーやポスターなどに記載されているQRコードを読み込むためのアプリです。この他にもCDや書籍などのバーコードを読み取り、価格やレビューを調べたりなど多機能なアプリです。</li>
<li><a href="https://market.android.com/details?id=Cam.SILENT&amp;feature=search_result#?t=W251bGwsMSwxLDEsIkNhbS5TSUxFTlQiXQ.."><img src="http://www.hiro-blog.com/images/2012/01/ウバ-無音-カメラ-Free.jpg" alt="ウバ 無音 カメラ Free" title="ウバ 無音 カメラ Free" width="20" height="20" class="alignnone size-full wp-image-3459 colorbox-3433" />ウバ無音カメラ Free</a><br />
無音で撮影できるアプリです。子供の寝顔を撮るのに重宝しています。</li>
</ul>
<h2><strong>音楽プレーヤー</strong></h2>
<ul>
<li><a href="https://market.android.com/details?id=com.doubleTwist.androidPlayer&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5kb3VibGVUd2lzdC5hbmRyb2lkUGxheWVyIl0."><img src="http://www.hiro-blog.com/images/2012/02/doubleTwist.jpg" alt="doubleTwist" title="doubleTwist" width="20" height="20" class="alignnone size-full wp-image-3466 colorbox-3433" />doubleTwist</a><br />
ニューズウィークの2011年トップ10AndroidアプリランキングでNo.1となった音楽プレーヤーです。PC/Macから専用アプリを使い同期が可能です。専用アプリはiTunesにそっくりで難しくありません。</li>
<li><a href="https://market.android.com/details?id=com.mixzing.basic&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5taXh6aW5nLmJhc2ljIl0."><img src="http://www.hiro-blog.com/images/2012/02/MixZing-Media-Player.jpg" alt="MixZing Media Player" title="MixZing Media Player" width="20" height="20" class="alignnone size-full wp-image-3467 colorbox-3433" />MixZing Media Player</a><br />
無料でありながら、あらゆる必要な機能が入ってる最強の音楽プレーヤーだと思います。使い勝手も良く操作しやすいので基本はこればかり使っています。</li>
</ul>
<h2><strong>ビデオプレーヤー</strong></h2>
<ul>
<li><a href="https://market.android.com/details?id=com.redirectin.rockplayer.android.unified.lite&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5yZWRpcmVjdGluLnJvY2twbGF5ZXIuYW5kcm9pZC51bmlmaWVkLmxpdGUiXQ.."><img src="http://www.hiro-blog.com/images/2012/02/RockPlayer-Lite.jpg" alt="RockPlayer Lite" title="RockPlayer Lite" width="20" height="20" class="alignnone size-full wp-image-3468 colorbox-3433" />RockPlayer</a><br />
YoutubeからダウンロードしたMp4やパソコンから転送したDivX（AVIファイル）などあらゆる動画ファイルに対応したビデオプレーヤーです。ただ、私の機種ではCPUが遅いのでビットレートの大きいサイズのビデオは再生できません。</li>
</ul>
<h2><strong>インターネットラジオ</strong></h2>
<ul>
<li><a href="https://market.android.com/details?id=tunein.player&amp;feature=search_result#?t=W251bGwsMSwxLDEsInR1bmVpbi5wbGF5ZXIiXQ.."><img src="http://www.hiro-blog.com/images/2012/02/TuneIn-Radio.jpg" alt="TuneIn Radio" title="TuneIn Radio" width="20" height="20" class="alignnone size-full wp-image-3469 colorbox-3433" />TuneIn Radio</a><br />
世界中のラジオを聴くことができるアプリです。日本のラジオにも対応しています。私はメキシコのラジオが聞きたくて使っています。</li>
</ul>
<h2><strong>ブラウザ</strong></h2>
<ul>
<li><a href="https://market.android.com/details?id=com.opera.mini.android&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5vcGVyYS5taW5pLmFuZHJvaWQiXQ.."><img src="http://www.hiro-blog.com/images/2012/02/Opera-Mini.jpg" alt="Opera Mini" title="Opera Mini" width="20" height="20" class="alignnone size-full wp-image-3473 colorbox-3433" />Opera Mini</a><br />
Opera Mini はサーバーサイドでウェブページを圧縮し、データ転送量を通常のブラウザの 10 分の 1 まで減らすらしいです。安定して使い勝手がいいので標準のブラウザとして使っています。</li>
</ul>
<h2><strong>メールアプリ（メーラー）</strong></h2>
<ul>
<li><a href="https://market.android.com/details?id=com.google.android.gm&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5nb29nbGUuYW5kcm9pZC5nbSJd"><img src="http://www.hiro-blog.com/images/2012/02/Gmail.jpg" alt="Gmail" title="Gmail" width="20" height="20" class="alignnone size-full wp-image-3475 colorbox-3433" />Gmail</a><br />
云わずと知れたGoogleが提供しているGmail専用アプリです。</li>
<li><a href="https://market.android.com/details?id=jp.co.nttdocomo.carriermail&amp;feature=search_result#?t=W251bGwsMSwxLDEsImpwLmNvLm50dGRvY29tby5jYXJyaWVybWFpbCJd"><img src="http://www.hiro-blog.com/images/2012/02/spモードメール.jpg" alt="spモードメール" title="spモードメール" width="20" height="20" class="alignnone size-full wp-image-3476 colorbox-3433" />SPモードメール</a><br />
ドコモのSPモードメールを使用するためのアプリです。他のキャリアをお使いの方には必要ありません。</li>
<li><a href="https://market.android.com/details?id=org.r3pek.k9datakiller&amp;feature=search_result#?t=W251bGwsMSwxLDEsIm9yZy5yM3Blay5rOWRhdGFraWxsZXIiXQ.."><img src="http://www.hiro-blog.com/images/2012/02/K-9-Data-Killer.jpg" alt="K-9-Data-Killer" title="K-9-Data-Killer" width="20" height="20" class="alignnone size-full wp-image-3477 colorbox-3433" />K-9 Mail</a><br />
アイコンのデザインが非常にダサいのですが、非常に使えるメーラーです。Hotmailや独自ドメインメールを登録して使用しています。</li>
</ul>
<h2><strong>ツール</strong></h2>
<ul>
<li><a href="https://market.android.com/details?id=com.adamrocker.android.input.simeji&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5hZGFtcm9ja2VyLmFuZHJvaWQuaW5wdXQuc2ltZWppIl0."><img src="http://www.hiro-blog.com/images/2012/02/Simeji.jpg" alt="Simeji" title="Simeji" width="20" height="20" class="alignnone size-full wp-image-3482 colorbox-3433" />Simeji</a><br />
無料で非常に使い勝手のいい日本語IMEです。最近では<a href="https://market.android.com/details?id=com.google.android.inputmethod.japanese&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5nb29nbGUuYW5kcm9pZC5pbnB1dG1ldGhvZC5qYXBhbmVzZSJd">Google 日本語入力</a>も公開されましたが、私の機種では画面の解像度が低くキーボードを使うときにも画面にソフトウェアキーボードが表示されると非常に見にくく使い勝手が悪いので、キーボードを使用しているときは画面のキーボードが非表示されるSimejiばかり使っています。</li>
<li><a href="https://market.android.com/details?id=com.magmamobile.app.apkinstaller&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5tYWdtYW1vYmlsZS5hcHAuYXBraW5zdGFsbGVyIl0."><img src="http://www.hiro-blog.com/images/2012/02/Apk-Manager.jpg" alt="Apk-Manager" title="Apk-Manager" width="20" height="20" class="alignnone size-full wp-image-3483 colorbox-3433" />Apk manager</a><br />
インターネット上にはAndroidマーケットで公開されていないアプリ（APKファイル）やバックアップしていたアプリ（APKファイル）を簡単にインストールするためのアプリです。SDカード上に入っているAPKファイルを自動で認識してくれて一覧で表示してくれます。私は使いませんが、現在インストールしているアプリのアンストールもできます。</li>
<li><a href="https://market.android.com/details?id=com.dropbox.android&amp;feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5kcm9wYm94LmFuZHJvaWQiXQ.."><img src="http://www.hiro-blog.com/images/2012/02/Dropbox.jpg" alt="Dropbox" title="Dropbox" width="20" height="20" class="alignnone size-full wp-image-3484 colorbox-3433" />Dropbox</a><br />
以前<a href="http://www.hiro-blog.com/2011/02/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B8%E3%81%AEdropbox%E3%82%92%E4%BD%BF%E3%81%86.html">紹介したDropbox</a>のAndroid版です。インターネット上で写真や音楽ファイルなどを管理・共有できるので非常に重宝しています。カメラアプリの設定で保存データをSDカードのDropbox→Photoに変更すれば自動でパソコンと連携が取れて便利です。</li>
<li><a href="https://market.android.com/details?id=com.estrongs.android.pop&amp;feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5lc3Ryb25ncy5hbmRyb2lkLnBvcCJd"><img src="http://www.hiro-blog.com/images/2012/02/ESファイルエクスプローラー.jpg" alt="ESファイルエクスプローラー" title="ESファイルエクスプローラー" width="20" height="20" class="alignnone size-full wp-image-3485 colorbox-3433" />ESファイルエクスプローラー</a><br />
SDカード内のファイル管理からLANファイルやFTPなどの機能も備えてファイルの管理に使えるアプリです。root化していれば他にも色々できることが増えるようです。</li>
<li><a href="https://market.android.com/details?id=com.gau.go.launcherex&amp;feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5nYXUuZ28ubGF1bmNoZXJleCJd"><img src="http://www.hiro-blog.com/images/2012/02/GO-ランチャー-EX.jpg" alt="GO-ランチャー-EX" title="GO-ランチャー-EX" width="20" height="20" class="alignnone size-full wp-image-3486 colorbox-3433" />GoランチャーEX</a><br />
今まで様々なランチャーを使ってきたのですが、機能の豊富さとプラグインの多さはNo.1です。多機能な分少々重たいですが、標準でできることも多く<a href="https://market.android.com/details?id=com.gau.go.launcherex&amp;feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5nYXUuZ28ubGF1bmNoZXJleCJd">GoランチャーEX</a>を入れて3つほど専用アプリを消しました。</li>
<li><a href="https://market.android.com/search?q=Go%E3%83%A9%E3%83%B3%E3%83%81%E3%83%A3%E3%83%BC&amp;c=apps">Goランチャーのツール類</a><br />
Goランチャーには豊富なプラグインやテーマが公開されています。無料なものから有料なものまで様々ですが、Androidマーケットとは別に専用のGo Storeというマーケットもあるので非常に探しやすいです。</li>
<li><a href="https://market.android.com/details?id=com.google.android.apps.reader&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5nb29nbGUuYW5kcm9pZC5hcHBzLnJlYWRlciJd"><img class="colorbox-3433"  src="http://www.hiro-blog.com/images/2012/02/Google-Reader.jpg" alt="Google Reader" title="Google Reader" width="20" height="20" />Google Reader</a><br />
Googleリーダーに登録しているRSSを見るためのアプリです。他にも色々なアプリがありますが、シンプルで使い勝手がいいのでこれに落ち着いています。</li>
<li><a href="https://market.android.com/details?id=com.google.android.stardroid&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5nb29nbGUuYW5kcm9pZC5zdGFyZHJvaWQiXQ.."><img src="http://www.hiro-blog.com/images/2012/02/Google-Sky-Map.jpg" alt="Google Sky Map" title="Google Sky Map" width="20" height="20" class="alignnone size-full wp-image-3487 colorbox-3433" />Google Skyマップ</a><br />
星空を見るためのアプリです。1番星の名前を調べたりや自分の星座がどれかを探したりかなり面白いアプリです。実用的に作られていて操作性も簡単で誰でも使えるお勧めのアプリです。</li>
<li><a href="https://market.android.com/details?id=jp.meloncake.mydocomo&amp;feature=search_result#?t=W251bGwsMSwyLDEsImpwLm1lbG9uY2FrZS5teWRvY29tbyJd"><img src="http://www.hiro-blog.com/images/2012/02/My-docomo-checker.jpg" alt="My docomo checker" title="My docomo checker" width="20" height="20" class="alignnone size-full wp-image-3489 colorbox-3433" />My docomo checker</a><br />
My docomoの料金情報を簡単に確認できるアプリです。他のキャリアの方は必要ないアプリです。</li>
<li><a href="https://market.android.com/details?id=com.shazam.android&amp;feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5zaGF6YW0uYW5kcm9pZCJd"><img src="http://www.hiro-blog.com/images/2012/02/Shazam.jpg" alt="Shazam" title="Shazam" width="20" height="20" class="alignnone size-full wp-image-3491 colorbox-3433" />Shazam</a><br />
レストランに食べに行った時にかかっていた曲や、あの曲ってなんだったかな～と鼻歌で検索かけたりできるアプリです。<a href="https://market.android.com/details?id=tunein.player&amp;feature=search_result#?t=W251bGwsMSwxLDEsInR1bmVpbi5wbGF5ZXIiXQ..">TuneIn Radio</a>をかけながら流れている音楽を検索もできます。海外のローカル音楽には弱いです。日常的に使うアプリじゃないですが、非常に簡単に検索ができて面白いです。</li>
<li><a href="https://market.android.com/details?id=com.bolero.skydrivebrowser&amp;feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5ib2xlcm8uc2t5ZHJpdmVicm93c2VyIl0."><img src="http://www.hiro-blog.com/images/2012/02/SkyDrive-Browser.jpg" alt="SkyDrive Browser" title="SkyDrive Browser" width="20" height="20" class="alignnone size-full wp-image-3492 colorbox-3433" />SkyDrive Browser</a><br />
25GBも無料で使えるSkyDriveを使うための専用アプリです。Dropboxと同じようなものですが、25GBと容量が全く違いますｗ使い勝手はDropboxの方が手軽で簡単ですが、大きい動画ファイルや音楽ファイルはこちらにアップして使っています。</li>
<li><a href="https://market.android.com/details?id=com.skype.raider&amp;feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5za3lwZS5yYWlkZXIiXQ.."><img src="http://www.hiro-blog.com/images/2012/02/Skype.jpg" alt="Skype" title="Skype" width="20" height="20" class="alignnone size-full wp-image-3493 colorbox-3433" />Skype</a><br />
世界中どこでもSkype同士の電話は無料で使用できるアプリです。PCだろうがiPhoneだろうがSkypeがインストールされていれば誰でも無料で電話ができます。機種によってはビデオ電話も無料できます。私は激安でメキシコの固定電話に電話するために使っています。</li>
<li><a href="https://market.android.com/details?id=com.melodis.midomiMusicIdentifier.freemium&amp;feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5tZWxvZGlzLm1pZG9taU11c2ljSWRlbnRpZmllci5mcmVlbWl1bSJd"><img src="http://www.hiro-blog.com/images/2012/02/SoundHound.jpg" alt="" title="SoundHound" width="20" height="20" class="alignnone size-full wp-image-3494 colorbox-3433" />SoundHound</a><br />
Shazamと同じように曲の検索をしてくれるアプリですが、海外のローカル音楽にもしっかり検索ができこちらをメインで使っています。</li>
<li><a href="https://market.android.com/details?id=com.sportstracklive.stopwatch&amp;feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5zcG9ydHN0cmFja2xpdmUuc3RvcHdhdGNoIl0."><img src="http://www.hiro-blog.com/images/2012/02/StopWatch-Timer.jpg" alt="StopWatch &amp; Timer" title="StopWatch &amp; Timer" width="20" height="20" class="alignnone size-full wp-image-3495 colorbox-3433" />StopWatch &amp; Timer</a><br />
ストップウォッチとタイマー機能が付いたアプリです。使い方はシンプルでトランポリンをしている時に使用しています。普通はカップラーメンを作る時に使うのかな？</li>
<li><a href="https://market.android.com/details?id=jp.co.johospace.jorte&amp;feature=search_result#?t=W251bGwsMSwxLDEsImpwLmNvLmpvaG9zcGFjZS5qb3J0ZSJd"><img src="http://www.hiro-blog.com/images/2012/02/ジョルテ.jpg" alt="ジョルテ" title="ジョルテ" width="20" height="20" class="alignnone size-full wp-image-3497 colorbox-3433" />ジョルテ</a><br />
システム手帳アプリです。多機能でウィジェットを使用していますが、管理が簡単で手軽に使えるのが魅力です。</li>
<li><a href="https://market.android.com/details?id=com.matsumo.babar&amp;feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5tYXRzdW1vLmJhYmFyIl0."><img src="http://www.hiro-blog.com/images/2012/02/ﾊﾞﾊﾞｧ.jpg" alt="ﾊﾞﾊﾞｧ" title="ﾊﾞﾊﾞｧ" width="20" height="20" class="alignnone size-full wp-image-3498 colorbox-3433" />ババァ</a><br />
バッテリー残量をバーで表示してくれるアプリです。邪魔にならないので重宝しています。</li>
<li><a href="https://market.android.com/details?id=jp.co.nhk.diet&amp;feature=search_result#?t=W251bGwsMSwyLDEsImpwLmNvLm5oay5kaWV0Il0."><img src="http://www.hiro-blog.com/images/2012/02/計るだけダイエット.jpg" alt="計るだけダイエット" title="計るだけダイエット" width="20" height="20" class="alignnone size-full wp-image-3499 colorbox-3433" />計るだけダイエット</a><br />
ためしてガッテンから生まれたアプリです。ダイエットを始める方にお勧めのアプリです。</li>
</ul>
<h2><strong>ゲーム</strong></h2>
<ul>
<li><a href="https://market.android.com/details?id=com.rovio.angrybirds&amp;feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5yb3Zpby5hbmdyeWJpcmRzIl0."><img src="http://www.hiro-blog.com/images/2012/02/Angry-Birds.jpg" alt="Angry-Birds" title="Angry-Birds" width="20" height="20" class="alignnone size-full wp-image-3500 colorbox-3433" />Angry Birds</a><br />
云わずと知れた世界一のゲームユーザーを誇るゲームです。スマートフォンに変えたら必ず入れるゲームの一つだと思います。色々なバージョンが出てて長くできるゲームです。</li>
<li><a href="https://market.android.com/details?id=uk.co.aifactory.rrfree&amp;feature=search_result#?t=W251bGwsMSwyLDEsInVrLmNvLmFpZmFjdG9yeS5ycmZyZWUiXQ.."><img src="http://www.hiro-blog.com/images/2012/02/Reversi-Free.jpg" alt="Reversi Free" title="Reversi Free" width="20" height="20" class="alignnone size-full wp-image-3501 colorbox-3433" />Reversi Free</a><br />
誰でも一度はやったことのあるゲームだと思います。チョットした脳トレですね。</li>
<li><a href="https://market.android.com/details?id=com.noodlecake.ssg&amp;feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5ub29kbGVjYWtlLnNzZyJd"><img src="http://www.hiro-blog.com/images/2012/02/Super-Stickman-Golf.jpg" alt="Super Stickman Golf" title="Super Stickman Golf" width="20" height="20" class="alignnone size-full wp-image-3502 colorbox-3433" />Super Stickman</a><br />
簡単なゴルフゲームです。シンプルな操作で気軽に遊べます。</li>
<li><a href="https://market.android.com/details?id=com.playboxgames.pbswitch"><img src="http://www.hiro-blog.com/images/2012/02/Switch.jpg" alt="Switch" title="Switch" width="20" height="20" class="alignnone size-full wp-image-3503 colorbox-3433" />Switch</a><br />
スピード感抜群のレースゲームです。</li>
<li><a href="https://market.android.com/details?id=com.kiragames.unblockmefree&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5raXJhZ2FtZXMudW5ibG9ja21lZnJlZSJd"><img src="http://www.hiro-blog.com/images/2012/02/Unblock-Me-FREE.jpg" alt="Unblock Me FREE" title="Unblock Me FREE" width="20" height="20" class="alignnone size-full wp-image-3504 colorbox-3433" />Unblock Me Free<br />
</a>複数のブロックを動かし一つのブロックを出口に通す脳トレゲームです。面が多いので長く楽しめます。</li>
<li><a href="https://market.android.com/details?id=jp.co.hangame.s_brain"><img src="http://www.hiro-blog.com/images/2012/02/ブレインプラス.jpg" alt="ブレインプラス" title="ブレインプラス" width="20" height="20" class="alignnone size-full wp-image-3506 colorbox-3433" />ブレインプラス</a><br />
光った順番を覚える脳トレゲームです。</li>
<li><a href="https://market.android.com/details?id=jp.ken1shogi&amp;feature=search_result#?t=W251bGwsMSwxLDEsImpwLmtlbjFzaG9naSJd"><img src="http://www.hiro-blog.com/images/2012/02/将皇.jpg" alt="将皇" title="将皇" width="20" height="20" class="alignnone size-full wp-image-3505 colorbox-3433" />将皇</a><br />
じっくり暇つぶしをするときに便利な将棋ゲームです。</li>
</ul>
<h2><strong>楽器</strong></h2>
<ul>
<li><a href="https://market.android.com/details?id=com.rabugentom.chordfree&amp;feature=more_from_developer#?t=W251bGwsMSwxLDEwMiwiY29tLnJhYnVnZW50b20uY2hvcmRmcmVlIl0."><img class="colorbox-3433"  src="http://www.hiro-blog.com/images/2012/02/Chord-Free.jpg" alt="Chord!-Free" title="Chord!-Free" width="20" height="20" />Chord!</a><br />
ギターのコードを調べるためのアプリです。有料版はスケールや逆引きができて便利なのでよくつかわれる方はそちらがお勧めです。</li>
<li><a href="https://market.android.com/details?id=org.cohortor.gstrings&amp;feature=search_result#?t=W251bGwsMSwxLDEsIm9yZy5jb2hvcnRvci5nc3RyaW5ncyJd"><img class="colorbox-3433"  src="http://www.hiro-blog.com/images/2012/02/Tuner-gStrings-Free.jpg" alt="Tuner---gStrings-Free" title="Tuner---gStrings-Free" width="20" height="20" />gStrings</a><br />
ギターなどの楽器をのチューニングするためのアプリです。シンプルで使い勝手がいいです。</li>
</ul>
<h2><strong>勉強</strong></h2>
<ul>
<li><a href="https://market.android.com/details?id=com.KokoroCinderella.OneMinuteEnglishDialogueFree&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5Lb2tvcm9DaW5kZXJlbGxhLk9uZU1pbnV0ZUVuZ2xpc2hEaWFsb2d1ZUZyZWUiXQ.."><img class="colorbox-3433"  src="http://www.hiro-blog.com/images/2012/01/1分間英会話360.jpg" alt="1分間英会話360" title="1分間英会話360" width="20" height="20" />１分英会話（無料版）</a><br />
チョットした英会話を覚えたいときに便利なアプリです。</li>
<li><a href="https://market.android.com/details?id=com.rss.lessons.guitar.videos&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5yc3MubGVzc29ucy5ndWl0YXIudmlkZW9zIl0."><img class="colorbox-3433"  src="http://www.hiro-blog.com/images/2012/01/ギターのレッスンの動画を学ぶ.jpg" alt="ギターのレッスンの動画を学ぶ" title="ギターのレッスンの動画を学ぶ" width="20" height="20" />Guitar Lesson Videos</a><br />
このアプリはエレキギターのレッスンがメインで動画紹介されていますが、アコースティック用のアプリもあります。</li>
<li><a href="https://market.android.com/details?id=info.avelco&amp;feature=search_result#?t=W251bGwsMSwxLDEsImluZm8uYXZlbGNvIl0."><img class="colorbox-3433"  src="http://www.hiro-blog.com/images/2012/01/スペイン語動詞活用-Lite.jpg" alt="スペイン語動詞活用 Lite" title="スペイン語動詞活用 Lite" width="20" height="20" />スペイン語動詞活用 Lite</a><br />
スペイン語の動詞活用を参照できるアプリです。無料版でも様々な動詞の活用がチェックできるので便利です。</li>
<li><a href="https://market.android.com/details?id=com.kujirahand.EJDict&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5rdWppcmFoYW5kLkVKRGljdCJd"><img class="colorbox-3433"  src="http://www.hiro-blog.com/images/2012/01/最小英和辞典.jpg" alt="最小英和辞典" title="最小英和辞典" width="20" height="20" />最少英和辞典</a><br />
46,000以上の英単語が入った英和辞典です。日本語から検索する機能もあり十分使えるアプリです。</li>
</ul>
<h2><strong>料理（レシピ）</strong></h2>
<ul>
<li><a href="https://market.android.com/details?id=com.allrecipes.spinner.free&amp;feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5hbGxyZWNpcGVzLnNwaW5uZXIuZnJlZSJd"><img src="http://www.hiro-blog.com/images/2012/02/Allrecipes.com-Dinner-Spinner.jpg" alt="Allrecipes.com Dinner Spinner" title="Allrecipes.com Dinner Spinner" width="20" height="20" class="alignnone size-full wp-image-3507 colorbox-3433" />Allrecipes.com Dinner Spinner</a></li>
<li><a href="https://market.android.com/details?id=com.feelsocial.foodstreet.mexican&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5mZWVsc29jaWFsLmZvb2RzdHJlZXQubWV4aWNhbiJd"><img src="http://www.hiro-blog.com/images/2012/02/Food-Street-Mexican.jpg" alt="Food Street-Mexican" title="Food Street-Mexican" width="20" height="20" class="alignnone size-full wp-image-3508 colorbox-3433" />Food Street-Mexican</a></li>
<li><a href="https://market.android.com/details?id=com.villy.recetario&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS52aWxseS5yZWNldGFyaW8iXQ.."><img src="http://www.hiro-blog.com/images/2012/02/Recetario.jpg" alt="Recetario" title="Recetario" width="20" height="20" class="alignnone size-full wp-image-3509 colorbox-3433" />Recetario</a></li>
</ul>
<h2><strong>要ルート化アプリ（有料も含む）</strong></h2>
<ul>
<li><a href="https://market.android.com/details?id=com.elsdoerfer.android.autostarts&amp;feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5lbHNkb2VyZmVyLmFuZHJvaWQuYXV0b3N0YXJ0cyJd"><img src="http://www.hiro-blog.com/images/2012/02/Autostarts.jpg" alt="Autostarts" title="Autostarts" width="20" height="20" class="alignnone size-full wp-image-3478 colorbox-3433" />Autostarts</a>（有料￥99）<br />
必要のないアプリをKill（起動しないようにする）為のアプリです。</li>
<li><a href="https://market.android.com/details?id=com.googlecode.droidwall.free&amp;feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5nb29nbGVjb2RlLmRyb2lkd2FsbC5mcmVlIl0."><img src="http://www.hiro-blog.com/images/2012/02/DroidWall.jpg" alt="DroidWall" title="DroidWall" width="20" height="20" class="alignnone size-full wp-image-3479 colorbox-3433" />Droidwall</a><br />
Android版のファイアーウォールです。Wi-fiと３Gを個別にアプリで通信の許可・拒否を設定できるアプリです。</li>
<li><a href="https://market.android.com/details?id=com.keramidas.TitaniumBackup&amp;feature=search_result#?t=W251bGwsMSwxLDEsImNvbS5rZXJhbWlkYXMuVGl0YW5pdW1CYWNrdXAiXQ.."><img src="http://www.hiro-blog.com/images/2012/02/Titanium-Backup.jpg" alt="tanium Backup" title="Titanium Backup" width="20" height="20" class="alignnone size-full wp-image-3480 colorbox-3433" />Titanium Backup</a><br />
最強のバックアップツールアプリです。アプリのバックアップだけでなく設定やキャッシュまでバックアップするのでリストアが非常に簡単です。</li>
</ul>
<h2><strong>アンインストールしたアプリ（覚えているだけ）</strong></h2>
<ul>
<li><a href="https://market.android.com/details?id=com.sharpcast.sugarsync&amp;feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5zaGFycGNhc3Quc3VnYXJzeW5jIl0."><img class="colorbox-3433"  src="http://www.hiro-blog.com/images/2012/02/SugarSync.jpg" alt="SugarSync" title="SugarSync" width="20" height="20" />SugarSync</a><br />
最近入れたアプリですが、無料で使えるストレージも５GBあり十分でしたが使い勝手で<a href="https://market.android.com/details?id=com.dropbox.android&amp;feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5kcm9wYm94LmFuZHJvaWQiXQ..">Dropbox</a>に勝てませんでした。</li>
<li><a href="https://market.android.com/details?id=com.zdworks.android.toolbox&amp;feature=search_result#?t=W251bGwsMSwyLDEsImNvbS56ZHdvcmtzLmFuZHJvaWQudG9vbGJveCJd"><img src="http://www.hiro-blog.com/images/2012/02/ZDbox.jpg" alt="ZDbox" title="ZDbox" width="20" height="20" class="alignnone size-full wp-image-3511 colorbox-3433" />ZDbox</a><br />
システムツールアプリで非常に使い勝手がいいアプリでしたが、<a href="https://market.android.com/details?id=com.gau.go.launcherex&amp;feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5nYXUuZ28ubGF1bmNoZXJleCJd">GoランチャーEX</a>だけで同じことができるようになったので必要が無くなりました。</li>
<li><img src="http://www.hiro-blog.com/images/2012/01/SiMi-Folder-Widget.jpg" alt="SiMi Folder Widget" title="SiMi Folder Widget" width="20" height="20" class="alignnone size-full wp-image-3601 colorbox-3433" /><a href="https://market.android.com/details?id=com.th.android.widget.SiMiFolder&amp;feature=more_from_developer#?t=W251bGwsMSwxLDEwMiwiY29tLnRoLmFuZHJvaWQud2lkZ2V0LlNpTWlGb2xkZXIiXQ..">SiMi Folder Widget</a><br />
アプリやショートカットをフォルダーにまとめてホーム画面に張り付けてスッキリさせることができますが、これも<a href="https://market.android.com/details?id=com.gau.go.launcherex&amp;feature=search_result#?t=W251bGwsMSwyLDEsImNvbS5nYXUuZ28ubGF1bmNoZXJleCJd">GoランチャーEX</a>だけで同じ事ができるので必要が無くなりました。</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.hiro-blog.com/2012/01/android%e3%81%ab%e5%85%a5%e3%82%8c%e3%81%a6%e3%81%84%e3%82%8b%e7%84%a1%e6%96%99%e3%82%a2%e3%83%97%e3%83%aa%e4%b8%80%e8%a6%a7.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.hiro-blog.com/2012/01/android%e3%81%ab%e5%85%a5%e3%82%8c%e3%81%a6%e3%81%84%e3%82%8b%e7%84%a1%e6%96%99%e3%82%a2%e3%83%97%e3%83%aa%e4%b8%80%e8%a6%a7.html" />
	</item>
		<item>
		<title>インターネットで同期して同時レコーディングできるVSTプラグイン</title>
		<link>http://www.hiro-blog.com/2012/01/%e3%82%a4%e3%83%b3%e3%82%bf%e3%83%bc%e3%83%8d%e3%83%83%e3%83%88%e3%81%a7%e5%90%8c%e6%9c%9f%e3%81%97%e3%81%a6%e5%90%8c%e6%99%82%e3%83%ac%e3%82%b3%e3%83%bc%e3%83%87%e3%82%a3%e3%83%b3%e3%82%b0%e3%81%a7.html</link>
		<comments>http://www.hiro-blog.com/2012/01/%e3%82%a4%e3%83%b3%e3%82%bf%e3%83%bc%e3%83%8d%e3%83%83%e3%83%88%e3%81%a7%e5%90%8c%e6%9c%9f%e3%81%97%e3%81%a6%e5%90%8c%e6%99%82%e3%83%ac%e3%82%b3%e3%83%bc%e3%83%87%e3%82%a3%e3%83%b3%e3%82%b0%e3%81%a7.html#comments</comments>
		<pubDate>Tue, 10 Jan 2012 06:54:16 +0000</pubDate>
		<dc:creator>Hiro</dc:creator>
				<category><![CDATA[DTM]]></category>
		<category><![CDATA[ソフトウェア]]></category>
		<category><![CDATA[音楽活動]]></category>
		<category><![CDATA[レコーディング]]></category>

		<guid isPermaLink="false">http://www.hiro-blog.com/?p=3393</guid>
		<description><![CDATA[以前インターネットを使った同時レコーディングができるアプリケーションがありベータ版に応募したのですが、当選しなかったので公式版ができるまで待っていたのですが、何の情報も回ってきません。 しかも、1年ほど前だったかアプリ名が忘れてわからなくなり、ググッたのですが結局わからず他で見つけたアプリです。 2005年頃に話題になったみたいで、以前は日本支社もあったようですが現在は日本語での情報はほとんどありません。 ただ、本家のホームページ（Digital Musician.net)は健在で現在でも運営しているようです。 アプリ名はDigital Musician Containerといい略してDMCと呼ばれています。同じ同期機能を持ったアプリでDMPがありますが、これは使っているDAWでVSTiとして使用します。 このDMCの特徴としては 総合的なオーディオ変換機能を備えたマルチトラックレコーダー Rewireの完全サポート P2P技術を利用し、リアルタイムで最大3人までの同時接続 VSTプラグインのサポート デスクトップ上でお使いのシーケンサー（DAW)間において、ドラックアンドドロップによって、オーディオファイルを扱うことができる。 DMNサーバーを介し、プロジェクトの自動的なデータ同期が可能 ウェブカメラを利用したビデオチャット機能 ASIO / Core Audioのサポート と一通り必要な機能が備わっています。 しかも無料で同期機能が使えるので使わない手はありません。 最近は周りの音楽仲間も家でレコーディングできる環境が整い、プリプロやセッションに関しては1箇所に集まってする必要がありません。 お互い時間の都合がつく時間にパソコンの前にいればいいので移動時間の削減にもつながります。 使い方はいたって簡単で、本家のホームページ（Digital Musician.net)で新規登録をしてプログラムをダウンロードします。 ダウンロードできるプログラムは2種類あり、DMCとDMPです。 DMCは完全独立アプリケーションで単体でも動作します。 DMPは使っているCubaseやSonarなどのVSTプラグイン対応のDAWでVSTプラグインとして動作するアプリケーションです。 最大の特徴はデータの軽いMP3でプレビュー同期を行い、最終ではロスレスのWavで同期が行えるのでストレスなくやり取りができるはずです。 ただ、それでもそれなりの回線スピードが必要だと思います。 実際試していないのでどの程度使えるか分からないので時間を見つけてレビューも書きたいと思います。 どの様なアプリか動画をいくつかアップするので興味がある方はチェックしてみてください。]]></description>
			<content:encoded><![CDATA[<div class='wb_fb_top'><div style="float:right;"></div></div><p>以前インターネットを使った同時レコーディングができるアプリケーションがありベータ版に応募したのですが、当選しなかったので公式版ができるまで待っていたのですが、何の情報も回ってきません。</p>
<p>しかも、1年ほど前だったかアプリ名が忘れてわからなくなり、ググッたのですが結局わからず他で見つけたアプリです。</p>
<p>2005年頃に話題になったみたいで、以前は日本支社もあったようですが現在は日本語での情報はほとんどありません。</p>
<p>ただ、<a href="http://digitalmusician.net/" target="_blank">本家のホームページ（Digital Musician.net)</a>は健在で現在でも運営しているようです。</p>
<p>アプリ名はDigital Musician Containerといい略してDMCと呼ばれています。同じ同期機能を持ったアプリでDMPがありますが、これは使っているDAWでVSTiとして使用します。</p>
<p>このDMCの特徴としては</p>
<ul>
<li>総合的なオーディオ変換機能を備えた<strong>マルチトラックレコーダー</strong></li>
<li>Rewireの完全サポート</li>
<li>P2P技術を利用し、リアルタイムで<strong>最大3人までの同時接続</strong></li>
<li><strong>VSTプラグインのサポート</strong></li>
<li>デスクトップ上でお使いのシーケンサー（DAW)間において、<strong>ドラックアンドドロップによって、オーディオファイルを扱うことができる</strong>。</li>
<li>DMNサーバーを介し、<strong>プロジェクトの自動的なデータ同期が可能</strong></li>
<li>ウェブカメラを利用した<strong>ビデオチャット機能</strong></li>
<li><strong>ASIO / Core Audioのサポート</strong></li>
</ul>
<p>と一通り必要な機能が備わっています。</p>
<p>しかも無料で同期機能が使えるので使わない手はありません。</p>
<p>最近は周りの音楽仲間も家でレコーディングできる環境が整い、プリプロやセッションに関しては1箇所に集まってする必要がありません。</p>
<p>お互い時間の都合がつく時間にパソコンの前にいればいいので移動時間の削減にもつながります。</p>
<p>使い方はいたって簡単で、<a href="http://digitalmusician.net/" target="_blank">本家のホームページ（Digital Musician.net)</a>で新規登録をしてプログラムをダウンロードします。</p>
<p>ダウンロードできるプログラムは2種類あり、DMCとDMPです。</p>
<p>DMCは完全独立アプリケーションで単体でも動作します。</p>
<p>DMPは使っているCubaseやSonarなどのVSTプラグイン対応のDAWでVSTプラグインとして動作するアプリケーションです。</p>
<p>最大の特徴はデータの軽いMP3でプレビュー同期を行い、最終ではロスレスのWavで同期が行えるのでストレスなくやり取りができるはずです。</p>
<p>ただ、それでもそれなりの回線スピードが必要だと思います。</p>
<p>実際試していないのでどの程度使えるか分からないので時間を見つけてレビューも書きたいと思います。</p>
<p>どの様なアプリか動画をいくつかアップするので興味がある方はチェックしてみてください。</p>
<p><object width="641" height="482" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://digitalmusician.net/files/theme/mediaplayer-licensed-viral/player-licensed-viral.swf" /><param name="allowscriptaccess" value="always" /><param name="allowfullscreen" value="true" /><param name="flashvars" value="&amp;bandwidth=543&amp;dock=false&amp;file=..%2F..%2F..%2Ffiles%2Fdmn_trailer.flv&amp;level=0&amp;plugins=viral-2d" /><embed width="641" height="482" type="application/x-shockwave-flash" src="http://digitalmusician.net/files/theme/mediaplayer-licensed-viral/player-licensed-viral.swf" allowscriptaccess="always" allowfullscreen="true" flashvars="&amp;bandwidth=543&amp;dock=false&amp;file=..%2F..%2F..%2Ffiles%2Fdmn_trailer.flv&amp;level=0&amp;plugins=viral-2d" /></object></p>
<p><iframe src="http://www.youtube.com/embed/8vHvqte6Elo?hd=1" frameborder="0" width="640" height="480"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hiro-blog.com/2012/01/%e3%82%a4%e3%83%b3%e3%82%bf%e3%83%bc%e3%83%8d%e3%83%83%e3%83%88%e3%81%a7%e5%90%8c%e6%9c%9f%e3%81%97%e3%81%a6%e5%90%8c%e6%99%82%e3%83%ac%e3%82%b3%e3%83%bc%e3%83%87%e3%82%a3%e3%83%b3%e3%82%b0%e3%81%a7.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.hiro-blog.com/2012/01/%e3%82%a4%e3%83%b3%e3%82%bf%e3%83%bc%e3%83%8d%e3%83%83%e3%83%88%e3%81%a7%e5%90%8c%e6%9c%9f%e3%81%97%e3%81%a6%e5%90%8c%e6%99%82%e3%83%ac%e3%82%b3%e3%83%bc%e3%83%87%e3%82%a3%e3%83%b3%e3%82%b0%e3%81%a7.html" />
	</item>
		<item>
		<title>私が本気で欲しい最高・最強のデジカメ！</title>
		<link>http://www.hiro-blog.com/2012/01/%e7%a7%81%e3%81%8c%e6%9c%ac%e6%b0%97%e3%81%a7%e6%ac%b2%e3%81%97%e3%81%84%e6%9c%80%e9%ab%98%e3%83%bb%e6%9c%80%e5%bc%b7%e3%81%ae%e3%83%87%e3%82%b8%e3%82%ab%e3%83%a1%ef%bc%81.html</link>
		<comments>http://www.hiro-blog.com/2012/01/%e7%a7%81%e3%81%8c%e6%9c%ac%e6%b0%97%e3%81%a7%e6%ac%b2%e3%81%97%e3%81%84%e6%9c%80%e9%ab%98%e3%83%bb%e6%9c%80%e5%bc%b7%e3%81%ae%e3%83%87%e3%82%b8%e3%82%ab%e3%83%a1%ef%bc%81.html#comments</comments>
		<pubDate>Sat, 07 Jan 2012 04:38:09 +0000</pubDate>
		<dc:creator>Hiro</dc:creator>
				<category><![CDATA[デジカメ]]></category>
		<category><![CDATA[面白ビデオ]]></category>
		<category><![CDATA[カメラ]]></category>
		<category><![CDATA[スマートフォン]]></category>
		<category><![CDATA[デジタル一眼レフ]]></category>
		<category><![CDATA[動画撮影]]></category>

		<guid isPermaLink="false">http://www.hiro-blog.com/?p=3388</guid>
		<description><![CDATA[以前見つけた動画ですが、8ヶ月ほど前に見つけた動画ですが、あれから新しいデジカメやスマートフォンが出ましたが、やはりこれに勝るものはありません。 最初に見つけたのが下の動画ですが、1眼レフのようなセンサーをつけたスマートフォンと思いましたが、なんと！そのレンズが取れてワイヤレスに撮影が可能な事が新しく、見たときに『いいアイデアだけど、商品化できる?』と正直思いました。 気になったので調べてみると実際に試作機を作って同じ動作するじゃない!! 正直びっくりしたのですが、同時に発売はいつか？とウキウキしましたｗ 本体側は着信画面を見る限りiPhone？ぽかったのですが、公式サイトを見てみるとディスプレイが1920x 1080 pixels、CPUがCortex-A15 ARM Multi-Core CPU、メモリが16GB embedded + microSDHCとiPhoneとは違いますね。 ただ、CPUがCortex-A15を使っていることから独自スマートフォンなのでしょうが、802.11n ・ GPS ・ Bluetooth 2.0 ･ WirelessHDとスマートフォントしてはキチンと搭載されるべき機能が備わっています。ただ、ここでもWirelessHDと現在のスマートフォンでも搭載してない機能を搭載しているようです。このシステムを使ってレンズとシームレスに同期するようになってるのですかね。 しかし特筆すべき点はキヤノン EOS 5D Mark IIと同じ36 x 24mm Full Frame CMOSという大型CMOSを搭載し、6496 x 4872 pixels (31.6 MP)、写真撮影はjpgとRAW、動画撮影は1920 x 1080 24p, 30p, 60iのMOV, H.264, AVCHD formatsに対応している点です。 動画などはかなり高画質な撮影が可能だと予想できます。（バッテリーは鬼減りしそうだけどｗ） 当然レンズは交換できNikon F mount, Canon EF mount, Micro Four Thirds and [...]]]></description>
			<content:encoded><![CDATA[<div class='wb_fb_top'><div style="float:right;"></div></div><p>以前見つけた動画ですが、8ヶ月ほど前に見つけた動画ですが、あれから新しいデジカメやスマートフォンが出ましたが、やはりこれに勝るものはありません。</p>
<p>最初に見つけたのが下の動画ですが、1眼レフのようなセンサーをつけたスマートフォンと思いましたが、なんと！そのレンズが取れてワイヤレスに撮影が可能な事が新しく、見たときに『いいアイデアだけど、商品化できる?』と正直思いました。</p>
<p><iframe src="http://www.youtube.com/embed/WwyLlk42-x8?hd=1" frameborder="0" width="640" height="360"></iframe></p>
<p>気になったので調べてみると実際に試作機を作って同じ動作するじゃない!!</p>
<p>正直びっくりしたのですが、同時に発売はいつか？とウキウキしましたｗ</p>
<p>本体側は着信画面を見る限りiPhone？ぽかったのですが、<a href="http://www.artefactgroup.com/wvil/" target="_blank">公式サイト</a>を見てみるとディスプレイが<strong>1920x 1080 pixels</strong>、CPUが<strong>Cortex-A15 ARM Multi-Core CPU</strong>、メモリが16GB embedded +<strong> microSDHC</strong>とiPhoneとは違いますね。</p>
<p>ただ、CPUが<strong>Cortex-A15</strong>を使っていることから独自スマートフォンなのでしょうが、802.11n ・ GPS ・ Bluetooth 2.0 ･ WirelessHDとスマートフォントしてはキチンと搭載されるべき機能が備わっています。ただ、ここでもWirelessHDと現在のスマートフォンでも搭載してない機能を搭載しているようです。このシステムを使ってレンズとシームレスに同期するようになってるのですかね。</p>
<p>しかし特筆すべき点はキヤノン EOS 5D Mark IIと同じ<strong>36 x 24mm Full Frame CMOS</strong>という大型CMOSを搭載し、6496 x 4872 pixels (31.6 MP)、写真撮影はjpgとRAW、動画撮影は1920 x 1080 24p, 30p, 60iのMOV, H.264, AVCHD formatsに対応している点です。</p>
<p>動画などはかなり高画質な撮影が可能だと予想できます。（バッテリーは鬼減りしそうだけどｗ）</p>
<p>当然レンズは交換でき<strong>Nikon F mount</strong>, <strong>Canon EF mount</strong>,<strong> Micro Four Thirds and Leica M mount</strong>に対応しているので、現在持っているレンズを使った撮影ができます。ただ、35mmフルフレームCOMSを生かせるように対応のレンズが一番発揮される事は間違いありません。</p>
<p>ここまで来ると並の一眼レフでも太刀打ちできません。</p>
<p>ただ、これだけのスペックにかなりの薄さなのでバッテリーの持ちが心配です。使い方によって随分バッテリーの減りが変わるとは思いますが、スマートフォンとして使うのであれば通信やGPSなどの消費電力も馬鹿になりません。そのあたりも非常に気になるところです。</p>
<p>これだけのスペックと機能を搭載したカメラを販売するとなるといくらになるのでしょうか?</p>
<p>無理だとは思いますが、10万円位で販売されれば爆発的なヒット商品になると思いますが、皆さんはどう思われますか?</p>
<p>公式サイトに掲載されていない搭載OSは？発売時期は？価格は？など様々なことを想像するのですが、最悪商品化されないのでは！と正直思います。</p>
<p>こんな魅力的な商品は是非商品化してもらいたいですね。</p>
<p>今日もチェックしたのですが、発売のアナウンスはされていませんｗ</p>
<p><iframe src="http://www.youtube.com/embed/VgBl0ejQ8c0?hd=1" frameborder="0" width="640" height="360"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hiro-blog.com/2012/01/%e7%a7%81%e3%81%8c%e6%9c%ac%e6%b0%97%e3%81%a7%e6%ac%b2%e3%81%97%e3%81%84%e6%9c%80%e9%ab%98%e3%83%bb%e6%9c%80%e5%bc%b7%e3%81%ae%e3%83%87%e3%82%b8%e3%82%ab%e3%83%a1%ef%bc%81.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.hiro-blog.com/2012/01/%e7%a7%81%e3%81%8c%e6%9c%ac%e6%b0%97%e3%81%a7%e6%ac%b2%e3%81%97%e3%81%84%e6%9c%80%e9%ab%98%e3%83%bb%e6%9c%80%e5%bc%b7%e3%81%ae%e3%83%87%e3%82%b8%e3%82%ab%e3%83%a1%ef%bc%81.html" />
	</item>
		<item>
		<title>EC-CUBE モバイルサイトで別詳細コメントを表示させるカスタマイズ後$arrProduct.main_list_commentが表示されない。</title>
		<link>http://www.hiro-blog.com/2011/12/ec-cube-%e3%83%a2%e3%83%90%e3%82%a4%e3%83%ab%e3%82%b5%e3%82%a4%e3%83%88%e3%81%a7%e5%88%a5%e3%81%ae%e8%a9%b3%e7%b4%b0%e3%82%b3%e3%83%a1%e3%83%b3%e3%83%88%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%95%e3%81%9b.html</link>
		<comments>http://www.hiro-blog.com/2011/12/ec-cube-%e3%83%a2%e3%83%90%e3%82%a4%e3%83%ab%e3%82%b5%e3%82%a4%e3%83%88%e3%81%a7%e5%88%a5%e3%81%ae%e8%a9%b3%e7%b4%b0%e3%82%b3%e3%83%a1%e3%83%b3%e3%83%88%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%95%e3%81%9b.html#comments</comments>
		<pubDate>Thu, 15 Dec 2011 10:10:56 +0000</pubDate>
		<dc:creator>Hiro</dc:creator>
				<category><![CDATA[EC-CUBE]]></category>
		<category><![CDATA[ソフトウェア]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[カスタマイズ]]></category>

		<guid isPermaLink="false">http://www.hiro-blog.com/?p=2904</guid>
		<description><![CDATA[EC-CUBEでモバイルサイトの詳細ページをPCページと別の文章を入れるカスタマイズを行いました。 このカスタマイズを行うと、商品ページに表示されていた一覧メインコメントが表示されなくなりました。 detail.tplをチェックすると&#60;p&#62;&#60;!&#8211;{$arrProduct.main_list_comment&#124;nl2br}&#8211;&#62;&#60;/p&#62;がきちんと記載されており、読み込まれていないようです。 カスタマイズ中に様々なエラーが発生したので、どの時点で表示されなくなったのか分からなくなりましたが、やっと見つけました。 SC_DB_DBFactory_MYSQL.phpのvw_products_allclass_detailを修正します。 "vw_products_allclass_detail" =&#62; ' (SELECT product_id,price01_min,price01_max,price02_min,price02_max,stock_min,stock_max,stock_unlimited_min,stock_unlimited_max,del_flg,status,name,comment1,comment2,comment3,comment7,deliv_fee,main_comment,main_image,main_large_image,sub_title1,sub_comment1,sub_image1,sub_large_image1,・・・・ ↓↓↓追加↓↓↓ "vw_products_allclass_detail" =&#62; ' (SELECT product_id,price01_min,price01_max,price02_min,price02_max,stock_min,stock_max,stock_unlimited_min,stock_unlimited_max,del_flg,status,name,comment1,comment2,comment3,comment7,main_list_comment,deliv_fee,main_comment,main_image,main_large_image,sub_title1,sub_comment1,sub_image1,sub_large_image1, comment7,の後にmain_list_comment,を追加することにより読み込まれるようになります。]]></description>
			<content:encoded><![CDATA[<div class='wb_fb_top'><div style="float:right;"></div></div><p>EC-CUBEでモバイルサイトの詳細ページをPCページと別の文章を入れるカスタマイズを行いました。</p>
<p>このカスタマイズを行うと、商品ページに表示されていた一覧メインコメントが表示されなくなりました。</p>
<p><strong>detail.tpl</strong>をチェックすると&lt;p&gt;<strong>&lt;!&#8211;{$arrProduct.main_list_comment|nl2br}&#8211;&gt;</strong>&lt;/p&gt;がきちんと記載されており、読み込まれていないようです。</p>
<p>カスタマイズ中に様々なエラーが発生したので、どの時点で表示されなくなったのか分からなくなりましたが、やっと見つけました。</p>
<p><strong>SC_DB_DBFactory_MYSQL.php</strong>の<strong>vw_products_allclass_detail</strong>を修正します。</p>
<pre>"vw_products_allclass_detail" =&gt; '
(SELECT product_id,price01_min,price01_max,price02_min,price02_max,stock_min,stock_max,stock_unlimited_min,stock_unlimited_max,del_flg,status,name,comment1,comment2,comment3,comment7,deliv_fee,main_comment,main_image,main_large_image,sub_title1,sub_comment1,sub_image1,sub_large_image1,・・・・</pre>
<p>↓↓↓追加↓↓↓</p>
<pre>"vw_products_allclass_detail" =&gt; '
(SELECT product_id,price01_min,price01_max,price02_min,price02_max,stock_min,stock_max,stock_unlimited_min,stock_unlimited_max,del_flg,status,name,comment1,comment2,comment3,comment7,main_list_comment,deliv_fee,main_comment,main_image,main_large_image,sub_title1,sub_comment1,sub_image1,sub_large_image1,</pre>
<p>comment7,の後に<strong>main_list_comment,</strong>を追加することにより読み込まれるようになります。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hiro-blog.com/2011/12/ec-cube-%e3%83%a2%e3%83%90%e3%82%a4%e3%83%ab%e3%82%b5%e3%82%a4%e3%83%88%e3%81%a7%e5%88%a5%e3%81%ae%e8%a9%b3%e7%b4%b0%e3%82%b3%e3%83%a1%e3%83%b3%e3%83%88%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%95%e3%81%9b.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.hiro-blog.com/2011/12/ec-cube-%e3%83%a2%e3%83%90%e3%82%a4%e3%83%ab%e3%82%b5%e3%82%a4%e3%83%88%e3%81%a7%e5%88%a5%e3%81%ae%e8%a9%b3%e7%b4%b0%e3%82%b3%e3%83%a1%e3%83%b3%e3%83%88%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%95%e3%81%9b.html" />
	</item>
		<item>
		<title>Wodpressのプラグイン『WordBooker』でFacebookと連携！</title>
		<link>http://www.hiro-blog.com/2011/12/wodpress%e3%81%aewordbooker.html</link>
		<comments>http://www.hiro-blog.com/2011/12/wodpress%e3%81%aewordbooker.html#comments</comments>
		<pubDate>Wed, 14 Dec 2011 17:50:23 +0000</pubDate>
		<dc:creator>Hiro</dc:creator>
				<category><![CDATA[Wordpress 3.0]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[プラグイン]]></category>

		<guid isPermaLink="false">http://www.hiro-blog.com/?p=3379</guid>
		<description><![CDATA[WordPressでFacebookと連携できるプラグインを試してみました。 プラグイン名は『WordBooker』といいますが、調べてみるとなかなか高評価のプラグインです。 プラグインをインストールして設定するだけと簡単ですが、非常に多くの設定項目があります。 私の場合は、最低限の設定です。 Default Publish Post to Facebook：チェックマーク Unless changed, Posts will be published on the Facebook belonging to：ユーザーネーム Length of Extract：４００ にだけ設定しただけです。 さて、きちんと表示されるかチェックしてみます。]]></description>
			<content:encoded><![CDATA[<div class='wb_fb_top'><div style="float:right;"></div></div><p>WordPressでFacebookと連携できるプラグインを試してみました。</p>
<p>プラグイン名は『<a href="http://wordpress.org/extend/plugins/wordbooker/">WordBooker</a>』といいますが、調べてみるとなかなか高評価のプラグインです。</p>
<p>プラグインをインストールして設定するだけと簡単ですが、非常に多くの設定項目があります。</p>
<p>私の場合は、最低限の設定です。</p>
<p>Default Publish Post to Facebook：チェックマーク</p>
<p>Unless changed, Posts will be published on the Facebook belonging to：ユーザーネーム</p>
<p>Length of Extract：４００</p>
<p>にだけ設定しただけです。</p>
<p>さて、きちんと表示されるかチェックしてみます。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hiro-blog.com/2011/12/wodpress%e3%81%aewordbooker.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.hiro-blog.com/2011/12/wodpress%e3%81%aewordbooker.html" />
	</item>
		<item>
		<title>保護中: EC-CUBE 送料無料商品がカゴにあれば同梱商品も送料無料にする。</title>
		<link>http://www.hiro-blog.com/2011/12/%e9%80%81%e6%96%99%e7%84%a1%e6%96%99%e5%95%86%e5%93%81%e3%81%8c%e3%82%ab%e3%82%b4%e3%81%ab%e3%81%82%e3%82%8c%e3%81%b0%e5%90%8c%e6%a2%b1%e5%95%86%e5%93%81%e3%82%82%e9%80%81%e6%96%99%e7%84%a1%e6%96%99.html</link>
		<comments>http://www.hiro-blog.com/2011/12/%e9%80%81%e6%96%99%e7%84%a1%e6%96%99%e5%95%86%e5%93%81%e3%81%8c%e3%82%ab%e3%82%b4%e3%81%ab%e3%81%82%e3%82%8c%e3%81%b0%e5%90%8c%e6%a2%b1%e5%95%86%e5%93%81%e3%82%82%e9%80%81%e6%96%99%e7%84%a1%e6%96%99.html#comments</comments>
		<pubDate>Sun, 11 Dec 2011 07:25:02 +0000</pubDate>
		<dc:creator>Hiro</dc:creator>
				<category><![CDATA[EC-CUBE]]></category>
		<category><![CDATA[カスタマイズ]]></category>

		<guid isPermaLink="false">http://www.hiro-blog.com/?p=3340</guid>
		<description><![CDATA[この投稿はパスワードで保護されているため抜粋文はありません。]]></description>
			<content:encoded><![CDATA[<div class='wb_fb_top'><div style="float:right;"></div></div><form action="http://www.hiro-blog.com/wp-pass.php" method="post">
<p>この投稿はパスワードで保護されています。表示するにはパスワードを入力してください:</p>
<p><label for="pwbox-3340">パスワード<br />
<input name="post_password" id="pwbox-3340" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="送信" /></p></form>
]]></content:encoded>
			<wfw:commentRss>http://www.hiro-blog.com/2011/12/%e9%80%81%e6%96%99%e7%84%a1%e6%96%99%e5%95%86%e5%93%81%e3%81%8c%e3%82%ab%e3%82%b4%e3%81%ab%e3%81%82%e3%82%8c%e3%81%b0%e5%90%8c%e6%a2%b1%e5%95%86%e5%93%81%e3%82%82%e9%80%81%e6%96%99%e7%84%a1%e6%96%99.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.hiro-blog.com/2011/12/%e9%80%81%e6%96%99%e7%84%a1%e6%96%99%e5%95%86%e5%93%81%e3%81%8c%e3%82%ab%e3%82%b4%e3%81%ab%e3%81%82%e3%82%8c%e3%81%b0%e5%90%8c%e6%a2%b1%e5%95%86%e5%93%81%e3%82%82%e9%80%81%e6%96%99%e7%84%a1%e6%96%99.html" />
	</item>
		<item>
		<title>保護中: EC-CUBE 表示の度にランダムに画像や文章を表示させる。</title>
		<link>http://www.hiro-blog.com/2011/12/ec-cube-%e8%a1%a8%e7%a4%ba%e3%81%ae%e5%ba%a6%e3%81%ab%e3%83%a9%e3%83%b3%e3%83%80%e3%83%a0%e3%81%ab%e7%94%bb%e5%83%8f%e3%82%84%e6%96%87%e7%ab%a0%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%95%e3%81%9b%e3%82%8b.html</link>
		<comments>http://www.hiro-blog.com/2011/12/ec-cube-%e8%a1%a8%e7%a4%ba%e3%81%ae%e5%ba%a6%e3%81%ab%e3%83%a9%e3%83%b3%e3%83%80%e3%83%a0%e3%81%ab%e7%94%bb%e5%83%8f%e3%82%84%e6%96%87%e7%ab%a0%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%95%e3%81%9b%e3%82%8b.html#comments</comments>
		<pubDate>Sun, 11 Dec 2011 06:32:33 +0000</pubDate>
		<dc:creator>Hiro</dc:creator>
				<category><![CDATA[EC-CUBE]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[カスタマイズ]]></category>

		<guid isPermaLink="false">http://www.hiro-blog.com/?p=3337</guid>
		<description><![CDATA[この投稿はパスワードで保護されているため抜粋文はありません。]]></description>
			<content:encoded><![CDATA[<div class='wb_fb_top'><div style="float:right;"></div></div><form action="http://www.hiro-blog.com/wp-pass.php" method="post">
<p>この投稿はパスワードで保護されています。表示するにはパスワードを入力してください:</p>
<p><label for="pwbox-3337">パスワード<br />
<input name="post_password" id="pwbox-3337" type="password" size="20" /></label><br />
<input type="submit" name="Submit" value="送信" /></p></form>
]]></content:encoded>
			<wfw:commentRss>http://www.hiro-blog.com/2011/12/ec-cube-%e8%a1%a8%e7%a4%ba%e3%81%ae%e5%ba%a6%e3%81%ab%e3%83%a9%e3%83%b3%e3%83%80%e3%83%a0%e3%81%ab%e7%94%bb%e5%83%8f%e3%82%84%e6%96%87%e7%ab%a0%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%95%e3%81%9b%e3%82%8b.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.hiro-blog.com/2011/12/ec-cube-%e8%a1%a8%e7%a4%ba%e3%81%ae%e5%ba%a6%e3%81%ab%e3%83%a9%e3%83%b3%e3%83%80%e3%83%a0%e3%81%ab%e7%94%bb%e5%83%8f%e3%82%84%e6%96%87%e7%ab%a0%e3%82%92%e8%a1%a8%e7%a4%ba%e3%81%95%e3%81%9b%e3%82%8b.html" />
	</item>
		<item>
		<title>EC-CUBE カテゴリ毎にヘッダーのh1の文章を変える。</title>
		<link>http://www.hiro-blog.com/2011/12/ec-cube-%e3%82%ab%e3%83%86%e3%82%b4%e3%83%aa%e6%af%8e%e3%81%ab%e3%83%98%e3%83%83%e3%83%80%e3%83%bc%e3%81%aeh1%e3%81%ae%e6%96%87%e7%ab%a0%e3%82%92%e5%a4%89%e3%81%88%e3%82%8b%e3%80%82.html</link>
		<comments>http://www.hiro-blog.com/2011/12/ec-cube-%e3%82%ab%e3%83%86%e3%82%b4%e3%83%aa%e6%af%8e%e3%81%ab%e3%83%98%e3%83%83%e3%83%80%e3%83%bc%e3%81%aeh1%e3%81%ae%e6%96%87%e7%ab%a0%e3%82%92%e5%a4%89%e3%81%88%e3%82%8b%e3%80%82.html#comments</comments>
		<pubDate>Thu, 08 Dec 2011 19:01:50 +0000</pubDate>
		<dc:creator>Hiro</dc:creator>
				<category><![CDATA[EC-CUBE]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[カスタマイズ]]></category>

		<guid isPermaLink="false">http://www.hiro-blog.com/?p=3333</guid>
		<description><![CDATA[前回は各ページにヘッダー上部（ページ最初）にh1タグでキーワードを含めた文書を表示させるカスタマイズでしたが、今回は応用編でカテゴリー（一覧）ページも同じようにカスタマイズします。 ただカスタマイズ内容はカテゴリ毎に文章や画像を載せるカスタマイズをしている前提です。 データベースのdtb_categoryにカラム名：category_info　データ型: textを追加します。 data/smarty/templates/admin/products/category.tplに下記を追加します。         &#60;table&#62;           &#60;tr&#62;             &#60;th&#62;ヘッダーh1テキスト&#60;/th&#62;             &#60;td&#62;&#60;span&#62;&#60;!--{$arrErr.category_h1_txt}--&#62;&#60;/span&#62;               &#60;input type="text" name="category_h1_txt" value="&#60;!--{$arrForm.category_h1_txt&#124;h}--&#62;" size="60" /&#62;&#60;/td&#62;           &#60;/tr&#62;         &#60;/table&#62; data/class_extends/products/LC_Products_List_Ex.phpに下記を追加する。 function lfGetCategoryId($category_id) {         // 指定なしの場合、0 を返す         if (empty($category_id)) return 0;         // 正当性チェック         if (!SC_Utils_Ex::sfIsInt($category_id)             &#124;&#124; SC_Utils_Ex::sfIsZeroFilling($category_id)             &#124;&#124; !SC_Helper_DB_Ex::sfIsRecord('dtb_category', 'category_id', (array)$category_id, 'del_flg = 0')             [...]]]></description>
			<content:encoded><![CDATA[<div class='wb_fb_top'><div style="float:right;"></div></div><p>前回は各ページにヘッダー上部（ページ最初）にh1タグでキーワードを含めた文書を表示させるカスタマイズでしたが、今回は応用編でカテゴリー（一覧）ページも同じようにカスタマイズします。</p>
<p>ただカスタマイズ内容はカテゴリ毎に文章や画像を載せるカスタマイズをしている前提です。</p>
<p>データベースの<strong>dtb_category</strong>にカラム名：<strong>category_info</strong>　データ型: <strong>text</strong>を追加します。</p>
<p>data/smarty/templates/admin/products/category.tplに下記を追加します。</p>
<pre><strong>        &lt;table&gt;</strong>
<strong>          &lt;tr&gt;</strong>
<strong>            &lt;th&gt;ヘッダーh1テキスト&lt;/th&gt;</strong>
<strong>            &lt;td&gt;&lt;span&gt;&lt;!--{$arrErr.category_h1_txt}--&gt;&lt;/span&gt;</strong>
<strong>              &lt;input type="text" name="category_h1_txt" value="&lt;!--{$arrForm.category_h1_txt|h}--&gt;" size="60" /&gt;&lt;/td&gt;</strong>
<strong>          &lt;/tr&gt;</strong>
<strong>        &lt;/table&gt;</strong></pre>
<p>data/class_extends/products/LC_Products_List_Ex.phpに下記を追加する。</p>
<pre>function lfGetCategoryId($category_id) {

        // 指定なしの場合、0 を返す
        if (empty($category_id)) return 0;

        // 正当性チェック
        if (!SC_Utils_Ex::sfIsInt($category_id)
            || SC_Utils_Ex::sfIsZeroFilling($category_id)
            || !SC_Helper_DB_Ex::sfIsRecord('dtb_category', 'category_id', (array)$category_id, 'del_flg = 0')
            ) {
            SC_Utils_Ex::sfDispSiteError(CATEGORY_NOT_FOUND);
        }

        // 指定されたカテゴリIDを元に正しいカテゴリIDを取得する。
        $arrCategory_id = SC_Helper_DB_Ex::sfGetCategoryId('', $category_id);

        if (empty($arrCategory_id)) {
            SC_Utils_Ex::sfDispSiteError(CATEGORY_NOT_FOUND);
        }
        $objQuery = new SC_Query();
        // 追加:カテゴリ説明
        $this-&gt;category_info = $objQuery-&gt;get("category_info", "dtb_category", "category_id = ?", $arrCategory_id);
        <strong>$objQuery = new SC_Query();</strong>
<strong>        $this-&gt;category_h1_txt = $objQuery-&gt;get("category_h1_txt", "dtb_category", "category_id = ?", $arrCategory_id);</strong>

        return $arrCategory_id[0];
    }</pre>
<p>data/class_extends/page_extends/admin/products/LC_Page_Admin_Products_Category_Ex.phpに下記を追加する。</p>
<pre>    function doPreEdit(&amp;$objFormParam) {
        $category_id = $objFormParam-&gt;getValue('category_id');

        $objQuery =&amp; SC_Query_Ex::getSingletonInstance();

        // 編集対象のカテゴリ名をDBより取得する
        $where = "category_id = ?";
        // $category_name = $objQuery-&gt;get("category_name", "dtb_category", $where, array($category_id));
            $col = "category_name, category_info, info_flg, <strong>category_h1_txt,</strong> level";
            $arrRet = $objQuery-&gt;select($col, "dtb_category", $where, array($_POST['category_id']));

        // 入力ボックスへカテゴリ名を保持する.
        // $this-&gt;arrForm['category_name'] = $category_name;
            $this-&gt;arrForm['category_name'] = $arrRet[0]['category_name'];
            $this-&gt;arrForm['category_info'] = $arrRet[0]['category_info'];
            $this-&gt;arrForm['info_flg'] = $arrRet[0]['info_flg'];
            <strong>$this-&gt;arrForm['category_h1_txt'] = $arrRet[0]['category_h1_txt'];</strong>
            $this-&gt;arrForm['level'] = $arrRet[0]['level'];

        // カテゴリIDを保持する.
        $this-&gt;arrForm['category_id']   = $category_id;
    }

    /**
     * カテゴリの編集を実行する.
     *
     * 下記の場合は, 編集を実行せず、エラーメッセージを表示する
     *
     * - カテゴリ名がすでに使用されている場合
     *
     * @param SC_FormParam $objFormParam
     * @return void
     */
    function doEdit(&amp;$objFormParam) {
        // 入力項目チェック
        $arrErr = $objFormParam-&gt;checkError();
        if (count($arrErr) &gt; 0) {
            $this-&gt;arrErr = $arrErr;
            $this-&gt;arrForm['category_id']   = $objFormParam-&gt;getValue('category_id');
            $this-&gt;arrForm['category_name'] = $objFormParam-&gt;getValue('category_name');
            $this-&gt;arrForm['category_info'] = $objFormParam-&gt;getValue('category_info');
            <strong>$this-&gt;arrForm['category_h1_txt'] = $objFormParam-&gt;getValue('category_h1_txt');</strong>
            $this-&gt;arrForm['info_flg'] = $objFormParam-&gt;getValue('info_flg');
            return;
        }

        // 重複チェック
        $objQuery =&amp; SC_Query_Ex::getSingletonInstance();
        $where = "parent_category_id = ? AND category_id &lt;&gt; ? AND category_name = ?";
        $count = $objQuery-&gt;count("dtb_category",
                                  $where,
                                  array($objFormParam-&gt;getValue('parent_category_id'),
                                        $objFormParam-&gt;getValue('category_id'),
                                        $objFormParam-&gt;getValue('category_name')));
        if ($count &gt; 0) {
            $this-&gt;arrErr['category_name']  = "※ 既に同じ内容の登録が存在します。&lt;br/&gt;";
            $this-&gt;arrForm['category_id']   = $objFormParam-&gt;getValue('category_id');
            $this-&gt;arrForm['category_name'] = $objFormParam-&gt;getValue('category_name');
            return;
        }

        // カテゴリ更新
        $arrCategory = array();
        $arrCategory['category_name'] = $objFormParam-&gt;getValue('category_name');
        $arrCategory['category_info'] = $objFormParam-&gt;getValue('category_info');
        $arrCategory['info_flg'] = $objFormParam-&gt;getValue('info_flg');
        <strong>$arrCategory['category_h1_txt'] = $objFormParam-&gt;getValue('category_h1_txt');</strong>
        $arrCategory['update_date']   = 'NOW()';
        $this-&gt;updateCategory($objFormParam-&gt;getValue('category_id'), $arrCategory);
    }

    /**
     * カテゴリの登録を実行する.
     *
     * 下記の場合は, 登録を実行せず、エラーメッセージを表示する
     *
     * - カテゴリ登録数の上限を超える場合
     * - 階層登録数の上限を超える場合
     * - カテゴリ名がすでに使用されている場合
     *
     * @param SC_FormParam $objFormParam
     * @return void
     */
    function doRegister(&amp;$objFormParam) {
        // 入力項目チェック
        $arrErr = $objFormParam-&gt;checkError();
        if (count($arrErr) &gt; 0) {
            $this-&gt;arrErr = $arrErr;
            $this-&gt;arrForm['category_name'] = $objFormParam-&gt;getValue('category_name');
            $this-&gt;arrForm['category_info'] = $objFormParam-&gt;getValue('category_info');
            $this-&gt;arrForm['info_flg'] = $objFormParam-&gt;getValue('info_flg');
            <strong>$this-&gt;arrForm['category_h1_txt'] = $objFormParam-&gt;getValue('category_h1_txt');</strong>
            return;
        }

        // 登録数上限チェック
        $objQuery =&amp; SC_Query_Ex::getSingletonInstance();
        $where = "del_flg = 0";
        $count = $objQuery-&gt;count("dtb_category", $where);
        if ($count &gt;= CATEGORY_MAX) {
            $this-&gt;arrErr['category_name']  = "※ カテゴリの登録最大数を超えました。&lt;br/&gt;";
            $this-&gt;arrForm['category_name'] = $objFormParam-&gt;getValue('category_name');
            return;
        }

        // 階層上限チェック
        if ($this-&gt;isOverLevel($objFormParam-&gt;getValue('parent_category_id'))) {
            $this-&gt;arrErr['category_name']  = "※ " . LEVEL_MAX . "階層以上の登録はできません。&lt;br/&gt;";
            $this-&gt;arrForm['category_name'] = $objFormParam-&gt;getValue('category_name');
            return;
        }

        // 重複チェック
        $where = "parent_category_id = ? AND category_name = ?";
        $count = $objQuery-&gt;count("dtb_category",
                                  $where,
                                  array($objFormParam-&gt;getValue('parent_category_id'),
                                        $objFormParam-&gt;getValue('category_name')));
        if ($count &gt; 0) {
            $this-&gt;arrErr['category_name']  = "※ 既に同じ内容の登録が存在します。&lt;br/&gt;";
            $this-&gt;arrForm['category_name'] = $objFormParam-&gt;getValue('category_name');
            return;
        }

        // カテゴリ登録
        $this-&gt;registerCategory($objFormParam-&gt;getValue('parent_category_id'),
                                $objFormParam-&gt;getValue('category_name'),
                                $objFormParam-&gt;getValue('category_info'),
                                $objFormParam-&gt;getValue('info_flg'),
                                <strong>$objFormParam-&gt;getValue('category_h1_txt'),</strong>
                                $_SESSION['member_id']);
    }

    /**
     * カテゴリの表示順序を上へ移動する.
     *
     * @param SC_FormParam $objFormParam
     * @return void
     */
    function doUp(&amp;$objFormParam) {
        $category_id = $objFormParam-&gt;getValue('category_id');

        $objQuery =&amp; SC_Query_Ex::getSingletonInstance();
        $objQuery-&gt;begin();
        $up_id = $this-&gt;lfGetUpRankID($objQuery, "dtb_category", "parent_category_id", "category_id", $category_id);
        if ($up_id != "") {
            // 上のグループのrankから減算する数
            $my_count = $this-&gt;lfCountChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $category_id);
                // 自分のグループのrankに加算する数
                $up_count = $this-&gt;lfCountChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $up_id);
                if ($my_count &gt; 0 &amp;&amp; $up_count &gt; 0) {
                    // 自分のグループに加算
                    $this-&gt;lfUpRankChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $category_id, $up_count);
                    // 上のグループから減算
                    $this-&gt;lfDownRankChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $up_id, $my_count);
                }
        }
        $objQuery-&gt;commit();
    }

    /**
     * カテゴリの表示順序を下へ移動する.
     *
     * @param SC_FormParam $objFormParam
     * @return void
     */
    function doDown(&amp;$objFormParam) {
        $category_id = $objFormParam-&gt;getValue('category_id');

        $objQuery =&amp; SC_Query_Ex::getSingletonInstance();
        $objQuery-&gt;begin();
        $down_id = $this-&gt;lfGetDownRankID($objQuery, "dtb_category", "parent_category_id", "category_id", $category_id);
        if ($down_id != "") {
            // 下のグループのrankに加算する数
            $my_count = $this-&gt;lfCountChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $category_id);
            // 自分のグループのrankから減算する数
            $down_count = $this-&gt;lfCountChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $down_id);
            if ($my_count &gt; 0 &amp;&amp; $down_count &gt; 0) {
                // 自分のグループから減算
                $this-&gt;lfUpRankChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $down_id, $my_count);
                // 下のグループに加算
                $this-&gt;lfDownRankChilds($objQuery, "dtb_category", "parent_category_id", "category_id", $category_id, $down_count);
            }
        }
        $objQuery-&gt;commit();
    }

    /**
     * パラメータの初期化を行う
     *
     * @param SC_FormParam $objFormParam
     * @return void
     */
    function initParam(&amp;$objFormParam) {
        $objFormParam-&gt;addParam("親カテゴリID", "parent_category_id", null, null, array());
        $objFormParam-&gt;addParam("カテゴリID", "category_id", null, null, array());
        $objFormParam-&gt;addParam("カテゴリ名", "category_name", STEXT_LEN, 'KVa', array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("カテゴリ説明", "category_info", LLTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("親カテゴリコピーフラグ", "info_flg", INT_LEN, "n", array("MAX_LENGTH_CHECK", "NUM_CHECK"));
        <strong>$objFormParam-&gt;addParam("カテゴリh1テキスト", "category_h1_txt", LLTEXT_LEN, "KVa", array("SPTAB_CHECK","MAX_LENGTH_CHECK"));</strong>
    }

    /**
     * 親カテゴリIDでカテゴリを検索する.
     *
     * - 表示順の降順でソートする
     * - 有効なカテゴリを返す(del_flag = 0)
     *
     * @param SC_Query $objQuery
     * @param int $parent_category_id 親カテゴリID
     * @return array カテゴリの配列
     */
    function findCategoiesByParentCategoryId($parent_category_id) {
        if (!$parent_category_id) {
            $parent_category_id = 0;
        }
        $objQuery =&amp; SC_Query_Ex::getSingletonInstance();
        $col   = "category_id, category_name, level, rank";
        $where = "del_flg = 0 AND parent_category_id = ?";
        $objQuery-&gt;setOption("ORDER BY rank DESC");
        return $objQuery-&gt;select($col, "dtb_category", $where, array($parent_category_id));
    }

    /**
     * カテゴリを更新する
     *
     * @param integer $category_id 更新対象のカテゴリID
     * @param array 更新する カラム名 =&gt; 値 の連想配列
     * @return void
     */
    function updateCategory($category_id, $arrCategory) {
        $objQuery =&amp; SC_Query_Ex::getSingletonInstance();
        $objQuery-&gt;begin();
        $where = "category_id = ?";

        //追記:親の設定を引き継ぐ時
        if($arrCategory['info_flg']) {
            $parent_category_id = $objQuery-&gt;get("parent_category_id", "dtb_category", $where, array($category_id));
            $arrCategory['category_info'] = $this-&gt;lfGetParentInfo($objQuery, $parent_category_id);
        }

        $objQuery-&gt;update("dtb_category", $arrCategory, $where, array($category_id));
        $objQuery-&gt;commit();
    }

    /**
     * カテゴリを登録する
     *
     * @param integer 親カテゴリID
     * @param string カテゴリ名
     * @param integer 作成者のID
     * @return void
     */
    function registerCategory($parent_category_id, $category_name, $category_info, $info_flg, <strong>$category_h1_txt,</strong> $creator_id) {
        $objQuery =&amp; SC_Query_Ex::getSingletonInstance();
        $objQuery-&gt;begin();

        $rank = null;
        if ($parent_category_id == 0) {
            // ROOT階層で最大のランクを取得する。
            $where = "parent_category_id = ?";
            $rank = $objQuery-&gt;max('rank', "dtb_category", $where, array($parent_category_id)) + 1;
        } else {
            // 親のランクを自分のランクとする。
            $where = "category_id = ?";
            $rank = $objQuery-&gt;get('rank', "dtb_category", $where, array($parent_category_id));
            // 追加レコードのランク以上のレコードを一つあげる。
            $sqlup = "UPDATE dtb_category SET rank = (rank + 1) WHERE rank &gt;= ?";
            $objQuery-&gt;exec($sqlup, array($rank));
        }

        $where = "category_id = ?";
        // 自分のレベルを取得する(親のレベル + 1)
        $level = $objQuery-&gt;get('level', "dtb_category", $where, array($parent_category_id)) + 1;

        $arrCategory = array();
        $arrCategory['category_name'] = $category_name;
        $arrCategory['parent_category_id'] = $parent_category_id;
        $arrCategory['create_date'] = "Now()";
        $arrCategory['update_date'] = "Now()";
        $arrCategory['creator_id']  = $creator_id;
        $arrCategory['rank']        = $rank;
        $arrCategory['level']       = $level;
        $arrCategory['category_id'] = $objQuery-&gt;nextVal('dtb_category_category_id');
        $arrCategory['category_info'] = $category_info;
        $arrCategory['info_flg'] = $info_flg;
        <strong>$arrCategory['category_h1_txt'] = $category_h1_txt;</strong>

        //追記:親の設定を引き継ぐ時
        if($arrCategory['info_flg']) {
            $arrCategory['category_info'] = $this-&gt;lfGetParentInfo($objQuery, $parent_category_id);
        }

        $objQuery-&gt;insert("dtb_category", $arrCategory);

        $objQuery-&gt;commit();    // トランザクションの終了
    }

    /**
     * カテゴリの階層が上限を超えているかを判定する
     *
     * @param integer 親カテゴリID
     * @param 超えている場合 true
     */
    function isOverLevel($parent_category_id) {
        $objQuery =&amp; SC_Query_Ex::getSingletonInstance();
        $level = $objQuery-&gt;get('level', "dtb_category", "category_id = ?", array($parent_category_id));
        return $level &gt;= LEVEL_MAX;
    }

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

    // 追記:親のcategory_infoを取得する
    function lfGetParentInfo($objQuery, $pid) {
        $where = "category_id = ?";
        $parent_info = $objQuery-&gt;get("category_info", "dtb_category", $where, array($pid));
        return $parent_info;
    }</pre>
<p>ヘッダーに下記に書き直す。<br />
!=&#8221;"で空じゃなければってことになり、elseifでもしくは～となるので、最初のifでカテゴリーのh1チェックで、2個目が各詳細ページのh1チェックで、それ以外（ホームや設定していないページなど）になります。</p>
<pre>  &lt;!--{if $category_h1_txt != ""}--&gt;
  &lt;h1 id="head_top"&gt;&lt;!--{$category_h1_txt}--&gt;&lt;/h1&gt;
  &lt;!--{elseif $arrProduct.h1_txt != ""}--&gt;
  &lt;h1 id="head_top"&gt;&lt;!--{$arrProduct.h1_txt}--&gt;&lt;/h1&gt;
  &lt;!--{else}--&gt;
  &lt;h1 id="head_top"&gt;7種類以上のメキシコ唐辛子を使った本格タコスの販売。激辛サルサソースで辛さ調節ができ、子供から大人まで楽しめ、タコスパーティー等に活躍！&lt;/h1&gt;
  &lt;!--{/if}--&gt;</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.hiro-blog.com/2011/12/ec-cube-%e3%82%ab%e3%83%86%e3%82%b4%e3%83%aa%e6%af%8e%e3%81%ab%e3%83%98%e3%83%83%e3%83%80%e3%83%bc%e3%81%aeh1%e3%81%ae%e6%96%87%e7%ab%a0%e3%82%92%e5%a4%89%e3%81%88%e3%82%8b%e3%80%82.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.hiro-blog.com/2011/12/ec-cube-%e3%82%ab%e3%83%86%e3%82%b4%e3%83%aa%e6%af%8e%e3%81%ab%e3%83%98%e3%83%83%e3%83%80%e3%83%bc%e3%81%aeh1%e3%81%ae%e6%96%87%e7%ab%a0%e3%82%92%e5%a4%89%e3%81%88%e3%82%8b%e3%80%82.html" />
	</item>
		<item>
		<title>EC-CUBEでヘッダーにh1タグを入れ商品登録でh1項目を追加する</title>
		<link>http://www.hiro-blog.com/2011/12/ec-cube%e3%81%a7%e5%95%86%e5%93%81%e9%a0%85%e7%9b%ae%e3%81%abh1%e9%a0%85%e7%9b%ae%e3%82%92%e8%bf%bd%e5%8a%a0.html</link>
		<comments>http://www.hiro-blog.com/2011/12/ec-cube%e3%81%a7%e5%95%86%e5%93%81%e9%a0%85%e7%9b%ae%e3%81%abh1%e9%a0%85%e7%9b%ae%e3%82%92%e8%bf%bd%e5%8a%a0.html#comments</comments>
		<pubDate>Thu, 08 Dec 2011 16:51:23 +0000</pubDate>
		<dc:creator>Hiro</dc:creator>
				<category><![CDATA[EC-CUBE]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[カスタマイズ]]></category>

		<guid isPermaLink="false">http://www.hiro-blog.com/?p=3328</guid>
		<description><![CDATA[各ページの最初（画像参照）にSEOとして重要なキーワードを入れた文書を入れたい場合に使えます。 各ページにそれぞれの文章が表記されるので凡庸性にたけ、非常に効果的なSEO対策になります。 データベースのdtb_productsに カラム名：ｈ１_ｔｘｔ　データ型: text　空の値：いいえ を登録します。 data\smarty\templates\admin\products\product.tplの備考欄の下に下記をに埋め込む &#60;tr&#62;       &#60;th&#62;ヘッダーh1テキスト&#60;/th&#62;       &#60;td&#62;&#60;span&#62;&#60;!--{$arrErr.h1_txt}--&#62;&#60;/span&#62;         &#60;input type="text" name="h1_txt" value="&#60;!--{$arrForm.h1_txt&#124;h}--&#62;" size="60" style="&#60;!--{$arrErr.h1_txt&#124;sfGetErrorColor}--&#62;" /&#62;&#60;/td&#62;     &#60;/tr&#62; data\smarty\templates\admin\products\confirm.tplの備考欄の下に下記を埋め込む       &#60;tr&#62;         &#60;th&#62;ヘッダーh1テキスト&#60;/th&#62;         &#60;td&#62;&#60;!--{$arrForm.h1_txt&#124;h}--&#62;&#60;/td&#62;       &#60;/tr&#62; data\class_extends\SC_Product_Ex.phpのclass SC_Product_Ex extends SC_Productに下記を埋め込む 下記はdata\class\SC_Product.phpからコピーしdtb_products.h1_txt,を追加する。 class SC_Product_Ex extends SC_Product {         function alldtlSQL($where = "") {         $whereCause = "";         if (!SC_Utils_Ex::isBlank($where)) [...]]]></description>
			<content:encoded><![CDATA[<div class='wb_fb_top'><div style="float:right;"></div></div><p>各ページの最初（画像参照）にSEOとして重要なキーワードを入れた文書を入れたい場合に使えます。<br />
各ページにそれぞれの文章が表記されるので凡庸性にたけ、非常に効果的なSEO対策になります。</p>
<p><a href="http://www.hiro-blog.com/images/2011/12/h1_txt.jpg"><img src="http://www.hiro-blog.com/images/2011/12/h1_txt.jpg" alt="" title="h1_txt" width="600" height="425" class="alignnone size-full wp-image-3330 colorbox-3328" /></a></p>
<p>データベースのdtb_productsに<br />
カラム名：<strong>ｈ１_ｔｘｔ</strong>　データ型: <strong>text</strong>　空の値：いいえ<br />
を登録します。</p>
<p>data\smarty\templates\admin\products\product.tplの備考欄の下に下記をに埋め込む</p>
<pre>&lt;tr&gt;
      &lt;th&gt;ヘッダーh1テキスト&lt;/th&gt;
      &lt;td&gt;&lt;span&gt;&lt;!--{$arrErr.h1_txt}--&gt;&lt;/span&gt;
        &lt;input type="text" name="h1_txt" value="&lt;!--{$arrForm.h1_txt|h}--&gt;" size="60" style="&lt;!--{$arrErr.h1_txt|sfGetErrorColor}--&gt;" /&gt;&lt;/td&gt;
    &lt;/tr&gt;</pre>
<p>data\smarty\templates\admin\products\confirm.tplの備考欄の下に下記を埋め込む</p>
<pre>      &lt;tr&gt;
        &lt;th&gt;ヘッダーh1テキスト&lt;/th&gt;
        &lt;td&gt;&lt;!--{$arrForm.h1_txt|h}--&gt;&lt;/td&gt;
      &lt;/tr&gt;</pre>
<p>data\class_extends\SC_Product_Ex.phpのclass SC_Product_Ex extends SC_Productに下記を埋め込む<br />
下記はdata\class\SC_Product.phpからコピーし<strong>dtb_products.h1_txt,</strong>を追加する。</p>
<pre>class SC_Product_Ex extends SC_Product {
        function alldtlSQL($where = "") {
        $whereCause = "";
        if (!SC_Utils_Ex::isBlank($where)) {
            $whereCause = " WHERE " . $where;
        }
        /*
         * point_rate, deliv_fee は商品規格(dtb_products_class)ごとに保持しているが,
         * 商品(dtb_products)ごとの設定なので MAX のみを取得する.
         */
        $sql = &lt;&lt;&lt; __EOS__
            (
             SELECT dtb_products.product_id,
                    dtb_products.name,
                    dtb_products.maker_id,
                    dtb_products.status,
                    dtb_products.comment1,
                    dtb_products.comment2,
                    dtb_products.comment3,
                    dtb_products.comment4,
                    dtb_products.comment5,
                    dtb_products.comment6,
                    dtb_products.note,
                    <strong>dtb_products.h1_txt,</strong>
                    dtb_products.main_list_comment,
                    dtb_products.main_list_image,
                    dtb_products.main_comment,
                    dtb_products.main_image,
                    dtb_products.main_large_image,
                    dtb_products.sub_title1,
                    dtb_products.sub_comment1,
                    dtb_products.sub_image1,
                    dtb_products.sub_large_image1,
                    dtb_products.sub_title2,
                    dtb_products.sub_comment2,
                    dtb_products.sub_image2,
                    dtb_products.sub_large_image2,
                    dtb_products.sub_title3,
                    dtb_products.sub_comment3,
                    dtb_products.sub_image3,
                    dtb_products.sub_large_image3,
                    dtb_products.sub_title4,
                    dtb_products.sub_comment4,
                    dtb_products.sub_image4,
                    dtb_products.sub_large_image4,
                    dtb_products.sub_title5,
                    dtb_products.sub_comment5,
                    dtb_products.sub_image5,
                    dtb_products.sub_large_image5,
                    dtb_products.sub_title6,
                    dtb_products.sub_comment6,
                    dtb_products.sub_image6,
                    dtb_products.sub_large_image6,
                    dtb_products.del_flg,
                    dtb_products.creator_id,
                    dtb_products.create_date,
                    dtb_products.update_date,
                    dtb_products.deliv_date_id,
                    T4.product_code_min,
                    T4.product_code_max,
                    T4.price01_min,
                    T4.price01_max,
                    T4.price02_min,
                    T4.price02_max,
                    T4.stock_min,
                    T4.stock_max,
                    T4.stock_unlimited_min,
                    T4.stock_unlimited_max,
                    T4.point_rate,
                    T4.deliv_fee,
                    T4.class_count
               FROM dtb_products
               JOIN (
                       SELECT product_id,
                              MIN(product_code) AS product_code_min,
                              MAX(product_code) AS product_code_max,
                              MIN(price01) AS price01_min,
                              MAX(price01) AS price01_max,
                              MIN(price02) AS price02_min,
                              MAX(price02) AS price02_max,
                              MIN(stock) AS stock_min,
                              MAX(stock) AS stock_max,
                              MIN(stock_unlimited) AS stock_unlimited_min,
                              MAX(stock_unlimited) AS stock_unlimited_max,
                              MAX(point_rate) AS point_rate,
                              MAX(deliv_fee) AS deliv_fee,
                              COUNT(*) as class_count
                         FROM dtb_products_class
                       $whereCause
                     GROUP BY product_id
                     ) AS T4
                 ON dtb_products.product_id = T4.product_id
        ) AS alldtl
__EOS__;
        return $sql;
    }
}</pre>
<p>data\class_extends\page_extends\admin\products\LC_Page_Admin_Products_Product_Ex.phpの最後に下記を追加する。<br />
data\class\page\admin\products\LC_Page_Admin_Products_Product.phpからコピーし<strong>$objFormParam-&gt;addParam(&#8220;ヘッダーh1テキスト&#8221;, &#8220;h1_txt&#8221;, LLTEXT_LEN, &#8216;KVa&#8217;, array(&#8220;SPTAB_CHECK&#8221;, &#8220;MAX_LENGTH_CHECK&#8221;));</strong>と<strong> &#8220;h1_txt&#8221;,</strong>と<strong>$sqlval['h1_txt'] = $arrList['h1_txt'];</strong>を追加する</p>
<pre>function lfInitFormParam(&amp;$objFormParam, $arrPost) {
        $objFormParam-&gt;addParam("商品ID", "product_id", INT_LEN, 'n', array("NUM_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("商品名", 'name', STEXT_LEN, 'KVa', array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("商品カテゴリ", "category_id", INT_LEN, 'n', array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("公開・非公開", 'status', INT_LEN, 'n', array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("商品ステータス", "product_status", INT_LEN, 'n', array("NUM_CHECK", "MAX_LENGTH_CHECK"));

        if($this-&gt;lfGetProductClassFlag($arrPost['has_product_class']) == false) {
            // 新規登録, 規格なし商品の編集の場合
            $objFormParam-&gt;addParam("商品種別", "product_type_id", INT_LEN, 'n', array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
            $objFormParam-&gt;addParam("ダウンロード商品ファイル名", "down_filename", STEXT_LEN, 'KVa', array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
            $objFormParam-&gt;addParam("ダウンロード商品実ファイル名", "down_realfilename", MTEXT_LEN, 'KVa', array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
            $objFormParam-&gt;addParam("temp_down_file", "temp_down_file", '', "", array());
            $objFormParam-&gt;addParam("save_down_file", "save_down_file", '', "", array());
            $objFormParam-&gt;addParam("商品コード", "product_code", STEXT_LEN, 'KVna', array("EXIST_CHECK", "SPTAB_CHECK","MAX_LENGTH_CHECK"));
            $objFormParam-&gt;addParam(NORMAL_PRICE_TITLE, "price01", PRICE_LEN, 'n', array("NUM_CHECK", "MAX_LENGTH_CHECK"));
            $objFormParam-&gt;addParam(SALE_PRICE_TITLE, "price02", PRICE_LEN, 'n', array("EXIST_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
            $objFormParam-&gt;addParam("在庫数", 'stock', AMOUNT_LEN, 'n', array("SPTAB_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
            $objFormParam-&gt;addParam("在庫無制限", "stock_unlimited", INT_LEN, 'n', array("SPTAB_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
        }
        $objFormParam-&gt;addParam("商品送料", "deliv_fee", PRICE_LEN, 'n', array("NUM_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("ポイント付与率", "point_rate", PERCENTAGE_LEN, 'n', array("EXIST_CHECK", "NUM_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("発送日目安", "deliv_date_id", INT_LEN, 'n', array("NUM_CHECK"));
        $objFormParam-&gt;addParam("購入制限", "sale_limit", AMOUNT_LEN, 'n', array("SPTAB_CHECK", "ZERO_CHECK", "NUM_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("メーカー", "maker_id", INT_LEN, 'n', array("NUM_CHECK"));
        $objFormParam-&gt;addParam("メーカーURL", "comment1", URL_LEN, 'a', array("SPTAB_CHECK", "URL_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("検索ワード", "comment3", LLTEXT_LEN, 'KVa', array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
        <strong>$objFormParam-&gt;addParam("ヘッダーh1テキスト", "h1_txt", LLTEXT_LEN, 'KVa', array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));</strong>
        $objFormParam-&gt;addParam("備考欄(SHOP専用)", 'note', LLTEXT_LEN, 'KVa', array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("一覧-メインコメント", "main_list_comment", MTEXT_LEN, 'KVa', array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("詳細-メインコメント", "main_comment", LLTEXT_LEN, 'KVa', array("EXIST_CHECK", "SPTAB_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("save_main_list_image", "save_main_list_image", '', "", array());
        $objFormParam-&gt;addParam("save_main_image", "save_main_image", '', "", array());
        $objFormParam-&gt;addParam("save_main_large_image", "save_main_large_image", '', "", array());
        $objFormParam-&gt;addParam("temp_main_list_image", "temp_main_list_image", '', "", array());
        $objFormParam-&gt;addParam("temp_main_image", "temp_main_image", '', "", array());
        $objFormParam-&gt;addParam("temp_main_large_image", "temp_main_large_image", '', "", array());

        for ($cnt = 1; $cnt &lt;= PRODUCTSUB_MAX; $cnt++) {
            $objFormParam-&gt;addParam("詳細-サブタイトル" . $cnt, "sub_title" . $cnt, STEXT_LEN, 'KVa', array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
            $objFormParam-&gt;addParam("詳細-サブコメント" . $cnt, "sub_comment" . $cnt, LLTEXT_LEN, 'KVa', array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
            $objFormParam-&gt;addParam("save_sub_image" . $cnt, "save_sub_image" . $cnt, '', "", array());
            $objFormParam-&gt;addParam("save_sub_large_image" . $cnt, "save_sub_large_image" . $cnt, '', "", array());
            $objFormParam-&gt;addParam("temp_sub_image" . $cnt, "temp_sub_image" . $cnt, '', "", array());
            $objFormParam-&gt;addParam("temp_sub_large_image" . $cnt, "temp_sub_large_image" . $cnt, '', "", array());
        }

        for ($cnt = 1; $cnt &lt;= RECOMMEND_PRODUCT_MAX; $cnt++) {
            $objFormParam-&gt;addParam("関連商品コメント" . $cnt, "recommend_comment" . $cnt, LTEXT_LEN, 'KVa', array("SPTAB_CHECK", "MAX_LENGTH_CHECK"));
            $objFormParam-&gt;addParam("関連商品ID" . $cnt, "recommend_id" . $cnt, INT_LEN, 'n', array("NUM_CHECK", "MAX_LENGTH_CHECK"));
            $objFormParam-&gt;addParam("recommend_delete" . $cnt, "recommend_delete" . $cnt, '', 'n', array());
        }

        $objFormParam-&gt;addParam("商品ID", "copy_product_id", INT_LEN, 'n', array("NUM_CHECK", "MAX_LENGTH_CHECK"));

        $objFormParam-&gt;addParam("has_product_class", "has_product_class", INT_LEN, 'n', array("NUM_CHECK", "MAX_LENGTH_CHECK"));
        $objFormParam-&gt;addParam("product_class_id", "product_class_id", INT_LEN, 'n', array("NUM_CHECK", "MAX_LENGTH_CHECK"));

        $objFormParam-&gt;setParam($arrPost);
        $objFormParam-&gt;convParam();
    }
        function lfRegistProduct(&amp;$objUpFile, &amp;$objDownFile, $arrList) {
        $objQuery =&amp; SC_Query_Ex::getSingletonInstance();
        $objDb = new SC_Helper_DB_Ex();

        // 配列の添字を定義
        $checkArray = array('name', 'status',
                            "main_list_comment", "main_comment",
                            "deliv_fee", "comment1", "comment2", "comment3",
                            "comment4", "comment5", "comment6",<strong> "h1_txt",</strong> "main_list_comment",
                            "sale_limit", "deliv_date_id", "maker_id", 'note');
        $arrList = SC_Utils_Ex::arrayDefineIndexes($arrList, $checkArray);

        // INSERTする値を作成する。
        $sqlval['name'] = $arrList['name'];
        $sqlval['status'] = $arrList['status'];
        $sqlval['main_list_comment'] = $arrList['main_list_comment'];
        $sqlval['main_comment'] = $arrList['main_comment'];
        $sqlval['comment1'] = $arrList['comment1'];
        $sqlval['comment2'] = $arrList['comment2'];
        $sqlval['comment3'] = $arrList['comment3'];
        $sqlval['comment4'] = $arrList['comment4'];
        $sqlval['comment5'] = $arrList['comment5'];
        $sqlval['comment6'] = $arrList['comment6'];
        <strong>$sqlval['h1_txt'] = $arrList['h1_txt'];</strong>
        $sqlval['main_list_comment'] = $arrList['main_list_comment'];
        $sqlval['deliv_date_id'] = $arrList['deliv_date_id'];
        $sqlval['maker_id'] = $arrList['maker_id'];
        $sqlval['note'] = $arrList['note'];
        $sqlval['update_date'] = "Now()";
        $sqlval['creator_id'] = $_SESSION['member_id'];
        $arrRet = $objUpFile-&gt;getDBFileList();
        $sqlval = array_merge($sqlval, $arrRet);

        for($cnt = 1; $cnt &lt;= PRODUCTSUB_MAX; $cnt++) {
            $sqlval['sub_title'.$cnt] = $arrList['sub_title'.$cnt];
            $sqlval['sub_comment'.$cnt] = $arrList['sub_comment'.$cnt];
        }

        $objQuery-&gt;begin();

        // 新規登録(複製時を含む)
        if($arrList['product_id'] == "") {
            $product_id = $objQuery-&gt;nextVal("dtb_products_product_id");
            $sqlval['product_id'] = $product_id;

            // INSERTの実行
            $sqlval['create_date'] = "Now()";
            $objQuery-&gt;insert("dtb_products", $sqlval);

            $arrList['product_id'] = $product_id;

            // カテゴリを更新
            $objDb-&gt;updateProductCategories($arrList['category_id'], $product_id);

            // 複製商品の場合には規格も複製する
            if($arrList["copy_product_id"] != "" &amp;&amp; SC_Utils_Ex::sfIsInt($arrList["copy_product_id"])) {
                if($this-&gt;lfGetProductClassFlag($arrList["has_product_class"]) == false) {
                    //規格なしの場合、複製は価格等の入力が発生しているため、その内容で追加登録を行う
                    $this-&gt;lfCopyProductClass($arrList, $objQuery);
                } else {
                    //規格がある場合の複製は複製元の内容で追加登録を行う
                    // dtb_products_class のカラムを取得
                    $dbFactory = SC_DB_DBFactory_Ex::getInstance();
                    $arrColList = $objQuery-&gt;listTableFields('dtb_products_class');
                    $arrColList_tmp = array_flip($arrColList);

                    // 複製しない列
                    unset($arrColList[$arrColList_tmp["product_class_id"]]);     //規格ID
                    unset($arrColList[$arrColList_tmp["product_id"]]);           //商品ID
                    unset($arrColList[$arrColList_tmp["create_date"]]);

                    // 複製元商品の規格データ取得
                    $col = SC_Utils_Ex::sfGetCommaList($arrColList);
                    $table = 'dtb_products_class';
                    $where = 'product_id = ?';
                    $objQuery-&gt;setOrder('product_class_id');
                    $arrProductsClass = $objQuery-&gt;select($col, $table, $where, array($arrList["copy_product_id"]));

                    // 複製元商品の規格組み合わせデータ登録
                    // 登録した組み合わせIDを取得
                    $arrRetCombinationId = $this-&gt;lfRegistClassCombination($arrProductsClass);

                    // 規格データ登録
                    $objQuery =&amp; SC_Query_Ex::getSingletonInstance();
                    foreach($arrProductsClass as $arrData) {
                        $sqlval = array();
                        $sqlval['product_class_id'] = $objQuery-&gt;nextVal('dtb_products_class_product_class_id');
                        $sqlval['product_id'] = $product_id;
                        $sqlval['create_date'] = 'now()';
                        $sqlval['class_combination_id'] = $arrRetCombinationId[$arrData['class_combination_id']];
                        $sqlval['product_type_id'] = $arrData['product_type_id'];
                        $sqlval['product_code'] = $arrData['product_code'];
                        $sqlval['stock'] = $arrData['stock'];
                        $sqlval['stock_unlimited'] = $arrData['stock_unlimited'];
                        $sqlval['sale_limit'] = $arrData['sale_limit'];
                        $sqlval['price01'] = $arrData['price01'];
                        $sqlval['price02'] = $arrData['price02'];
                        $sqlval['deliv_fee'] = $arrData['deliv_fee'];
                        $sqlval['point_rate'] = $arrData['point_rate'];
                        $sqlval['creator_id'] = $arrData['creator_id'];
                        $sqlval['update_date'] = 'now()';
                        $sqlval['down_filename'] = $arrData['down_filename'];
                        $sqlval['down_realfilename'] = $arrData['down_realfilename'];
                        $sqlval['del_flg'] = $arrData['del_flg'];
                        $objQuery-&gt;insert($table, $sqlval);
                    }
                }
            }
        // 更新
        } else {
            $product_id = $arrList['product_id'];
            // 削除要求のあった既存ファイルの削除
            $arrRet = $this-&gt;lfGetProductData_FromDB($arrList['product_id']);
            // TODO: SC_UploadFile::deleteDBFileの画像削除条件見直し要
            $objImage = new SC_Image_Ex($objUpFile-&gt;temp_dir);
            $arrKeyName = $objUpFile-&gt;keyname;
            $arrSaveFile = $objUpFile-&gt;save_file;
            $arrImageKey = array();
            foreach ($arrKeyName as $key =&gt; $keyname) {
                if ($arrRet[$keyname] &amp;&amp; !$arrSaveFile[$key]) {
                    $arrImageKey[] = $keyname;
                    $has_same_image = $this-&gt;lfHasSameProductImage($arrList['product_id'], $arrImageKey, $arrRet[$keyname]);
                    if (!$has_same_image) {
                        $objImage-&gt;deleteImage($arrRet[$keyname], $objUpFile-&gt;save_dir);
                    }
                }
            }
            $objDownFile-&gt;deleteDBDownFile($arrRet);
            // UPDATEの実行
            $where = "product_id = ?";
            $objQuery-&gt;update("dtb_products", $sqlval, $where, array($product_id));

            // カテゴリを更新
            $objDb-&gt;updateProductCategories($arrList['category_id'], $product_id);
        }

        // 商品登録の時は規格を生成する。複製の場合は規格も複製されるのでこの処理は不要。
        if($arrList["copy_product_id"] == "") {
            // 規格登録
            if ($objDb-&gt;sfHasProductClass($product_id)) {
                // 規格あり商品（商品規格テーブルのうち、商品登録フォームで設定するパラメータのみ更新）
                $this-&gt;lfUpdateProductClass($arrList);
            } else {
                // 規格なし商品（商品規格テーブルの更新）
                $this-&gt;lfInsertDummyProductClass($arrList);
            }
        }

        // ステータス設定
        $objProduct = new SC_Product_Ex();
        $objProduct-&gt;setProductStatus($product_id, $arrList['product_status']);

        // 関連商品登録
        $this-&gt;lfInsertRecommendProducts($objQuery, $arrList, $product_id);

        $objQuery-&gt;commit();
        return $product_id;
    }</pre>
<p>最後にヘッダー部分に下記を埋め込む</p>
<pre>&lt;!--{if $arrProduct.h1_txt == ""}--&gt;
  &lt;h1&gt;詳細ページ以外（トップページや一覧ページ等）で表示させる文章&lt;/h1&gt;
  &lt;!--{else}--&gt;
  &lt;h1&gt;&lt;!--{$arrProduct.h1_txt}--&gt;&lt;/h1&gt;
&lt;!--{/if}--&gt;</pre>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hiro-blog.com/2011/12/ec-cube%e3%81%a7%e5%95%86%e5%93%81%e9%a0%85%e7%9b%ae%e3%81%abh1%e9%a0%85%e7%9b%ae%e3%82%92%e8%bf%bd%e5%8a%a0.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.hiro-blog.com/2011/12/ec-cube%e3%81%a7%e5%95%86%e5%93%81%e9%a0%85%e7%9b%ae%e3%81%abh1%e9%a0%85%e7%9b%ae%e3%82%92%e8%bf%bd%e5%8a%a0.html" />
	</item>
		<item>
		<title>ミルク作りに便利！電気ケトルを買いました。</title>
		<link>http://www.hiro-blog.com/2011/09/%e3%83%9f%e3%83%ab%e3%82%af%e4%bd%9c%e3%82%8a%e3%81%ab%e4%be%bf%e5%88%a9%ef%bc%81%e9%9b%bb%e6%b0%97%e3%82%b1%e3%83%88%e3%83%ab%e3%82%92%e8%b2%b7%e3%81%84%e3%81%be%e3%81%97%e3%81%9f%e3%80%82.html</link>
		<comments>http://www.hiro-blog.com/2011/09/%e3%83%9f%e3%83%ab%e3%82%af%e4%bd%9c%e3%82%8a%e3%81%ab%e4%be%bf%e5%88%a9%ef%bc%81%e9%9b%bb%e6%b0%97%e3%82%b1%e3%83%88%e3%83%ab%e3%82%92%e8%b2%b7%e3%81%84%e3%81%be%e3%81%97%e3%81%9f%e3%80%82.html#comments</comments>
		<pubDate>Mon, 19 Sep 2011 15:19:51 +0000</pubDate>
		<dc:creator>Hiro</dc:creator>
				<category><![CDATA[買い物]]></category>
		<category><![CDATA[購入]]></category>

		<guid isPermaLink="false">http://www.hiro-blog.com/?p=3547</guid>
		<description><![CDATA[子供が生まれて生活の一部になったのがミルク作りです。 生まれてしばらくは2時間おきにミルクを作って与える必要があるので、1日に何度も水を沸かします。 そこですぐに沸いで便利とよくママ雑誌などに書いてある電気ケトルを買いに行きました。 大型スーパーに買いに行ったのですが、電気ケトルといっても結構な種類が売ってありちょっと迷いました。 安い商品は作りや見た目が安っぽくてすぐ壊れそうだし、高くてもそれほど変わらないようにも見える。 ZOJIRUSHIからも同じようなのが出ていて安いのと高いのでは2000円ほど違います。 ただ、見た目はそれほど変わらず、1時間保温付きとボタンの場所の違いとカルキとばしコースがあるぐらいしか違いません。 それでも暫くは毎日使うし、どうせ買うならと思い高い方を買いましたが・・・ｗ 中身は非常にシンプルで、本体とドック本体だけです。 沸かしも非常に簡単で、ドックに載せて手元のボタンを押すだけとシンプル。 200mlの水なら1分10秒で沸きますし、最大量の800mlでも4分30秒で沸きました。 赤ちゃんのミルク用に買ったのですが、これだけ早いとコーヒーや紅茶を入れる時にも重宝しそうです。 1時間あったか保温機能に関しては私は使いませんが、来客やお店などで使う場合にはありがたい機能なのかな？ 最後に上位機種でしたが残念だったのがドック本体のケーブルが巻取りが手動型で機械式？じゃなかったのが残念です。 夜中はキッチンから寝室に持って移動するので、朝と夜にそれぞれ置く場所に応じて長さを手で調整するのは面倒です。 その1点だけが不満な点でそれ以外は非常に便利に毎日使っています。]]></description>
			<content:encoded><![CDATA[<div class='wb_fb_top'><div style="float:right;"></div></div><p>子供が生まれて生活の一部になったのがミルク作りです。</p>
<p>生まれてしばらくは2時間おきにミルクを作って与える必要があるので、1日に何度も水を沸かします。</p>
<p>そこですぐに沸いで便利とよくママ雑誌などに書いてある電気ケトルを買いに行きました。</p>
<p>大型スーパーに買いに行ったのですが、電気ケトルといっても結構な種類が売ってありちょっと迷いました。</p>
<p>安い商品は作りや見た目が安っぽくてすぐ壊れそうだし、高くてもそれほど変わらないようにも見える。</p>
<p>ZOJIRUSHIからも同じようなのが出ていて安いのと高いのでは2000円ほど違います。</p>
<p>ただ、見た目はそれほど変わらず、1時間保温付きとボタンの場所の違いとカルキとばしコースがあるぐらいしか違いません。</p>
<p>それでも暫くは毎日使うし、どうせ買うならと思い高い方を買いましたが・・・ｗ</p>
<p><img src="http://www.hiro-blog.com/images/2012/01/CIMG2991.jpg" alt="電気ケトル　CK-FS08-BF" title="電気ケトル　CK-FS08-BF" width="600" height="450" class="alignnone  wp-image-3549 colorbox-3547" /></p>
<p>中身は非常にシンプルで、本体とドック本体だけです。</p>
<p>沸かしも非常に簡単で、ドックに載せて手元のボタンを押すだけとシンプル。</p>
<p>200mlの水なら1分10秒で沸きますし、最大量の800mlでも4分30秒で沸きました。</p>
<p>赤ちゃんのミルク用に買ったのですが、これだけ早いとコーヒーや紅茶を入れる時にも重宝しそうです。</p>
<p><img src="http://www.hiro-blog.com/images/2012/01/CIMG2997.jpg" alt="電気ケトルの本体" title="電気ケトルの本体" width="600" height="450" class="alignnone size-full wp-image-3548 colorbox-3547" /></p>
<p>1時間あったか保温機能に関しては私は使いませんが、来客やお店などで使う場合にはありがたい機能なのかな？</p>
<p>最後に上位機種でしたが残念だったのがドック本体のケーブルが巻取りが手動型で機械式？じゃなかったのが残念です。</p>
<p>夜中はキッチンから寝室に持って移動するので、朝と夜にそれぞれ置く場所に応じて長さを手で調整するのは面倒です。</p>
<p>その1点だけが不満な点でそれ以外は非常に便利に毎日使っています。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hiro-blog.com/2011/09/%e3%83%9f%e3%83%ab%e3%82%af%e4%bd%9c%e3%82%8a%e3%81%ab%e4%be%bf%e5%88%a9%ef%bc%81%e9%9b%bb%e6%b0%97%e3%82%b1%e3%83%88%e3%83%ab%e3%82%92%e8%b2%b7%e3%81%84%e3%81%be%e3%81%97%e3%81%9f%e3%80%82.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.hiro-blog.com/2011/09/%e3%83%9f%e3%83%ab%e3%82%af%e4%bd%9c%e3%82%8a%e3%81%ab%e4%be%bf%e5%88%a9%ef%bc%81%e9%9b%bb%e6%b0%97%e3%82%b1%e3%83%88%e3%83%ab%e3%82%92%e8%b2%b7%e3%81%84%e3%81%be%e3%81%97%e3%81%9f%e3%80%82.html" />
	</item>
		<item>
		<title>M-AUDIOのオーディオインターフェイス「Project MIX」を買いました。</title>
		<link>http://www.hiro-blog.com/2011/09/m-audio%e3%81%ae%e3%82%aa%e3%83%bc%e3%83%87%e3%82%a3%e3%82%aa%e3%82%a4%e3%83%b3%e3%82%bf%e3%83%bc%e3%83%95%e3%82%a7%e3%82%a4%e3%82%b9%e3%80%8cproject-mix%e3%80%8d%e3%82%92%e8%b2%b7%e3%81%84%e3%81%be.html</link>
		<comments>http://www.hiro-blog.com/2011/09/m-audio%e3%81%ae%e3%82%aa%e3%83%bc%e3%83%87%e3%82%a3%e3%82%aa%e3%82%a4%e3%83%b3%e3%82%bf%e3%83%bc%e3%83%95%e3%82%a7%e3%82%a4%e3%82%b9%e3%80%8cproject-mix%e3%80%8d%e3%82%92%e8%b2%b7%e3%81%84%e3%81%be.html#comments</comments>
		<pubDate>Wed, 14 Sep 2011 08:21:55 +0000</pubDate>
		<dc:creator>Hiro</dc:creator>
				<category><![CDATA[DTM]]></category>
		<category><![CDATA[パソコン機器]]></category>
		<category><![CDATA[買い物]]></category>
		<category><![CDATA[作曲]]></category>

		<guid isPermaLink="false">http://www.hiro-blog.com/?p=3534</guid>
		<description><![CDATA[以前からオーディオインターフェイスにM-AUDIO社のFirewire410を愛用していたのですが、入力端子が２chのみで８chタイプが以前から欲しいと思っていました。 よければミキサータイプでタッチセンスとムービングフェーダーが付いているタイプを狙っていました。 PROJECT MIXの発売は２００５年と随分古い機種ですが、音質は評価が高く今でも十分使える機種だと思います。 何よりミキサータイプは操作性が高いので楽にミキシングができるのがモチベーションを維持するコツだと思いますｗ 発売当初１２万ぐらいで販売されていたハイエンド機種をいくらで買ったかというと・・・。 かな～～～～～～～り安く手に入れることができました(*´▽｀*)ノ゛ 使用頻度の少ないBEHRINGERのBCF2000とFirewire410をYahooオークションで売ったらほとんど手出しなしで手に入ったようなものです。 中古なので箱はくたびれていましたが、中身はほとんど傷もなく新品に近い状態で興奮！！ さっそくすべてのチャンネルにマイクをつないで、問題ないかをチェックしました。 Firewire４１０に比べどのチャンネルもクリアに録音ができ、ノイズが全く乗らないのにはビックリ！(⌒▽⌒;) どのチャンネルもしっかり録音ができフェーダーやボタンも問題ありませんでした。 ムービングフェーダーがどんな感じに動くか動画を撮影しました。 速い動きは苦手ですが、十分実用範囲です。]]></description>
			<content:encoded><![CDATA[<div class='wb_fb_top'><div style="float:right;"></div></div><p>以前からオーディオインターフェイスにM-AUDIO社の<a href="http://www.m-audio.jp/products/jp_jp/FireWire410.html">Firewire410</a>を愛用していたのですが、入力端子が２chのみで８chタイプが以前から欲しいと思っていました。</p>
<p>よければミキサータイプでタッチセンスとムービングフェーダーが付いているタイプを狙っていました。</p>
<p>PROJECT MIXの発売は２００５年と随分古い機種ですが、音質は評価が高く今でも十分使える機種だと思います。</p>
<p>何よりミキサータイプは操作性が高いので楽にミキシングができるのがモチベーションを維持するコツだと思いますｗ</p>
<p>発売当初１２万ぐらいで販売されていたハイエンド機種をいくらで買ったかというと・・・。</p>
<p>かな～～～～～～～り安く手に入れることができました(*´▽｀*)ノ゛</p>
<p>使用頻度の少ない<a href="http://www.hiro-blog.com/2011/02/behringer%E3%81%AEbcf2000%E3%82%92%E8%B3%BC%E5%85%A5.html">BEHRINGERのBCF2000</a>とFirewire410をYahooオークションで売ったらほとんど手出しなしで手に入ったようなものです。</p>
<p><img src="http://www.hiro-blog.com/images/2012/01/CIMG2975.jpg" alt="PROJECT MIX I/O" title="PROJECT MIX I/O" width="600" height="450" class="alignnone size-full wp-image-3536 colorbox-3534" /></p>
<p>中古なので箱はくたびれていましたが、中身はほとんど傷もなく新品に近い状態で興奮！！</p>
<p>さっそくすべてのチャンネルにマイクをつないで、問題ないかをチェックしました。</p>
<p>Firewire４１０に比べどのチャンネルもクリアに録音ができ、ノイズが全く乗らないのにはビックリ！(⌒▽⌒;)</p>
<p>どのチャンネルもしっかり録音ができフェーダーやボタンも問題ありませんでした。</p>
<p><img src="http://www.hiro-blog.com/images/2012/01/CIMG2980.jpg" alt="PROJECT MIXを設置してみた" title="PROJECT MIXを設置してみた" width="600" height="450" class="alignnone size-full wp-image-3537 colorbox-3534" /></p>
<p>ムービングフェーダーがどんな感じに動くか動画を撮影しました。</p>
<p>速い動きは苦手ですが、十分実用範囲です。</p>
<p><iframe src="http://www.youtube.com/embed/wHWrVX5aoxA" frameborder="0" width="640" height="480"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hiro-blog.com/2011/09/m-audio%e3%81%ae%e3%82%aa%e3%83%bc%e3%83%87%e3%82%a3%e3%82%aa%e3%82%a4%e3%83%b3%e3%82%bf%e3%83%bc%e3%83%95%e3%82%a7%e3%82%a4%e3%82%b9%e3%80%8cproject-mix%e3%80%8d%e3%82%92%e8%b2%b7%e3%81%84%e3%81%be.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.hiro-blog.com/2011/09/m-audio%e3%81%ae%e3%82%aa%e3%83%bc%e3%83%87%e3%82%a3%e3%82%aa%e3%82%a4%e3%83%b3%e3%82%bf%e3%83%bc%e3%83%95%e3%82%a7%e3%82%a4%e3%82%b9%e3%80%8cproject-mix%e3%80%8d%e3%82%92%e8%b2%b7%e3%81%84%e3%81%be.html" />
	</item>
		<item>
		<title>EC-CUBE 商品の並び順で価格が高い順に変更ボタンを追加 2.11.1</title>
		<link>http://www.hiro-blog.com/2011/09/ec-cube-%e5%95%86%e5%93%81%e3%81%ae%e4%b8%a6%e3%81%b3%e9%a0%86%e3%81%a7%e4%be%a1%e6%a0%bc%e3%81%8c%e9%ab%98%e3%81%84%e9%a0%86%e3%81%ab%e5%a4%89%e6%9b%b4%e3%83%9c%e3%82%bf%e3%83%b3%e3%82%92%e8%bf%bd.html</link>
		<comments>http://www.hiro-blog.com/2011/09/ec-cube-%e5%95%86%e5%93%81%e3%81%ae%e4%b8%a6%e3%81%b3%e9%a0%86%e3%81%a7%e4%be%a1%e6%a0%bc%e3%81%8c%e9%ab%98%e3%81%84%e9%a0%86%e3%81%ab%e5%a4%89%e6%9b%b4%e3%83%9c%e3%82%bf%e3%83%b3%e3%82%92%e8%bf%bd.html#comments</comments>
		<pubDate>Tue, 06 Sep 2011 10:44:57 +0000</pubDate>
		<dc:creator>Hiro</dc:creator>
				<category><![CDATA[EC-CUBE]]></category>
		<category><![CDATA[カスタマイズ]]></category>

		<guid isPermaLink="false">http://www.hiro-blog.com/?p=3269</guid>
		<description><![CDATA[EC-CUBEのVer2.11.0移行は価格が高い順を追加する場合は、Ver.2.4以前とちょっとだけ違います。 data\class\pages\products\LC_Page_Products_List.phpの124行に（低価格順の後に） case 'price2': $objProduct-&#62;setProductsOrder('price02', 'dtb_products_class', 'DESC'); break; data\Smarty\templates\テンプレート名\products\list.tplの該当部分を編集 &#60;!--{if $orderby != 'price'}--&#62; &#60;a href="javascript:fnChangeOrderby('price');"&#62;価格順&#60;/a&#62; &#60;!--{else}--&#62; &#60;strong&#62;価格順&#60;/strong&#62; &#60;!--{/if}--&#62;&#38;nbsp; &#60;!--{if $orderby != "date"}--&#62; &#60;a href="javascript:fnChangeOrderby('date');"&#62;新着順&#60;/a&#62; &#60;!--{else}--&#62; &#60;strong&#62;新着順&#60;/strong&#62; &#60;!--{/if}--&#62; ↓↓↓変更↓↓↓ &#60;!--{if $orderby != 'price'}--&#62; &#60;a href="javascript:fnChangeOrderby('price');"&#62;価格が安い順&#60;/a&#62; &#60;!--{else}--&#62; &#60;strong&#62;価格が安い順&#60;/strong&#62; &#60;!--{/if}--&#62; &#60;!--{if $orderby != "price2"}--&#62; &#60;a href="javascript:fnChangeOrderby('price2');"&#62;価格が高い順&#60;/a&#62; &#60;!--{else}--&#62; &#60;strong&#62;価格が高い順&#60;/strong&#62; &#60;!--{/if}--&#62; &#60;!--{if $orderby != "date"}--&#62; &#60;a href="javascript:fnChangeOrderby('date');"&#62;新着順&#60;/a&#62; &#60;!--{else}--&#62; &#60;strong&#62;新着順&#60;/strong&#62; &#60;!--{/if}--&#62;]]></description>
			<content:encoded><![CDATA[<div class='wb_fb_top'><div style="float:right;"></div></div><p>EC-CUBEのVer2.11.0移行は価格が高い順を追加する場合は、Ver.2.4以前とちょっとだけ違います。</p>
<p><strong>data\class\pages\products\LC_Page_Products_List.php</strong>の124行に（低価格順の後に）</p>
<pre>case 'price2':
$objProduct-&gt;setProductsOrder('price02', 'dtb_products_class', 'DESC');
break;</pre>
<p><strong>data\Smarty\templates\テンプレート名\products\list.tpl</strong>の該当部分を編集</p>
<pre><!--{if $orderby != 'price'}-->&lt;!--{if $orderby != 'price'}--&gt;
&lt;a href="javascript:fnChangeOrderby('price');"&gt;価格順&lt;/a&gt;
&lt;!--{else}--&gt;
&lt;strong&gt;価格順&lt;/strong&gt;
&lt;!--{/if}--&gt;&amp;nbsp;
&lt;!--{if $orderby != "date"}--&gt;
&lt;a href="javascript:fnChangeOrderby('date');"&gt;新着順&lt;/a&gt;
&lt;!--{else}--&gt;
&lt;strong&gt;新着順&lt;/strong&gt;
&lt;!--{/if}--&gt;
<strong>↓↓↓変更↓↓↓</strong>
&lt;!--{if $orderby != 'price'}--&gt;
&lt;a href="javascript:fnChangeOrderby('price');"&gt;価格が安い順&lt;/a&gt;
&lt;!--{else}--&gt;
&lt;strong&gt;価格が安い順&lt;/strong&gt;
&lt;!--{/if}--&gt;
&lt;!--{if $orderby != "price2"}--&gt;
&lt;a href="javascript:fnChangeOrderby('price2');"&gt;価格が高い順&lt;/a&gt;
&lt;!--{else}--&gt;
&lt;strong&gt;価格が高い順&lt;/strong&gt;
&lt;!--{/if}--&gt;
&lt;!--{if $orderby != "date"}--&gt;
&lt;a href="javascript:fnChangeOrderby('date');"&gt;新着順&lt;/a&gt;
&lt;!--{else}--&gt;
&lt;strong&gt;新着順&lt;/strong&gt;
&lt;!--{/if}--&gt; <!--{/if}--></pre>
<p><a href="http://px.a8.net/svt/ejp?a8mat=1682A8+9B72CY+5WS+BWVTD&amp;a8ejpredirect=http%3A%2F%2Fitem.rakuten.co.jp%2Fstylish-house-i-town%2Fshijo_ec-vx220-r%2F" target="_blank"><br />
<img class="colorbox-3269"  src="http://thumbnail.image.rakuten.co.jp/@0_mall/stylish-house-i-town/cabinet/02471402/img58062731.jpg?_ex=200x200&amp;s=2&amp;r=1" border="0" alt="" /></a><br />
<img class="colorbox-3269"  src="http://www13.a8.net/0.gif?a8mat=1682A8+9B72CY+5WS+BWVTD" border="0" alt="" width="1" height="1" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.hiro-blog.com/2011/09/ec-cube-%e5%95%86%e5%93%81%e3%81%ae%e4%b8%a6%e3%81%b3%e9%a0%86%e3%81%a7%e4%be%a1%e6%a0%bc%e3%81%8c%e9%ab%98%e3%81%84%e9%a0%86%e3%81%ab%e5%a4%89%e6%9b%b4%e3%83%9c%e3%82%bf%e3%83%b3%e3%82%92%e8%bf%bd.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.hiro-blog.com/2011/09/ec-cube-%e5%95%86%e5%93%81%e3%81%ae%e4%b8%a6%e3%81%b3%e9%a0%86%e3%81%a7%e4%be%a1%e6%a0%bc%e3%81%8c%e9%ab%98%e3%81%84%e9%a0%86%e3%81%ab%e5%a4%89%e6%9b%b4%e3%83%9c%e3%82%bf%e3%83%b3%e3%82%92%e8%bf%bd.html" />
	</item>
		<item>
		<title>名前は誠晃になりました。</title>
		<link>http://www.hiro-blog.com/2011/09/%e5%90%8d%e5%89%8d%e3%81%af%e8%aa%a0%e6%99%83%e3%81%ab%e3%81%aa%e3%82%8a%e3%81%be%e3%81%97%e3%81%9f%e3%80%82.html</link>
		<comments>http://www.hiro-blog.com/2011/09/%e5%90%8d%e5%89%8d%e3%81%af%e8%aa%a0%e6%99%83%e3%81%ab%e3%81%aa%e3%82%8a%e3%81%be%e3%81%97%e3%81%9f%e3%80%82.html#comments</comments>
		<pubDate>Tue, 06 Sep 2011 07:54:37 +0000</pubDate>
		<dc:creator>Hiro</dc:creator>
				<category><![CDATA[日記]]></category>
		<category><![CDATA[誠晃]]></category>

		<guid isPermaLink="false">http://www.hiro-blog.com/?p=3530</guid>
		<description><![CDATA[やっと長男の名前が決まりました。 先日候補に残った３つのうちの一つ「誠晃」になりました。 市役所に行って各書類を提出してきました。 さてさて呼び名はどれになったと思いますか？ 「ともあき」くんです。 皆さんよろしくお願いします(*´▽｀*)ノ゛]]></description>
			<content:encoded><![CDATA[<div class='wb_fb_top'><div style="float:right;"></div></div><p>やっと長男の名前が決まりました。</p>
<p>先日候補に残った３つのうちの一つ「<strong>誠晃</strong>」になりました。</p>
<p>市役所に行って各書類を提出してきました。</p>
<p><img src="http://www.hiro-blog.com/images/2011/09/CIMG2957.jpg" alt="出生届など" title="出生届など" width="600" height="450" class="alignnone size-full wp-image-3554 colorbox-3530" /></p>
<p>さてさて呼び名はどれになったと思いますか？</p>
<p>「<strong>ともあき</strong>」くんです。</p>
<p><img class="colorbox-3530"  src="http://www.hiro-blog.com/images/2012/01/IMG_7494.jpg" alt="名前は誠晃になりました。" title="名前は誠晃になりました。" width="600" height="400" /></p>
<p>皆さんよろしくお願いします(*´▽｀*)ノ゛</p>
]]></content:encoded>
			<wfw:commentRss>http://www.hiro-blog.com/2011/09/%e5%90%8d%e5%89%8d%e3%81%af%e8%aa%a0%e6%99%83%e3%81%ab%e3%81%aa%e3%82%8a%e3%81%be%e3%81%97%e3%81%9f%e3%80%82.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://www.hiro-blog.com/2011/09/%e5%90%8d%e5%89%8d%e3%81%af%e8%aa%a0%e6%99%83%e3%81%ab%e3%81%aa%e3%82%8a%e3%81%be%e3%81%97%e3%81%9f%e3%80%82.html" />
	</item>
	</channel>
</rss>

