<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Cherry Pie Web</title>
    <link rel="alternate" type="text/html" href="http://www.cherrypieweb.com/" />
    <link rel="self" type="application/atom+xml" href="http://www.cherrypieweb.com/atom.xml" />
    <id>tag:www.cherrypieweb.com,2010-08-07://1</id>
    <updated>2012-05-18T04:54:54Z</updated>
    <subtitle>さくらぎけいのWebサイト</subtitle>
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Pro 5.04</generator>

<entry>
    <title>こんなに使える！　InDesignのアンカー付きオブジェクト - Cherry Pie Weblog</title>
    <link rel="alternate" type="text/html" href="http://www.cherrypieweb.com/weblog/technical/20120518105840.php" />
    <id>tag:www.cherrypieweb.com,2012:/weblog//2.320</id>

    <published>2012-05-18T01:58:40Z</published>
    <updated>2012-05-18T04:54:54Z</updated>

    <summary>InDesignのアンカー付きオブジェクト（インライングラフィック）は、進化してとっても使える機能になっています。画像の貼りこみ以外にも使えるこの機能の、私なりの使い方を紹介します。</summary>
    <author>
        <name>さくらぎけい</name>
        
    </author>
    
        <category term="Technical" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="dtp" label="DTP" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.cherrypieweb.com/weblog/">
        <![CDATA[<p>「アンカー付きオブジェクト」というのは、昔は「インライングラフィック」などと言われていた機能です。</p>
<p>これは、画像などを配置するときに、テキストにアンカーポイントを置くことで、テキストの増減に合わせて画像が動いてくれる機能です。<br />作字（フォントにない旧漢字などをイラストレーターなどで作って埋め込む）をしたときとか、本文中に画像を配置するときとか、見出しに画像を使う時などによく使われる機能です。</p>
<p>アンカー付きオブジェクトの良いところは、<strong>本文テキストに連動して画像が動いてくれる</strong>ところです。<br />これにより、 ドキュメントの修正時にテキストの位置が変わっても、対応する画像の位置を調整する手間が省ける（調整し忘れるミスを防げる）わけです。</p>
<p><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/anchor20120518_1.jpg" alt="anchor20120518_1.jpg" width="680" height="220" /></p>
<p>この機能なんですが、InDesignでとっても使えるようになっていたので、私なりの使い方を紹介させていただきます。</p>
<h3>コラムなどの、囲みテキストに使う</h3>
<p><img class="mt-image-right" style="float: right; margin: 0 0 20px 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/anchor20120518_4.jpg" alt="anchor20120518_4.jpg" width="360" height="500" /></p>
<p><span style="line-height: 19px;">アンカー付きオブジェクトは、画像以外、たとえば<strong>テキストフレームにも設定できます。</strong></span></p>
<p><span style="line-height: 19px;">本文中に囲みでコラム的なものが入るとき、コラムを別のテキストフレームで作成し、アンカー付きオブジェクトとして本文に配置すると便利です。&nbsp;</span></p>
<p>コラムなどはページの下部に配置されることが多いので、そういった場合は「カスタム」にして、テキストフレームを基準に配置することができます。</p>
<p>つまり、カスタムにすると、<strong>アンカーポイントに関係なくオブジェクトを配置できる</strong>んですね。<br />これが、とっても使えるんです！&nbsp;</p>
<p>&nbsp;</p>
<p><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/anchor20120518_5.jpg" alt="anchor20120518_5.jpg" width="446" height="507" /><span style="line-height: 19px;">なお、カスタムにすると本文と重なってしまうので、適宜「テキストの回り込み」を設定してください。</span></p>
<p><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/anchor20120518_6.jpg" alt="anchor20120518_6.jpg" width="470" height="253" /></p>
<p><span><span>【注意】</span><br /><span>アンカー付きオブジェクトにテキストの回り込みを設定しても、アンカーポイントを置いた行は回り込みません。<br />回り込ませたいテキストの前の行にアンカーポイントを置いて、オブジェクトの位置をYオフセットで下にずらしましょう。&nbsp;<br />私は、Y基準を「行（行送りの先頭）」にして、Yオフセットを行送りの数値に設定しています。<br />こうすると、次の行のテキストに揃えられます。&nbsp;</span></span></p>
<h3>複数行にまたがるカッコなどに使う</h3>
<p>複数行をまとめてカッコでくくるレイアウト、たまにありますよね。<br />私の経験上、このようなレイアウトは事故率が高いです。<br />前後のテキストが増減してカッコがずれても、気づかないんですね。</p>
<p><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/anchor20120518_2.jpg" alt="anchor20120518_2.jpg" width="500" height="120" /></p>
<p>そんなときは、カッコをアンカー付きオブジェクトにして、カッコでくくりたい行の先頭に配置します。</p>
<p><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/anchor20120518_3.jpg" alt="anchor20120518_3.jpg" width="446" height="507" />カッコはイラストレーターなどで作って画像として配置してもいいですし、カッコだけのテキストボックスを別に作って、文字に大きく変形をかけたものを配置してもいいと思います。</p>
<h3>1ページ丸ごと画像を配置するときに使う</h3>
<p>1ページを丸ごと使って図表を貼りこむときも、アンカー付きオブジェクトを使います。<br />100ページ越えのドキュメントだと、修正時にテキストと図表の対応がずれてしまうことってよくあると思うのですが、InDesignのアンカー付きオブジェクトは<strong>テキストフレームをはみ出して配置できる</strong>ので、1ページ丸ごとの図表もテキストの増減によって動くようにすることができます。</p>
<p><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/anchor20120518_7.jpg" alt="anchor20120518_7.jpg" width="680" height="340" /><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/anchor20120518_8.jpg" alt="anchor20120518_8.jpg" width="446" height="507" /></p>
<p>ドキュメントの途中に、別文書を挿入するときにも使えますね。</p>
<p>
<hr />
</p>
<p>アンカー付きオブジェクトは、大量ページものを制作するときには必須のテクニックだと思います。</p>
<p>配置画像をアンカー付きオブジェクトにするには、1手間増えてしまうわけですが、修正作業が楽になったり事故を防ぐことができるので、もっと使ってくださいね！&nbsp;</p>]]>
        
    </content>
</entry>

<entry>
    <title>[Magento]BankPaymentの情報が取引メールに表示されない - Cherry Pie Weblog</title>
    <link rel="alternate" type="text/html" href="http://www.cherrypieweb.com/weblog/technical/20120505004756.php" />
    <id>tag:www.cherrypieweb.com,2012:/weblog//2.316</id>

    <published>2012-05-04T15:47:56Z</published>
    <updated>2012-05-04T18:16:55Z</updated>

    <summary>銀行振込を簡単に追加できる定番エクステンション「Bank Payment」ですが、取引メールに詳細情報が表示できません。これを、表示できるようにします。</summary>
    <author>
        <name>さくらぎけい</name>
        
    </author>
    
        <category term="Technical" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="magento" label="magento" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.cherrypieweb.com/weblog/">
        <![CDATA[<p>支払方法に簡単に銀行振込の口座が指定できる便利なエクステンション「Bank Payment」ですが、取引メールの支払方法欄に支払方法が表示されないという不具合があるようです。<br />（以前はちゃんと出てたような気がするので、本体のバージョンアップのせいかもしれません）</p>
<p>取引メールで支払方法を表示するには、メールテンプレートで</p>
<pre class="prettyprint">{{var payment_html}}</pre>
<p><br /> または、</p>
<pre class="prettyprint">{{var paymentMethod}}</pre>
<p><br /> と書けば、そこに支払方法が表示されます。</p>
<p>しかし、「Bank Payment」で設定した支払方法を選択すると、ここが空欄になってしまうのです。<br />同じ開発元の「Cash On Delivery」は、この方法で表示されますので、エクステンション側の問題だろうと思われます。</p>
<p>いろいろ調べたのですが、私の技術力では原因を突き止めることはできませんでした。<br />でも、なんとか表示させる方法は見つかりました。</p>
<h3>支払方法のタイトルを表示する</h3>
<p>まず、支払方法のタイトルを取引メールに表示させる方法ですが、メールテンプレートで直接メソッドを呼び出すことができるので、下記で支払方法のタイトルを表示させることができます。</p>
<pre class="prettyprint">{{var order.getPayment().getMethodInstance().getTitle()}}</pre>
<h3>振込先口座（アカウント情報）を表示する</h3>
<p>振込先口座は、「Bank Payment」の「<em>getAccounts()</em>」というメソッドで取り出すことができます。<br />しかし、このメソッドの返り値は配列なので、そのままメールテンプレートに書いても、「Array」と表示されてしまいます。</p>
<p>ここでメソッドを追加することもできるのですが、元ファイルに手を加えないというMagentoの作法にのっとって、テンプレートファイルを追加してアカウント情報を展開したものが得られるようにします。<br /> テンプレートファイルは、「app/design/・・・/BankPayment」のディレクトリに作成します。<br /> ファイル名は任意なので、今回は「getAccounts.phtml」としました。</p>
<p>（新規ファイル）app/design/frontend/base/default/template/bankpayment/getAccounts.phtml</p>
<pre class="prettyprint">&lt;?php
$allAccounts = '';
$_accounts = $this-&gt;getPayment()-&gt;getMethodInstance()-&gt;getAccounts();
if ($_accounts) {
&nbsp; &nbsp;foreach($_accounts as $_account):
&nbsp; &nbsp;&nbsp; &nbsp;$allAccounts .= $_account-&gt;getAccountHolder().'&lt;br /&gt;'.'&nbsp;&nbsp;'.$_account-&gt;getBankName().'&lt;br /&gt;';
&nbsp; &nbsp;endforeach;
&nbsp; &nbsp;$allAccounts .= '&lt;br /&gt;'.$this-&gt;getPayment()-&gt;getMethodInstance()-&gt;getCustomText();
}
echo $allAccounts;
</pre>
<p>実はこのテンプレートファイルの内容は、「BankPayment」のディレクトリにある、info.phtml を流用したものです。<br />info.phtml はレジでの表示に使用されているので、これを参考に出力用文字列 $allAccounts の内容を変えることができます。</p>
<p>取引メールテンプレートでは、次のように書けば振込先口座の情報が表示されます。</p>
<pre class="prettyprint">{{block type='core/template' area='frontend' template='bankpayment/getAccounts.phtml' payment=$order.getPayment()}}</pre>
<p>仕組みがわかってしまえば、アレンジも簡単だと思います。</p>]]>
        
    </content>
</entry>

<entry>
    <title>[WordPress]最新記事に固定のURLでアクセスする - Cherry Pie Weblog</title>
    <link rel="alternate" type="text/html" href="http://www.cherrypieweb.com/weblog/technical/20120424005400.php" />
    <id>tag:www.cherrypieweb.com,2012:/weblog//2.319</id>

    <published>2012-04-23T15:54:00Z</published>
    <updated>2012-04-24T05:40:00Z</updated>

    <summary>既存サイトの一部をCMSに置き換えた場合、既存ページからCMSの動的なページへのリンクを作成するには、どうしたらいいのでしょうか？</summary>
    <author>
        <name>さくらぎけい</name>
        
    </author>
    
        <category term="Technical" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="wordpress" label="WordPress" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.cherrypieweb.com/weblog/">
        <![CDATA[<p>既存のサイトをリニューアルするときに、更新の多い一部のカテゴリだけをCMSに置き換えるということが良くあると思います。</p>
<p>今回は、サイトのほとんどはそのままで、毎日のように更新される「最新情報」の部分だけをWordPressに置き換えるという案件でした。<br />ここで問題になったのが、WordPressの範囲外にあるページのメニューにある「最新情報」ボタンのリンク先でした。<br />これまでは手動更新で、最新記事は常に同じURLで公開し、古くなった記事はリネームしていくという方法をとっていたらしいのですが、 これはSEO的に問題ありです。</p>
<h3>方法の検討</h3>
<p>WordPressの範囲外のページをWordPress側でどうにかすることはできません。<br />そこで今回は、ある固定のURLにアクセスすると、最新記事にリダイレクトさせられないか考えてみました。</p>
<p>カテゴリを丸ごとCMSに置き換えた場合は、カテゴリのトップページに最新記事を表示させるようなカスタマイズをし、カテゴリトップページをリンク先にすることで実現できます。<br />（カテゴリトップページは固定URLにできますからね）<br />しかし今回は、カテゴリのトップページではなく、記事ページを表示するようにしてみたいと思います。&nbsp;</p>
<p>MovableTypeであれば、.htaccess をインデックステンプレートで書き出すという荒技を使うのですが（笑）、WordPressには無理そうです。&nbsp;</p>
<p>そこで、PHPのheader関数でリダイレクトさせるようにしてみました。<br />テンプレートファイルに最新記事にリダイレクトするコードを書いて、固定ページに設定するという方法です。</p>
<h3>実際の手順</h3>
<p>まず、エディタでテンプレートファイルを作って、テーマのディレクトリにアップロードします。&nbsp;</p>
<pre class="prettyprint">&lt;?php /*
Template Name: newEntry
*/ ?&gt;
&lt;?php
$loop = new WP_query('category_name=jyoho&amp;showposts=1'); // 最新情報へのリンク
while ($loop-&gt;have_posts()) : $loop-&gt;the_post();
	$url = get_permalink($post-&gt;ID);
endwhile;
header("Location: ".$url);
?&gt;</pre>
<p>Template Nameは何でも構いませんが、機能を示すものがいいでしょう。<br />今回は「newEntry」にしてみました。</p>
<p>WP_Queryの引数は、用途によって変わります。<br />今回は、jyohoカテゴリの最新記事にアクセスしたいので、このような引数になっています。<br />そのあとのループで最新記事のURLを取得して、header関数でリダイレクトするというわけです。</p>
<p>次に、新規で固定ページを作成します。</p>
<p><span style="line-height: 19px;"><img class="mt-image-right" style="float: right; margin: 0 0 20px 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120424-1.jpg" alt="20120424-1.jpg" width="354" height="432" />ポイントは、右側の「ページ属性」の項目「テンプレート」です。<br />ここで、先ほどのテンプレートファイル「newEntry」を選びます。<br /></span>ページのタイトルは適当にわかりやすいものを入れてください。<br />ページの本文内容は空でOKです。<br />スラッグはURLになるので、わかりやすいものを設定します。<br />今回は「newentry」としました。</p>
<p>これで固定ページを作成します。</p>
<p>すると、http://example.com/newentry にアクセスすると最新記事にリダイレクトされるようになります。<br />このURLを「最新情報」ボタンのリンク先に設定してやれば完成です。</p>
<p>固定ページとテンプレートファイルの組み合わせで、自作のPHPファイルに固定URLでアクセスできるというワザは、他でもよく使われているので覚えておいて損はなさそうですね。&nbsp;</p>
<div id="-chrome-auto-translate-plugin-dialog" style="opacity: 1 !important; background-image: initial !important; background-attachment: initial !important; background-origin: initial !important; background-clip: initial !important; background-color: transparent !important; position: absolute !important; top: 0px; left: 0px; overflow-x: visible !important; overflow-y: visible !important; z-index: 999999 !important; text-align: left !important; display: none; padding: 0px !important; margin: 0px !important;"><img style="position: absolute !important; z-index: -1 !important; right: 1px !important; top: -20px !important; cursor: pointer !important; -webkit-border-radius: 20px; background-color: rgba(200, 200, 200, 0.3) !important; padding: 3px 5px 0 !important; margin: 0 !important;" onclick="document.location.href='http://translate.google.com/';" src="http://www.google.com/uds/css/small-logo.png" alt="" /></div>]]>
        
    </content>
</entry>

<entry>
    <title>[Magento]一部の商品だけを送料込にする - Cherry Pie Weblog</title>
    <link rel="alternate" type="text/html" href="http://www.cherrypieweb.com/weblog/technical/20120414183848.php" />
    <id>tag:www.cherrypieweb.com,2012:/weblog//2.318</id>

    <published>2012-04-14T09:38:48Z</published>
    <updated>2012-04-14T11:27:27Z</updated>

    <summary>一部の商品だけ送料込みの価格を設定したいことってあると思います。EC-CUBEだと結構面倒なカスタマイズが必要ですが、Magentoだと管理画面だけで設定できます。</summary>
    <author>
        <name>さくらぎけい</name>
        
    </author>
    
        <category term="Technical" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="magento" label="magento" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.cherrypieweb.com/weblog/">
        <![CDATA[<p>送料が設定されている中で、一部の商品だけ送料込にしたいという要望がありました。<br />ギフト用の組み合わせ商品のような場合です。<br />EC-CUBEでは結構面倒なカスタマイズが必要なのですが、Magentoでは管理画面での設定だけでできます。</p>
<p>設定は、「プロモーション」の「ショッピングカート価格ルール」で行います。<br />ここで、送料込の商品は送料無料とする　という設定を行うわけです。&nbsp;</p>
<p>※Magento 1.6 で、エクステンション「Rack-JP」で日本語化されている前提で説明しています。</p>
<h3>ルールの作成</h3>
<p>「新規ルールの追加」を行います。</p>
<p>情報タブはデフォルト設定で構いません。<br />クーポンの設定は不要（「クーポンがありません」）です。<br />顧客グループはすべて選択し、必要なら開始日と終了日を設定してください。&nbsp;</p>
<p>条件タブの設定も不要です。</p>
<p>アクションタブでは、送料無料を「一致する商品のみ」とします。<br />そして、下段の条件を設定するところで、 送料込の商品を指定します。<br />・もし「いずれか」が「TRUE」であるなら<br />・商品属性「SKU」は「xxxxxxx」<br /> （以下、商品を必要なだけ設定する）</p>
<p><img class="mt-image-none" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120414-1.jpg" alt="20120414-1.jpg" width="680" height="603" /></p>
<p>SKUの設定は、入力ボックスの横のアイコンをクリックすると商品一覧が表示されますので、指定したい商品にチェックを入れます。前もって調べておく必要はありません。<br />ただし、一度に複数にチェックを入れるとうまく動作しません。 1行に1個ずつ設定してください。</p>
<p>これで保存すれば、指定した商品（送料込の商品）だけがカートに入っている場合、送料無料となります。<br />指定されていない商品（送料込でない商品）が一つでもカートに入ると、通常の送料が適用されます。<br />送料込の商品が一つでもカートに入っていたら、その時の買い物での送料を無料にしたいならば、アクションタブの送料無料の項目を「一致する商品の出荷」にしてください。</p>
<h3>属性の追加でもっと簡単に設定する</h3>
<p>上記の方法では、送料込の商品が増えるたびにプロモーションの設定を変更する必要があります。</p>
<p>せっかくですから、商品設定で送料込の設定ができるようにして見ましょう。</p>
<p>まず、商品属性を追加します。<br />&nbsp;「カタログ」－「属性」－「属性管理」を開いて、「新規属性の追加」をクリックします。</p>
<p>属性コードは何でもいいのですが、わかりやすいものをつけましょう。省略しすぎると将来的に他とかぶるかもしれないので、多少長くてもきちんとつけてください。<br />他の項目のうち、設定が必要なものは下記の項目です。<br />・カタログ入力形式：「Yes/No」<br />・標準の値：「No」<br />・一意の値：「No」&nbsp;<br />・値が必要：「No」<br />・プロモーションルールの条件で使用する「Yes」<br />他の項目は「No」でいいと思います。</p>
<p><img class="mt-image-none" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120414-2.jpg" alt="20120414-2.jpg" width="530" height="934" /></p>
<p>最後に、ラベルタブでラベルを設定してください。<br />「送料込」とかでいいと思います。</p>
<p>次に、「カタログ」－「属性」－「属性セット設定」で、使用している属性セットに属性を追加します。<br />使用している属性セットを開いて、「未割り当ての属性」から、先ほど追加した属性をグループにドラッグします。<br />今回は、Priceの下に追加しました。</p>
<p><img class="mt-image-none" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120414-3.jpg" alt="20120414-3.jpg" width="560" height="535" /></p>
<p>追加出来たら保存します。</p>
<p>これで、商品管理画面に「送料込」が表示されるようになります。<br />価格に送料を含む場合は、ここを「Yes」にします。<br />属性設定で標準の値を「No」にしているので、既存の商品は「No」になっています。&nbsp;</p>
<p><img class="mt-image-none" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120414-4.jpg" alt="20120414-4.jpg" width="543" height="193" />では、これに合わせてプロモーションルールを変更してみましょう。<br />先ほど設定したルールを開き、アクションタブを開きます。<br />そして、下段の条件設定のところで、商品を一つ一つ設定するのではなく、下記のように設定します。<br /><span style="line-height: 19px;">・商品属性「送料込」は「Yes」</span>&nbsp;</p>
<p><img class="mt-image-none" src="http://www.cherrypieweb.com/weblog/img/technical/20120414-5.jpg" alt="20120414-5.jpg" width="235" height="129" /></p>
<p>これで保存すれば、今後は、商品設定で「送料込」を「Yes」にするだけでその商品は送料無料になります。</p>
<h3>遠方は別送料という設定は？</h3>
<p>プロモーションルールの条件タブで、配送先の都道府県を限定することもできます。<br />郵便番号で指定すると、「離島だけは送料を頂きます」といった設定もできます。<br />しかし、通常と違う送料（北海道と沖縄は送料込の商品の送料は500円です　など）を設定することは管理画面だけではできないようです。</p>
<p>代替方法としては、別にルールを設定して、<span style="line-height: 19px;">送料が必要になる県にはそれぞれ</span>割引額を設定して、結果的に送料が500円になるようにするしかないかなと思います。<br />良いアイデアを知っている方は教えてくださいね。</p>]]>
        
    </content>
</entry>

<entry>
    <title>[Magento]サーバー移転の手順について - Cherry Pie Weblog</title>
    <link rel="alternate" type="text/html" href="http://www.cherrypieweb.com/weblog/technical/20120318011151.php" />
    <id>tag:www.cherrypieweb.com,2012:/weblog//2.317</id>

    <published>2012-03-17T16:11:51Z</published>
    <updated>2012-03-17T17:10:44Z</updated>

    <summary>Magentoのサーバー移転は、データベースとファイルを丸ごとコピーするだけでなく、データベースと設定ファイルの修正が必要になります。でも、とっても簡単です。</summary>
    <author>
        <name>さくらぎけい</name>
        
    </author>
    
        <category term="Technical" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="magento" label="magento" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.cherrypieweb.com/weblog/">
        <![CDATA[<p>Magentoで制作したショップのテストサーバーを作るために、別サーバーに丸ごとコピーしてみました。<br />サーバー移転の際に役に立つと思いますので、手順を公開します。</p>

<h3>1. 旧サーバーから、データベースをエクスポートします</h3>
<p>私は、phpMyAdmin のエクスポート機能で、データベースを丸ごとエクスポートしました。<br />
テーブル全選択でSQL形式、オプションはデフォルト。文字コード変換なしです。<br />
新サーバーにインポートする際に、PHPのアップロードファイルサイズ制限に引っかかる可能性があるので、圧縮をかけたほうがいいと思います。</p>

<h3>2. 旧サーバーから、Magentoディレクトリをローカルにダウンロードします</h3>
<p>私は、ディレクトリごと圧縮してダウンロードしました。<br />
圧縮せずにFTPでダウンロードすると、ものすごく時間がかかりますし、高い確率でエラーが起きるのでやめたほうが良いと思います。</p>

<h3>3. 新サーバーにデータベースを作成します</h3>
<p>文字コードは、UTF-8 にしてください。（照合順序 utf8-general-ci）<br />
データベース名、ユーザー名、パスワードなどは、旧サーバーと違っていても構いません。<br />
でも、同じほうが手間がかからなくて済みます。</p>

<h3>4. エクスポートしたデータベースをインポートします</h3>
<p>私は、phpMyAdmin のインポート機能でインポートしました。<br />
特別な設定は不要です。</p>

<h3>5. データベースを修正します。</h3>
<p>テーブル　core_config_data　の下記フィールドを、新サーバーに合わせて書き換えてください。<br />
内容は、MagentoのフロントエンドのURLですので、ドメイン名を新サーバーのものに書き換えます。<br />
・web/unsecure/base_url<br />
・web/secure/base_url</p>

<h3>6. 新サーバーに、ダウンロードしたMagentoディレクトリをアップロードします。</h3>
<p>2.でダウンロードした圧縮したファイルを新サーバーのドキュメントルートにアップロードして、サーバー上で展開すればOKです。</p>

<h3>7. 設定ファイルを修正します。</h3>
<p>app/etc/local.xml にデータベースの設定があるので、新サーバーに合わせて修正します。</p>
<pre class="prettyprint">
&nbsp;&nbsp;&lt;connection&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;host&gt;&lt;![CDATA[データベースサーバー名]]&gt;&lt;/host&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;username&gt;&lt;![CDATA[ユーザー名]]&gt;&lt;/username&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;password&gt;&lt;![CDATA[パスワード]]&gt;&lt;/password&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;dbname&gt;&lt;![CDATA[データベース名]]&gt;&lt;/dbname&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;initStatements&gt;&lt;![CDATA[SET NAMES utf8]]&gt;&lt;/initStatements&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;model&gt;&lt;![CDATA[mysql4]]&gt;&lt;/model&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;type&gt;&lt;![CDATA[pdo_mysql]]&gt;&lt;/type&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;pdoType&gt;&lt;![CDATA[]]&gt;&lt;/pdoType&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;active&gt;1&lt;/active&gt;
&nbsp;&nbsp;&lt;/connection&gt;
</pre>
<br />
<p>これで、移行は完了。新サーバーにアクセスできます。</p>
<p>core_config_data と local.xml の修正をする前にMagentoにアクセスしようとすると、おかしなことになりますので注意してくださいね。</p>]]>
        
    </content>
</entry>

<entry>
    <title>知らない人は損してる、イラレでスーパーのチラシを作るときの7つのワザ - Cherry Pie Weblog</title>
    <link rel="alternate" type="text/html" href="http://www.cherrypieweb.com/weblog/technical/20120128183317.php" />
    <id>tag:www.cherrypieweb.com,2012:/weblog//2.315</id>

    <published>2012-01-28T09:33:17Z</published>
    <updated>2012-01-29T16:30:15Z</updated>

    <summary>スーパーのチラシって超めんどくさい！　っていうのは昔の話。知らない人は損してると思う小技をまとめてみました。</summary>
    <author>
        <name>さくらぎけい</name>
        
    </author>
    
        <category term="Technical" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="dtp" label="DTP" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.cherrypieweb.com/weblog/">
        <![CDATA[<p>昨年から、地元の印刷会社さんのお手伝いでスーパーのチラシを制作させていただいているんですが、最初に作業手順を聞いたときに、そのあまりの面倒さに閉口してしまいました。</p>
<p>スーパーのチラシって、何重もの文字フチとか、値段の数字が重なってて円だけ小さいとか、囲みとか、必ず文字が画像にかかってしまうから白フチもつけないといけないとか・・・<br />そんな手数のかかる作業を、長年チラシ制作をされている方は、イラスト―レーター5.5 でショートカット連打でバキバキ作ってたりするわけです。<br />しかし、短納期・安価を求められる今の時代、いつまでもイラストレーター5.5時代の作業を続けているのでは、相当な熟練者でないと時間にもお金にも見合う仕事ができないし、会社としては熟練者に単純作業に近いことに延々と時間を使ってほしくないのです。</p>
<p>でも、今のイラストレーターならできるんですよね。</p>
<p>そんな、知っている人は知っているけど、知らない人は知らないワザをまとめておきたいと思います。</p>
<p>今回は、以下について解説しています</p>
<ul>
<li><a href="#aki">文字組アキ量設定で、和文と欧文のアキを無くす</a></li>
<li><a href="#font">値段は、数字書体や合成フォントを使う</a></li>
<li><a href="#apperance">文字フチやずらしカゲはアピアランスで設定する</a></li>
<li><a href="#style">複数個所で使うアピアランスは、グラフィックスタイルに登録する</a></li>
<li><a href="#lineheight">自動行送りの行間を指定する</a></li>
<li><a href="#autobox">文字量に合わせて大きさが変わる囲みをつくる</a></li>
<li><a href="#group">グループ編集機能を使う（クリッピングマスク）</a></li>
</ul>
<p>&nbsp;</p>
<p>※動作確認バージョンは、CS4以降です。</p>
<h3 id="aki">文字組アキ量設定で、和文と欧文のアキを無くす</h3>
<p>CSシリーズを使い始めて最初に悩むのは、欧文（特に数字）と和文の間に空く微妙な文字間です。<br /> イラストレーター使いの人は「文字は詰める！」って感じだと思うので（笑）、この仕様は我慢ができないですよね？<br /> これは「文字組アキ量設定」で変えることができます。</p>
<p>「書式」メニューから「文字組アキ量設定」を選択します。<br /> 「文字組アキ量設定」ダイアログが開いたら、一番下の欧文の前後という項目を確認してみてください。<br /> ここに欧文と和文の空きが設定されています。最適25%、最小12.5%ということは、どう詰めても8分アキ（8分の1）になってしまうわけです。<br /> 初期設定されているものは変更することができません。変更するためには新規に設定を作ります。</p>
<p><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120129-01.gif" alt="20120129-01.gif" width="680" height="589" /></p>
<p>「新規」ボタンをクリックして新しい設定を作ります。「元となるセット」は、イラレ使いなら「約物半角」にしとくといいでしょう。この設定は、カッコや句読点などの約物を詰めてくれる設定です。<br /> 名前は自分がわかれば何でもよいのですが、ここでは「約物半角和欧間ベタ」と指定しておきます。</p>
<p>作成した新規設定で「欧文の前後」を、　最適：0%　最小：0%　最大：50%　に変更します。（先に最小を小さくしてから最適を設定してください）<br /> 最大を大きくしておくのは、ジャスティフィケーションで全体の文字間が広がった時に合わせて文字間が広がるようにしておくためです。<br /> 設定出来たら保存し、OKでダイアログを閉じます。</p>
<p><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120129-03.gif" alt="20120129-03.gif" width="591" height="182" /></p>
<p>次に「段落スタイル」で、「標準段落スタイル」ダイアログを開きます。<br /> 「日本語組版」タブを開き、文字組みで先ほど保存した設定を選択して保存します。</p>
<p><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120129-02.gif" alt="20120129-02.gif" width="680" height="461" /></p>
<h3 id="font">値段は、数字書体や合成フォントを使う</h3>
<p>スーパーのチラシの書体って、数字が大きくて「円」だけ小さいことが多いですよね。<br />こういうつくりにするとき、旧バージョンでは数字と「円」を別に作ってグループ化していたと思います。<br />さらに、重なった文字にフチをつけるために、アウトラインを取ってから効果をつけたりしていました。&nbsp;</p>
<p><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120129-11.gif" alt="20120129-11.gif" width="680" height="241" /></p>
<p>でも、書体を選べばそんな面倒なことをしなくてもいいんです。</p>
<p>書体は、日本語フォントに「おまけ」でついてくる数字書体を使います。<br />サンプルとして、モリサワパスポートとダイナフォントについてくる数字書体を見てみましょう。</p>
<p><a href="http://www.morisawa.co.jp/font/support/after/psvatl0000000flf-att/e16it10000002nl1.pdf" target="_blank">モリサワ数字書体リスト</a>（別ウィンドウが開きます）</p>
<p><a href="http://www.incunabula.co.jp/dtp-s/dyna_font/1.html" target="_blank">DynaFont数字書体インデックス</a>（別ウィンドウが開きます）</p>
<p>数字書体なのに「円」という文字が含まれています。<span style="line-height: 19px;">しかも、数字より小さなサイズが何パターンも用意されています。<br /></span>数字書体は欧文扱いなので「円」の文字はアルファベットに対応しています。たとえば、モリサワの場合は小文字の「f」を打つと小さい「円」になります。<br />他のメーカーの日本語フォントについてくる数字書体でも、小さなサイズの「円」が含まれていることが多いです。<br />具満タンなどの素材集についていることもあります。<br />つまり、小さい「円」を表示させるのに、わざわざ分けて作る必要なんてないのですね。</p>
<p>また、モリサワの数字書体には「くいこみ数字」というものが用意されています。</p>
<p><a href="http://www.morisawa.co.jp/font/fontlist/details/fontfamily090.html" target="_blank">くいこみ数字</a>（別ウィンドウが開きます）</p>
<p>これを使えば、ただ文字を打つだけで重ね数字になります。</p>
<p><img style="margin-right: auto; margin-bottom: 20px; margin-left: auto; border-style: initial; border-color: initial; line-height: 19px; text-align: center; display: block;" src="http://www.cherrypieweb.com/weblog/img/technical/20120129-12.gif" alt="20120129-12.gif" width="680" height="390" />ただし、OpenTypeの機能で重なりを実現しているので、「ウィンドウ」メニューから「書式」－「OpenType」パネルを出して、「前後関係に依存する字形」にチェックを入れないと重なりません。<br />これは、段落スタイルで設定しておくのがいいと思います。&nbsp;</p>
<p style="text-align: center;"><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120129-13.gif" alt="20120129-13.gif" width="680" height="344" /></p>
<p>数字書体に気に入ったものが見つからない場合もあります。<br /> そのときは、合成フォントを使います。<br /> 合成フォントは、文字の種類によって使用するフォントを変えることのできる機能ですが、フォントだけではなく、比率やベースラインを細かく設定することもできます。</p>
<p>「書式」メニューから「合成フォント」ダイアログを出し、新規をクリックします。<br />名前は何でも構いませんが、合成するフォント名ではなく、使う目的（特売用値段とか）にしておいたほうが後で使いやすいです。</p>
<p><span style="line-height: 19px;">合成フォントは、漢字をベースとして他の文字セットのフォントを指定していきます。</span><br style="line-height: 19px;" /><span style="line-height: 19px;">ということは、値段表記で「円」を小さくしようとすると数字を大きくすることになりますが、それでは感覚的にやりづらいですね。</span><br style="line-height: 19px;" /><span style="line-height: 19px;">そんなときは「特例文字セット」を使います。</span><br style="line-height: 19px;" /><span style="line-height: 19px;">直接入力で文字を指定して、その文字だけにフォントを変えたりサイズを変えたりできるのです。</span></p>
<p><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120129-14.gif" alt="20120129-14.gif" width="680" height="603" /></p>
<p>また、合成フォントだからと言ってフォントを変えなければいけないわけではありません。<br />全部新ゴBに設定して、英数字だけ水平比率を小さく、円だけ30%の倍率にしてもいいのです。</p>
<h3 id="apperance">文字フチやずらしカゲはアピアランスで設定する</h3>
<p><span style="line-height: 19px;">スーパーのチラシと言えば、文字フチとずらしカゲですよね。</span></p>
<p><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120129-11.gif" alt="20120129-11.gif" width="680" height="241" /></p>
<p><span style="line-height: 19px;">これを、イラストレーター5.5 で作ろうと思ったらどうなるかというと・・・&nbsp;</span></p>
<p>まず文字を打って、コピーして背面にペーストして線幅を指定して色をつけ、さらにコピーして背面にペーストし、線幅を太くして色を付け、さらにコピーして背面にペーストし、色をつけて右下にずらす・・・</p>
<p>といった作業を、値段の個数分、何十回と繰り返すわけです。<br />後から数字を打ち変えようとしたら4回打ちかえないといけません。<br />おのずとサイズ変更は拡大縮小に頼ることになるので、あとから文字サイズを揃えるのは目分量になります。</p>
<p>そんな面倒なことやってられませんよね？</p>
<p>旧バージョンをずっと使っている人が意外に知らないのが、文字フチとずらしカゲの作り方です。<br />特に、イラストレーターで文字に線をつけると塗りが細ると信じ込んでいる方がいまだにいらっしゃいますが、そんなことはありません。</p>
<p>試しに、文字を打って塗りと線を指定してみます。<br />「カラー」パネルで指定をすると、塗りが細くなります。</p>
<p><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120129-21.gif" alt="20120129-21.gif" width="680" height="241" /></p>
<p>ここで「アピアランス」パネルを開きます。<br /><span style="line-height: 19px;">アピアランスパネルの各項目は、ドラッグして順序を変えることができます。</span><br style="line-height: 19px;" /><span style="line-height: 19px;">線を選択して塗りの下へドラッグすれば、線を塗りの下へ移動させることができます。</span>&nbsp;</p>
<p><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120129-22.gif" alt="20120129-22.gif" width="680" height="227" /></p>
<p><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120129-23.gif" alt="20120129-23.gif" width="680" height="227" /></p>
<p>通常の設定だと線は境界線を中心にした幅を持つので、線幅が2ptだと塗りから外にはみ出すのは1ptです。2ptの幅にしたいなら、線幅を4ptに設定します。</p>
<p><img class="mt-image-right" style="float: right; margin: 0 0 20px 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120129-25.gif" alt="20120129-25.gif" width="480" height="239" /></p>
<p>文字に線を指定すると、書体によってはトゲみたいなのが出ることがあります。<br />これは、線のプロパティで「ラウンド結合」にするとなくなります。</p>
<p style="clear:both;"><img class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" src="http://www.cherrypieweb.com/weblog/img/technical/20120129-24.gif" alt="20120129-24.gif" width="389" height="227" /></p>
<p>線や塗りはいくらでも追加することができます。<br />「新規線を追加」アイコンをクリックして線を追加し、さらに広い幅を指定してやれば、何重もの文字フチが簡単に作成できます。</p>
<p style="clear:both;">ずらしカゲを作るには、パスの変形を使います。<br />まず、カゲのための線を追加します。<br />その線を選択した状態で「新規効果を追加」アイコンをクリックし、「パスの変形」ー「変形」を選択します。</p>
<p style="clear:both;"><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120129-26.gif" alt="20120129-26.gif" width="480" height="228" />このパネルで水平位置と垂直位置を指定してやれば、ずらしカゲが簡単に作れます。</p>
<p style="clear:both;"><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120129-27.gif" alt="20120129-27.gif" width="636" height="340" /></p>
<p>もちろん、ドロップシャドウをつかってもいいです。<br />ドロップシャドウは「新規効果を追加」アイコンをクリックし、「スタイライズ」－「ドロップシャドウ」を選んでください。</p>
<p>こうして作った文字フチやカゲはアピアランスなので、値段が変わっても数字を打ちかえるだけで済みます。<br />また、複製して使いまわすこともできます。</p>
<p>ここでちょっと注意があります。<br />アピアランスで塗りを指定しても、カラーパネルの塗りの設定は残ったままになります。<br />これ、結構まぎらわしいので、あとで悩まないように注意してください。<br />カラーパネルでは「塗りなし」にしておくといいと思います。<br />（ちなみに、アピアランスパネルで「文字」を「テキスト」の上に持っていくと、カラーパネルの塗りが生きます）&nbsp;</p>
<p>アピアランスは、かける対象によって結果が変わります。<br /> 例えば、アウトラインのかかった文字や図形を含めてアピアランスをかけたい場合は、グループ化してからアピアランスを指定します。<br />実は、レイヤー自体にアピアランスをかけることもできるんですよ。（あんまり使うシーンがないけど）</p>
<h3 id="style">複数個所で使うアピアランスは、グラフィックスタイルに登録する</h3>
<p>値段など複数個所で使うアピアランスは、グラフィックスタイルに登録しておきます。</p>
<p><img class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" src="http://www.cherrypieweb.com/weblog/img/technical/20120129-31.gif" alt="20120129-31.gif" width="432" height="259" /></p>
<p>アピアランスを適用したオブジェクトを、「グラフィックスタイル」パネルにドラッグ＆ドロップして登録をします。<br /><span style="line-height: 19px;">登録したら、同じアピアランスを持つすべてのオブジェクトにスタイルを適用しておくことを忘れないでください。</span></p>
<p>こうすると、もし文字フチの色を一斉に変えなければならないなどといったときに、一気に変更ができます。</p>
<p>まず、どれでもいいので一つ文字を選んで、「アピアランス」パネルで線の色を変更します。<br /> 次に、この文字を、MacならOptionキー、WindowsならAltキーを押しながら「グラフィックスタイル」パネルの変更したいスタイルにドラッグ＆ドロップすると、スタイルが上書きされ、そのスタイルが指定されているすべてのオブジェクトのアピアランスが変更されます。</p>
<p><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120129-32.gif" alt="20120129-32.gif" width="680" height="459" /></p>
<p>ただし、アピアランスには一つ問題があります。<br /> 元の文字を傾けたりすると、傾けたあとの文字に対してアピアランスが適用されます。<br />たとえば、右下にずらしカゲをつけた文字を回転させると、回転した後の文字の右下にカゲがつくのです。</p>
<p><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120129-33.gif" alt="20120129-33.gif" width="512" height="230" /></p>
<p>こういった場合は、アピアランスで回転をかけます。<br />回転させたい文字を選択して「アピアランス」パネルを開き、特定の線や塗りが選択されていない状態で、「新規効果を追加」アイコンから「パスの変形」ー「「変形」を選択し、ここで回転をかけます。<br />すると、期待通りの方向にアピアランスが適用されます。<br />（文字自体は回転していないので、文字選択がちょっと難しくなります）&nbsp;</p>
<p><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120129-34.gif" alt="20120129-34.gif" width="512" height="544" /></p>
<h3 id="lineheight">自動行送りの行間を指定する</h3>
<p>テキストが複数行になるとき、デフォルトの自動行送りでは行間が広すぎるので文字パネルで行間を指定していると思います。<br />このとき、後で文字サイズを変えると、行間も指定しなおさなければなりません。</p>
<p><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120129-41.gif" alt="20120129-41.gif" width="680" height="266" /></p>
<p>この自動行送りですが、段落スタイルで好きな割合に設定することができます。<br />&nbsp;「段落スタイル」パネルの、「ジャスティフィケーション」タブの「段落」ー「自動行送り」に、%で指定ができるのです。</p>
<p><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120129-42.gif" alt="20120129-42.gif" width="680" height="588" /></p>
<p>レイアウトに合わせてフォントサイズをいろいろ変えたいとき、事前に設定がしてあると、かなり便利だと思います。</p>
<h3 id="autobox">文字量に合わせて大きさが変わる囲みをつくる</h3>
<p>アピアランスで、文字量に合わせて大きさが自動で変わる囲み罫やバックの塗りを作ることができます。</p>
<p><img class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" src="http://www.cherrypieweb.com/weblog/img/technical/20120129-51.gif" alt="20120129-51.gif" width="407" height="278" /><span style="line-height: 19px;">まず、「新規塗りを追加」アイコンをクリックし、背景の塗りの色を指定します。</span></p>
<p>この塗りを選択した状態で「新規効果を追加」アイコンをクリックし、「形状に変更」ー「長方形」を選択します。</p>
<p style="clear:both;">「形状に変換」ダイアログに値を設定すると、指定した塗りが指定した形状に変換されます。</p>
<p style="clear:both;"><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120129-52.gif" alt="20120129-52.gif" width="578" height="358" /></p>
<p style="clear:both;">「新規線を追加」で、同様に設定すると、囲み罫ができます。</p>
<p>この状態で文字を打ち直すと、文字量に合わせて背景色や囲み罫の大きさが変わります。</p>
<p>日本語の場合、ベースラインがずれていて天地が中央よりやや上になってしまうのが気になることがあります。<br />（文字のベースラインを動かすと、それにアピアランスがついてきてしまいます）<br /> このときは、形状に変換した塗りや線に対して、「パスの変形」－「変形」で、位置を微調整します。</p>
<p>なお、これはアピアランスなので、文字を回転させると回転させた文字に対してアピアランスが適用され、とんでもないことになります。</p>
<p><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120129-53.gif" alt="20120129-53.gif" width="512" height="225" /></p>
<p>文字を回転させたい場合は、文字フチの時と同じように「アピアランス」パネルを開いて、特定の塗りや線が選択されていない状態で「パスの変形」から回転をかけます。</p>
<p><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120129-54.gif" alt="20120129-54.gif" width="512" height="597" /></p>
<h3 id="group">グループ編集機能を使う（クリッピングマスク）</h3>
<p>旧バージョンを使っている方が意外に知らないのが、グループ編集機能です。<br /> 昔のイラストレーターは、グループ化されたオブジェクトの一部を修正するときは、一度グループ解除する必要がありました。<br /> しかし最近のイラストレーターは、グループ化されたオブジェクトをダブルクリックすると、グループ内だけで編集ができます。<br /> サブレイヤーのような形で使えて、とても便利です。</p>
<p>CSになってからは、クリッピングマスクを適用すると、自動でマスクのパスと画像がグループになります。<br /> これによって、クリッピングマスク内の画像の重ね順を入れ替えたり、マスクの形状を変えたり、画像を差し替えたりするときにグループ解除する必要がなくなりました。</p>
<p><img class="mt-image-center" style="text-align: center; display: block; margin: 0 auto 20px;" src="http://www.cherrypieweb.com/weblog/img/technical/20120129-61.gif" alt="20120129-61.gif" width="544" height="464" /></p>
<p>さらに、クリッピングマスクのグループ編集機能を使用中に新しい画像をペーストすると、クリッピングマスク内にペーストされます。<br /> スーパーのチラシは、画像が後送だったり差し替えになったりすることが多いので、この機能はとても使えます。</p>
<p>&nbsp;</p>
<hr />
<p>&nbsp;</p>
<p><br />他にも小技はいっぱいありますが、キリがないのでこのへんにしておきます。</p>
<p>熟練した人は手が速いので昔の作業手順でそのままやってしまいがちですが、手を抜けるところは手を抜いて、もっとクリエイティブなことに時間を使うようにしてもらいたいですね。</p>
<p>そうそう、スーパーのチラシと言えば2色印刷だと思うので、こちらもぜひお読みくださいね。<br /><a href="http://www.cherrypieweb.com/weblog/technical/20110902010014.php">ディスプレイやPDFで特色再現できるなんて！</a></p>]]>
        
    </content>
</entry>

<entry>
    <title>Magento1.6の管理画面で商品を修正すると、SQLエラーが出る - Cherry Pie Weblog</title>
    <link rel="alternate" type="text/html" href="http://www.cherrypieweb.com/weblog/technical/20120103225604.php" />
    <id>tag:www.cherrypieweb.com,2012:/weblog//2.313</id>

    <published>2012-01-03T13:56:04Z</published>
    <updated>2012-01-03T14:39:40Z</updated>

    <summary>1.4.2から1.6にバージョンアップしたら、管理画面で商品を修正するとSQLエラーが出るようになってしまいました。</summary>
    <author>
        <name>さくらぎけい</name>
        
    </author>
    
        <category term="Technical" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="magento" label="magento" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.cherrypieweb.com/weblog/">
        <![CDATA[<p>1.4.2 で開発していた Magento を 1.6 に移行する作業を年末年始で行っていたのですが、だいたい完了したかなーと思った時に、困ったエラーに遭遇してしまいました。</p>
<p>カタログー商品管理で、商品を編集すると、編集は完了するのですが下記の警告が表示されます。</p>
<p><strong>SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'n-0-1' for key 1</strong><br />（n は、データベース上の商品ID）</p>
<p>意味としては、データベース上にエントリが重複しているということです。<br />放っておくと大変なことになりかねません。<br />移行作業で商品データをCSVでインポートしたり、データベース上でSQLで商品データを削除したりしているので、「何かやっちゃったかなー」と、かなり焦りました。</p>
<p>でも、どうやら私のせいではなかったようです。<br />警告メッセージの内容でググったら、こんな記事を見つけました。</p>
<p>Issues with Special Price and SQL error on product save (+ editing in cart?)<br /><a href="https://github.com/organicinternet/magento-configurable-simple/issues/52">https://github.com/organicinternet/magento-configurable-simple/issues/52</a>&nbsp;</p>
<p>URLを見てピンとくる方もいらっしゃるかもしれませんが、この記事はエクステンション「Simple Configurable Products」に関するものです。<br />このエクステンションは、Configurable Products の価格を割合ではなく価格で設定できるという、地味に便利なものです。<br />1.5 に対応していると明記してあるので、1.6 でも使えると思っていれていたのですが、どうやらダメだったようです。</p>
<p>対策としては、プログラムを1行書き換えるだけです。</p>
<p>（対象ファイル）<br />app/code/community/<br />&nbsp;&nbsp;OrganicInternet/SimpleConfigurableProducts/<br />&nbsp;&nbsp;&nbsp;&nbsp;Catalog/Model/Resource/Eav/Mysql4/Product/Indexer/Price.php　の58行目</p>
<p>（旧）<br />
<pre class="prettyprint">$this-&gt;cloneIndexTable(true);</pre></p>
<p>（新）<br />
<pre class="prettyprint">$this-&gt;clearTemporaryIndexTable();</pre></p>
<p>いやー、新年早々、ビビリました。<br />何が起こったかと思って、データベースの内容をしらみつぶしに見ちゃいましたからねー。</p>
<p>でも、1.6 は、1.4にはない便利なエクステンションが多くて結構いいですよ。<br />良いところについては、また後ほど記事を書きたいと想います。</p>]]>
        
    </content>
</entry>

<entry>
    <title>2012年年賀状 - Cherry Pie Weblog</title>
    <link rel="alternate" type="text/html" href="http://www.cherrypieweb.com/weblog/illustration/20120101021031.php" />
    <id>tag:www.cherrypieweb.com,2012:/weblog//2.312</id>

    <published>2011-12-31T17:10:31Z</published>
    <updated>2011-12-31T17:33:12Z</updated>

    <summary>
そういえば、年賀状の画像ってブログにアップしたことなかったですね</summary>
    <author>
        <name>さくらぎけい</name>
        
    </author>
    
        <category term="Illustration" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="ja" xml:base="http://www.cherrypieweb.com/weblog/">
        <![CDATA[<p><img class="mt-image-none" src="http://www.cherrypieweb.com/weblog/img/illustration/NEWYEAR2012-mt.jpg" alt="NEWYEAR2012-mt.jpg" width="680" height="461" /></p>
<p>「そういえば、年賀状の画像ってブログにアップしたことがないなぁ」と思ったので、アップしてみました。</p>
<p>だいたい、毎年こんな絵柄です。<br />うちの場合、干支はトリとイヌしかありません（笑）</p>
<p>2011年は年末に急に忙しくなって、ブログの更新が滞ってしまいました。<br />まだその忙しさは続いているわけですが、なんとか更新していきたいと思います。<br />ちょうど、Magentoの案件をやっていますので、カスタマイズのこととか書けたらいいなぁ。</p>
<p>では、今年もよろしくお願いいたします。</p>]]>
        
    </content>
</entry>

<entry>
    <title>INFOBARを衝動買い - Cherry Pie Weblog</title>
    <link rel="alternate" type="text/html" href="http://www.cherrypieweb.com/weblog/diary/20111013231652.php" />
    <id>tag:www.cherrypieweb.com,2011:/weblog//2.311</id>

    <published>2011-10-13T14:16:52Z</published>
    <updated>2011-10-23T05:47:02Z</updated>

    <summary>ガラケーに代えてわずか1年余りで、またスマホに変えました。iPhoneに見た目で対抗できる唯一のAndroid「INFOBAR」です！</summary>
    <author>
        <name>さくらぎけい</name>
        
    </author>
    
        <category term="Diary" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="infobar" label="INFOBAR" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.cherrypieweb.com/weblog/">
        <![CDATA[<p>先日、携帯のキャリアをdocomoからauに変えました。<br />もちろん、iPhone4Sにしたから・・・ではありません。</p>
<h3>ちょ・・・このPOP、間違ってるんじゃないの？</h3>
<p>auからiPhoneが発売されるというウワサが出始めた9月、ふらりと立ち寄ったショッピングセンターの携帯電話売り場で、私は不思議なPOPを目にしました。</p>
<p><strong>「INFOBAR A01　実質価格　－35,000円」</strong></p>
<p>Webで見た情報では、「スマートフォンは、実質0円じゃなく、一括0円を狙え！」と書かれていたので、そういうのを狙っていたのですが、「実質　<em>マイナス</em>35,000円」って・・・どういう意味？</p>
<p>POPが間違えているのかと思い、店員さんに聞いてみたところ、</p>
<p>「MNPで本体が5,000円、これに毎月のキャッシュバックが1,700円なので、24か月で、40,800円。差し引き35,000円お得になるということなんです」</p>
<p>おいおい、INFOBARって、本体価格65,000円でしょ？<br />それが、今では逆に35,000円つけてくれるって・・・<strong>マジっすか！！</strong></p>
<p>INFOBARは、以前からずっと気になっていた機種なので、もう、その場で購入決定。<br />昨年7月に、ウィルコムのAdvanced W-ZERO3からドコモのガラケーに変えて、たった1年余りで、またスマホ持ちになってしまいました。</p>
<h3>ホーム画面とフォントが秀逸</h3>
<p>INFOBARにしてしばらくたった感想ですが、やっぱり、見た目がいいですね。<br />iPhoneと比較するとオモチャっぽい感じがしますが、そういうところを狙っているので、これはこれでOKなんです。&nbsp;</p>
<p>前に使っていた携帯より軽いし、本体サイズも手が小さい私にピッタリ。丸みが持ちやすさにつながっているのかなと思います。</p>
<p>最も気に入っているのが、<strong>iida home</strong> というホーム画面です。<br />特に、アイコンと写真を、パズルのように並べて配置できたりするのが素敵！<br />これは、iPhoneと比べても、断然いいところなんじゃないかと思っています。</p>
<p>私は、柴犬の「かのこ」と、シロハラインコの「よもぎ」の写真をレイアウトしてみました。<br />（小桜インコの「すあま」は、待ち受け画面にいます）&nbsp;</p>
<p><img class="mt-image-left" style="float: left; margin: 0 20px 20px 0;" src="http://www.cherrypieweb.com/weblog/img/diary/20111023-124607.jpg" alt="20111023-124607.jpg" width="300" height="533" /><img class="mt-image-none" src="http://www.cherrypieweb.com/weblog/img/diary/20111023-124722.jpg" alt="20111023-124722.jpg" width="300" height="533" /></p>
<p>&nbsp;</p>
<p>メニュー画面を1画面にしてしまったというのも、かなり使いやすいと思います。<br />適当な区切りを入れて、さっとジャンプもできるので、複数画面をペラペラめくるよりも使いやすいです。</p>
<p>INFOBARで使用されているフォントは、モリサワの「新ゴR」。<br />DTPをやっている人にはおなじみで、非常に視認性が良く、多分、日本で一番人気のあるフォントなのですが、個人で導入するにはあまりに高価なフォントなので、こうしてスマホで使ってくれるというのはとても嬉しいです。</p>
<h3>デフォルトのアプリもかなりいいぞ</h3>
<p>いろいろ使いづらいと言われているAndroidですが、INFOBARはこのあたり結構考えられているみたいで、デフォルトで入っているアプリも充実しています。</p>
<p>SkypeもTwitterもFacebookもすぐ使えるし（お知らせや未読件数表示もできるし、他のアプリと連動もできる）、PCメールもez webメールも読めるし、QRコードも読めるし、Task Cleanerという優秀な起動アプリ管理ツールもついています。<br />Documents To Go というソフトで、Office書類やPDFも見ることができます。<br />名刺リーダーもついているんですが、試しに手元の名刺を読ませてみたら、項目の振り分けまでばっちりアドレス帳に取り込めてびっくりしました。<br />スナップショットを撮る機能も標準でついているので、自分のホーム画面をFacebookに晒して自慢もできます（笑）。&nbsp;</p>
<p>あと一番びっくりしたのが、Android共通のことですが、PCからリモートでアプリをインストールできるところ。<br />PCでマーケットを開いて、登録端末にインストール！ってやると、INFOBARにアプリがインストールされちゃうんですね。ケーブルつないだりWiFi設定したりとか全然必要ないんですね。&nbsp;</p>
<p>また、PCのほうでGoogleを使いまくっている私にとっては、何も苦労しなくても、メールもスケジュールもアドレス帳もブックマークも写真も、簡単にPCと同期できてしまうんですから、超便利です。</p>
<p>いやぁ、W-ZERO3使ってた頃からは考えられませんね。</p>
<h3>多少、問題点もあるけど・・・</h3>
<p>残念ながら、タップ精度の悪さや、もっさり感は、iPhoneにかなわないところです。<br />（INFOBARというより、Androidの欠点かも）&nbsp;</p>
<p>あと、標準の文字の大きさを変えられないという、目の悪い方には決定的な弱点もあります。（実は、これは結構きついです）&nbsp;<br />ワンセグ見るのにUSBケーブルを繋げないといけないというのも、人によっては欠点かもしれません。（しかもUSBコネクタは充電を兼ねているので、ワンセグ見てるときは充電できない）<br />そのくせ、バッテリーの持ちは悪いです。（毎日充電しないと不安）<br />ストラップホールがないという、これも人によっては大きな欠点もあります。&nbsp;</p>
<p>とはいえ、そういうのも許せるくらい、こいつは可愛いです。<br />Android端末のCMを見てると、性能とか機能ばかり強調してるものが多いですが、ずっと身に着ける物ってそうじゃないと思うんですよね。</p>
<p>仕事のほうでも、本格的にスマートフォン対応を考えなければいけないようになってきたのですが、INFOBARのおかげで意欲もわいてきたし、もうちょっと頑張ろうかなと思います。&nbsp;</p>]]>
        
    </content>
</entry>

<entry>
    <title>Magento Cafe #4 に参加しました - Cherry Pie Weblog</title>
    <link rel="alternate" type="text/html" href="http://www.cherrypieweb.com/weblog/diary/20111002230440.php" />
    <id>tag:www.cherrypieweb.com,2011:/weblog//2.310</id>

    <published>2011-10-02T14:04:40Z</published>
    <updated>2011-10-02T15:50:52Z</updated>

    <summary>神戸で行われた「Magento Cafe #4」 勉強会という感じで、フレンドリ...</summary>
    <author>
        <name>さくらぎけい</name>
        
    </author>
    
        <category term="Diary" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="magento" label="magento" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.cherrypieweb.com/weblog/">
        <![CDATA[<p>神戸で行われた「Magento Cafe #4」 <br />勉強会という感じで、フレンドリーな雰囲気の中、楽しく参加させていただきました。</p>
<p>内容は、日本におけるMagento第一人者の西さんのスライドを中心に、日本語化の話、エクステンション開発の話、運用で気を付けることなどの話題について、勉強させていただきました。</p>
<p>特に、実体験に基づいた運用Tipsは、明日からでも実践しないとまずいなと思うような内容もありました。<br />ログクリーニングだけは、すぐに設定しておかないと・・・（汗）&nbsp;</p>
<p>それにしても、やっぱりMagentoは、制作者にそれなりのスキルを要求するシステムなのだなということを再認識しましたね。<br />知識というよりも、ネット上に散りばめられた情報をパズルのごとく組み合わせていく力とか、人のコードを解析して自分のものにしていく力とか、そういうことができるスキルということです。</p>
<p>Eテレの「テストの花道」ではありませんが、「考え方を手に入れる」というのが、Magento制作の肝なのだろうなと思います。<br />ディレクトリ構造の考え方とか、XMLとPHPコードがどう関連づいているのかとか、DBとコードの関係とか。</p>
<p>現状では、残念ながら、そういった考え方を簡単に手に入れることはできません。<br />英語の書籍もありますが対応バージョンがちょっと古かったりするし、ブログの情報は断片的です。<br />また、そういった情報を見てわかった気になっても、実際にやろうとするとできないことが結構あるのです。<br />そのため、人のコードを解析したりしながら、試行錯誤していくしかないんです。&nbsp;</p>
<p>ただ、今回の勉強会は、そういった考え方の一端を手に入れることができたような気もします。</p>
<hr />
&nbsp;
<p>実感としては、日本でのMagentoの普及には、まだまだ壁があるように思います。</p>
<p>それを超えるためには、制作者が知識を自分の中に溜め込まず、オープンにして情報を交換し合うことが重要なのではないかと思っています。<br />特に、日本国内だけで必要になる情報、例えば、決済とか、配送とか、フリガナとか、のしとか、ガラケー対応とか、そういう情報をどんどんオープンにしていくことが必要ですよね。</p>
<p>EC CUBEは、システム自体はひどいですが、コミュニティでの情報交換は活発で、トラブルが起きても意外に何とかなることが多いのです。&nbsp;</p>
<p>というわけで、私もできる限り、情報は公開していこうと思っています。<br />今までの私の記事の中には、「おいおい待てよ」みたいな情報もあったわけですが（データベースを直接いじるなんて、良い子はやっちゃダメですよwww）、そういうのを見て「それはこうやったほうがいいんだよ」みたいな話が出てくればいいと思うんです。</p>
<p>どこかのブログで、「Magentoで、○○のエクステンションを作ったんだよなー」とか自慢げに書いているのを見かけたことがありますが、そういうのは、有償でも、出来が悪いならベータ版でもいいから公開して、日本国内の制作者のすそ野を広げていくべきなんじゃないでしょうか。&nbsp;</p>
<p>なんてことを、Magento Cafe に参加して強く思ったのでした。</p>]]>
        
    </content>
</entry>

<entry>
    <title>WordCamp2011神戸で刺激を受けました！ - Cherry Pie Weblog</title>
    <link rel="alternate" type="text/html" href="http://www.cherrypieweb.com/weblog/diary/20110911233751.php" />
    <id>tag:www.cherrypieweb.com,2011:/weblog//2.309</id>

    <published>2011-09-11T14:37:51Z</published>
    <updated>2011-09-26T13:51:01Z</updated>

    <summary>久々のイベントは、刺激うけまくりで、めちゃ楽しかったです！</summary>
    <author>
        <name>さくらぎけい</name>
        
    </author>
    
        <category term="Diary" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="wordpress" label="WordPress" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.cherrypieweb.com/weblog/">
        <![CDATA[<p>舞鶴に帰ってきて1年余り、久しぶりに、イベントに参加しました。<br />「WordCamp2011神戸」です。<br />WordPressは、1か月前に初めて触ったくらいの超初心者ですが、最近Twitterでお話しさせていただいている@HissyNCさんがスタッフということで、せめて名刺くらい交換したいなと、思い切って参加してみました。</p>
<p>実は、東京を離れて結構寂しかったのです。</p>
<p>東京では、F-siteとかAdobe関係のセミナーとか、クリエイターの集まりには結構参加してて、話のできる仲間もたくさんできました。<br />そういった場所で、仕事のこと、考え方、趣味など、同業の人たちといろんな話をしたりされたりして、刺激をうけていたんです。</p>
<p>もちろん、舞鶴にいてもその仲間とTwitterとかで話はできるんですが・・・何ていうんだろう、ライブ感が無いというか・・・また、地元にも同業者さんはいらっしゃいますが、スピード感が無いというか刺激がなくて、ちょっと落ち込んでいたのです。</p>
<p>でも今日、WordPressのコミュニティ主催のイベントに集まっている人たち、教室に収まりきれなくて立ち見で一生懸命セッションに参加している人たちを見て、久々に燃えるものを感じました。</p>
<p><strong>「そうだよ！　俺がやってることって、Webって、CMSって、すっげー今、盛り上がってるんじゃないか！<br />スマートフォンとHTML5という、とてつもない大きな波が<strong>Webに</strong>来ているこの時期に、盛り上がらないでどうするんだよ！」</strong></p>
<p>この感覚、Flashがブームになりつつあったころに近い感覚です。<br />「来てる！　来てる！」って感じ、&nbsp;</p>
<p>参加者の年齢層もこれまで参加してきたイベントの中ではかなり若いほうだし、女子率も高いし、服装がリア充っぽい人が多いし（笑）、イベントの微妙な手作り感がなんだか学園祭っぽいし。</p>
<p>そして、とにかくみんな楽しそう。<br />懇親会にも出たかったです。（でも、出ちゃうと家に帰れなくなるんだよね・・・）<br />F-siteに行ってた頃もほとんど二次会目的でしたが、そういうのって、明日からの仕事にハリが出るんですよね。</p>
<p>初心者向けのセッションに多く参加したからか、正直言って、知識的に得るものは多くはありませんでした。<br />しかし、その場にいることでしか味わえない盛り上がりを肌で感じたことは、今の私にとって、とてつもないパワーになりました。</p>
<p>多くの人に触れ合うことの重要性を、改めて思い知った1日でした。<br />スタッフのみなさん、参加者の皆さん、お疲れ様でした。<br />そして、ありがとうございました。<br />今日からはライバルですけど、仲間でもあります。一緒に頑張りましょうね！&nbsp;</p>]]>
        
    </content>
</entry>

<entry>
    <title>ディスプレイやPDFで特色再現できるなんて！ - Cherry Pie Weblog</title>
    <link rel="alternate" type="text/html" href="http://www.cherrypieweb.com/weblog/technical/20110902010014.php" />
    <id>tag:www.cherrypieweb.com,2011:/weblog//2.307</id>

    <published>2011-09-01T16:00:14Z</published>
    <updated>2011-09-17T13:25:32Z</updated>

    <summary>2色印刷のデータから特色再現でPDFを作れって言われたこと、ありますよね？　でも営業にキレなくてもいいんです。実は簡単に対応できちゃうんですよ。（方法をより簡単なものに修正しました）</summary>
    <author>
        <name>さくらぎけい</name>
        
    </author>
    
        <category term="Technical" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="dtp" label="DTP" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.cherrypieweb.com/weblog/">
        <![CDATA[<p>（2010年9月10日　プロファイルの保存と設定方法を、よりやりやすい方法に書き直しました）</p>
<p>DTPデザイナーの永遠の悩み、2色印刷。<br />印刷のプロが相手なら、C+M版のプリントアウトと色チップで話ができるけど、クライアントに見せる時は特色再現したカラープリントを作成する必要があります。</p>
<p>また最近は、印刷物制作完了後に「Webに載せるので、特色再現でPDFが欲しい」と言われて、途方に暮れることも多いと思います。</p>
<p>「PDFなんて簡単にできるでしょ？」って営業に言われて、キレたデザイナーさんもいるでしょう・・・</p>
<p>2色印刷シミュレーションができるプリンタがあれば、画像にしてAcrobatのOCR機能で検索可能なPDFにするという手もありますが、あまり良い方法とは言えませんよね。</p>
<p>でも実は、割と簡単に特色を再現する方法があるんです。<br />この方法なら、出力で特色再現するだけでなく、ディスプレイ表示で特色再現ができるので、デザインの際にとてもイメージがつかみやすくなります。</p>
<p>それは、<strong>特色再現のカラー設定を作成して適用する</strong>という、言われてみれば当たり前の方法です。</p>
<p>カラー設定を作るなんて難しいのでは？　なんて思っているデザイナーさんも多いのではないかと思いますが（私も昨日までそう思っていました）、画面表示のための設定を作るだけなら簡単なので、今すぐやってみましょう！</p>
<p>使用アプリケーションは、Adobe CS4 です。<br />（もうちょっと前のバージョンでも大丈夫だと思います）</p>
<h3>まずはデータを作りましょう</h3>
<p>今回は、よくあるスーパーのチラシを例にとります。<br />データは、C版とM版の2版で作成してあります。</p>
<p>（データの色のまま）<br /><img class="mt-image-none" src="http://www.cherrypieweb.com/weblog/img/technical/spot_color-cm.jpg" alt="spot_color-cm.jpg" width="680" height="411" /></p>
<p>これを、C版を緑色、M版を朱色で印刷します。</p>
<p>（特色で印刷）<br /><img class="mt-image-none" src="http://www.cherrypieweb.com/weblog/img/technical/spot_color-conv.jpg" alt="spot_color-conv.jpg" width="680" height="411" /></p>
<p>データ制作にはIllustratorを使いました。<br />配置画像はPhotoshopで2色に加工してあります。<br />（CMYKをCMに振り分けるのは熟練のプロの技が必要でしたが、今回の方法を応用すれば、そこまでの熟練者でなくても、そこそこできるようになるかも）</p>
<h3>使用する特色を調べましょう</h3>
<p>Photoshopでカラー選択ボックスをクリックして、カラーピッカーを表示させます。</p>
<p>次に、特色の掛け合わせをCMYK値で入力し、その時に表示されるLab値をメモしておきます。</p>
<p><img class="mt-image-none" src="http://www.cherrypieweb.com/weblog/img/technical/ps-pre1.jpg" alt="ps-pre1.jpg" width="535" height="377" /></p>
<p>今回は、C版は、C100+Y100 の色で印刷するので、Lab値は、L:52, a:-82, b:29、<br />M版は、M100+Y100 の色で印刷するので、Lab値は、 L:49, a:75, b:59 となります。</p>
<p>なお、DICなどのカラーライブラリは、色を選ぶとLab値が表示されます。</p>
<p><img class="mt-image-none" src="http://www.cherrypieweb.com/weblog/img/technical/ps-pre3.jpg" alt="ps-pre3.jpg" width="492" height="343" /></p>
<h3>カラープロファイルを作りましょう</h3>
<p>Photoshopの「編集」－「カラー設定」のダイアログを開き、作業用スペースのCMYKで「カスタムCMYK」を選択します。</p>
<p><img class="mt-image-none" src="http://www.cherrypieweb.com/weblog/img/technical/ps-1.gif" alt="ps-1.gif" width="580" height="509" /></p>
<p>「カスタムCMYK」ダイアログが開くので、印刷インキ設定のインキの色特性で「カスタム」を選択します。</p>
<p><img class="mt-image-none" src="http://www.cherrypieweb.com/weblog/img/technical/ps-2.gif" alt="ps-2.gif" width="560" height="362" />。</p>
<p>「インキの色特性」ダイアログが開くので、下部のチェックボックスにチェックし、CとMのところに、先ほどメモしたLab値をそれぞれ入力します。<br />使用しない版は、Wの値を入れておきます。&nbsp;</p>
<p><img class="mt-image-none" src="http://www.cherrypieweb.com/weblog/img/technical/ps-3.gif" alt="ps-3.gif" width="526" height="384" /></p>
<p>OKをクリックすると、「カスタムCMYK」ダイアログに戻ります。<br />ここで、保存名にわかりやすい名前を付けます。<br />今回は「チラシ」としました。<br />色調変換に使用しないのであれば他の部分は特に変更する必要はありませんが、いちおう墨版生成を「なし」にしておきます。&nbsp;</p>
<p><img class="mt-image-none" src="http://www.cherrypieweb.com/weblog/img/technical/ps-4.gif" alt="ps-4.gif" width="560" height="362" />。</p>
<p>OKをクリックすると、「カラー設定」ダイアログに戻ります。</p>
<p>ここで再度、作業用スペースのCMYKをクリックし、今度は「CMYKプロファイルとして保存」を選択します。</p>
<p><img class="mt-image-none" src="http://www.cherrypieweb.com/weblog/img/technical/ps-6.gif" alt="ps-6.gif" width="595" height="796" /></p>
<p>保存先は、業務のことを考えると、物件ごとのフォルダに保存しておいたほうがいいと思います。<br />今回は「チラシ.icc」という名前を付けて保存しておきます。&nbsp;</p>
<h3>データに適用してみましょう</h3>
<p>先ほど保存したカラープロファイルは、インストールしないと、プロファイルとして使用できません。</p>
<p>Windowsの場合は、プロファイルを右クリックして、「プロファイルのインストール」でインストールします。<br />または、「WINDOWS&yen;system32&yen;spool&yen;drivers&yen;color」フォルダーにプロファイルをコピーします。</p>
<p>MacOSXの場合は、「/ユーザー/[<var style="font-size: 12px; line-height: 18px; font-family: 'MS P Gothic', Verdana, Arial, Helvetica, sans-serif; font-style: normal;">ユーザー名</var>]/ライブラリ/ColorSync/Profiles」フォルダーにプロファイルをコピーします。</p>
<p>※カラープロファイルをインストールした後は、Adobeのアプリケーションを再起動しないと認識してくれません。&nbsp;</p>
<p>では、Illustratorで、チラシデータを開きましょう。</p>
<p>データを開いたら、「編集」－「プロファイルの指定」を開きます。<br />プロファイルをクリックすると、先ほどインストールしたプロファイルが選べるようになっていますので、「チラシ」を選択します。</p>
<p><img class="mt-image-none" src="http://www.cherrypieweb.com/weblog/img/technical/ill-2b.gif" alt="ill-2b.gif" width="593" height="315" />。</p>
<p>すると・・・どうですか？　ちゃんと画面上のデータが特色再現されましたよね？</p>
<p>2色で出来ている画像も特色になっているし、色の掛け合わせも再現されていると思います。<br />データ自体は変更されていないので、緑ベタの部分の色はC100%のみ、Y成分はありません。</p>
<p>プロファイルの指定で元のプロファイルを選択すれば、C+M版の表示に戻ります。</p>
<p>印刷時は、印刷ダイアログの出力タブにプロファイルを選ぶところがありますので、「チラシ」プロファイルを使用すれば特色再現で印刷されます。</p>
<p>データを保存するときは、「ICCプロファイルを埋め込み」にチェックして保存します。<br />このデータを次に開くときは、「埋め込まれたプロファイルの不一致」ダイアログが開きますので、「埋め込みプロファイルを使用する」を選択すれば特色再現で開きます。</p>
<p><img style="border-style: initial; border-color: initial;" src="http://www.cherrypieweb.com/weblog/img/technical/ill-3.gif" alt="ill-3.gif" width="448" height="291" /></p>
<p>プロファイルを破棄、あるいは作業用プロファイルに変換を選択すれば、C+M版の表示で開きます。</p>
<h3>特色再現PDFを作って見ましょう</h3>
<p>では、いよいよWeb用PDFに書き出してみます。<br />「ファイル」－「別名で保存」から、ファイルの種類でPDFを選択します。</p>
<p>ダイアログが開いたら、プリセットで「最小ファイルサイズ」を選択します。<br />「出力」タブで「カラー」を下記のように設定して、PDFを保存します。&nbsp;</p>
<p><img class="mt-image-none" src="http://www.cherrypieweb.com/weblog/img/technical/pdf-1.gif" alt="pdf-1.gif" width="677" height="598" /></p>
<p>この設定で作成したPDFはカラーが「AdobeRGB」に変換されますので、シミュレーションではなく、色自体が特色の色になっている、普通のRGBカラーのPDFになっています。</p>
<p>出力先に、カラープロファイル「チラシ」を選択してもうまくいきそうに思えますが、私が試したところ、なんだか変な色になってしまいました。<br />クライアントが、カラープロファイルに対応しているような新しいビューワーで見てくれるとも限らないので、ここは色を変換してしまったほうが良いと思います。</p>
<p>カラー変換をしないと、C+M版のPDFが作成されます。<br />Acrobatがあれば、「ツール」－「印刷工程」－「出力プレビュー」でカラープロファイルを適用すると、シミュレーションすることができます。&nbsp;</p>
<p>今回はIllustratorで説明しましたが、InDesignなどでも同じ手順で特色再現ができます。<br />どちらかというと、InDesignで使うことのほうが多いんじゃないでしょうか。</p>
<hr />
<p><br />ここで示したプロファイル作成方法は、印刷や画像変換などに用いるには十分ではありませんが、特色再現したものを画面で見たいというニーズには、十分対応できるものだと思います。</p>
<p>ちなみに、Illustrator5.5 とかでは、この方法は使えません。<br />新しいバージョンのほうが、アピアランスとかスタイルとか使えて断然便利なんだから、早くバージョンアップしてくださいね。</p>
<p>&nbsp;</p>
<p>※本記事の作成には、下記記事を参考にさせていただきました。ありがとうございます。</p>
<p>プロファイル作って２色印刷<br /><a href="http://piyopiyoedit.blog93.fc2.com/blog-entry-53.html" target="_blank">http://piyopiyoedit.blog93.fc2.com/blog-entry-53.html</a>&nbsp;</p>]]>
        
    </content>
</entry>

<entry>
    <title>WordPressで携帯専用サイトを作るときに悩んだこと - Cherry Pie Weblog</title>
    <link rel="alternate" type="text/html" href="http://www.cherrypieweb.com/weblog/technical/20110830121715.php" />
    <id>tag:www.cherrypieweb.com,2011:/weblog//2.306</id>

    <published>2011-08-30T03:17:15Z</published>
    <updated>2011-09-11T15:47:28Z</updated>

    <summary>WordPressで携帯サイトを作る場合の定番プラグイン「Ktai Style」の地味な凄さと、Google携帯検索の地味な凄さを体感しました。</summary>
    <author>
        <name>さくらぎけい</name>
        
    </author>
    
        <category term="Technical" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="wordpress" label="WordPress" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.cherrypieweb.com/weblog/">
        <![CDATA[<p>安価で急いで携帯用CMSを作らなければいけなくなって、WordPress + <a href="http://wppluginsj.sourceforge.jp/ktai_style/" target="_blank">Ktai Style</a> でサイトを作りました。</p>
<p>その際に、PC向けの表示のやり方とSEOについて無駄に悩んでしまったのですが、とても簡単な解決方法を見つけたので書いておきたいと思います。</p>
<p>（さくらぎは、WordPress初心者ですので、間違いがあったら、コメント等でご指摘をお願いいたします）</p>
<h3>どんなサイトをつくったか</h3>
<ul>
<li>携帯電話向けに、不動産情報を発信するサイト。</li>
<li>コメントやトラックバックは無し。</li>
<li>PC向けサイトは不要。</li>
<li>PCからのアクセスには、QRコードを表示して携帯電話でアクセスするように案内する。</li>
</ul>
<p>&nbsp;</p>
<h4>今回のポイント</h4>
<p>携帯サイトの作成は、<a href="http://wppluginsj.sourceforge.jp/ktai_style/" target="_blank">Ktai Style </a>で行います。<br />独自テーマを作成しましたが、特に変わったことは行っていません。</p>
<p>問題は、PC用のテーマです。<br />通常は、PC用のサイトがあって、携帯用のサイトを作るという流れになると思います。<br />しかし今回は、PCからアクセスされた際に投稿を表示せず、案内ページを表示するという仕様です。</p>
<p>そして、案内ページを表示するということは、「PC用と携帯用のURLが同じで表示内容が異なる」ことになるので、検索エンジンのクローラーへの対応が問題になります。</p>
<h3>まずはFAQの方法を試してみる</h3>
<p>Ktai Style の<a href="http://wppluginsj.sourceforge.jp/ktai_style/qa/" target="_blank">FAQ</a>には、携帯専用ブログにする際の手順が書いてあります。<br />Ktai Style Reject PCプラグインを作成して有効化するやり方です。<br />ただ、書いてある通りにしただけだと、PCからアクセスした際には、画面が真っ白になります。</p>
<p>案内ページを表示するには、下記のように修正します。</p>
<ol>
<li>案内ページを別にHTMLで作ってFTPでアップしておく</li>
<li>Ktai Style Reject PCプラグインで、exit(); の前に、案内ページへのリダイレクトさせるようにする</li>
</ol>
<pre class="prettyprint">&lt;?php

/*
Plugin Name: Ktai Style Reject PC
Version: 1.0.0
*/
function ks_reject_pc() {
&nbsp;&nbsp;&nbsp;&nbsp;$url = parse_url(get_bloginfo('wpurl') . '/');
&nbsp;&nbsp;&nbsp;&nbsp;if (! preg_match('!^' . preg_quote($url['path'], '!')
&nbsp;&nbsp;&nbsp;&nbsp;. 'wp-(admin/|login|includes/)!', $_SERVER['REQUEST_URI'])) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;header("HTTP/1.1 301 Moved Permanently");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;header("Location: http://（案内ページのURL）");
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exit();
&nbsp;&nbsp;&nbsp;&nbsp;}
}
add_action('ktai_init_pc', 'ks_reject_pc');
・・・（後略）
?&gt;
</pre>
<p>これで、問題なく動作します。</p>
<h4>検索エンジン対策</h4>
<p>Ktai Style は、PC用サイトと携帯用サイトを同じURLで表示します。<br />これを聞いて、『PCでアクセスした際に、すべて案内ページに飛ばされてしまったら、全ページの検索結果が案内ページの内容になってしまうのではないか？』と心配される方がいらっしゃるかもしれません。</p>
<p>しかし、最近の検索ロボットは賢くて、携帯での検索ではちゃんと携帯用ページの内容を表示してくれるのです。</p>
<p>今回の例だと、PC検索では案内ページしか出てきませんが、携帯検索ではきちんと携帯用サイトの内容が出てきます。</p>
<p>つまり、下手に小細工しなくても、きちんとPC用と携帯用で別のコンテンツが表示されるのであれば、そのまま検索結果に反映されるのです。</p>
<p>TwitterでKtai Style作者の <a href="http://twitter.com/#!/lilyfanjp" target="_blank">lilyfanjp</a>さんに指摘していただいたのに、その場ではよくわかっていませんでした。すいませんでした。&nbsp;</p>
<h3>もっとわかりやすい方法を思いついた</h3>
<p>とりあえず、うまく行ったわけですが、制作途中で『こんな複雑なことしなくてもいいんじゃないの？』と思いつきました。（これのどこが複雑なんだと言われたら、それまでなんですけど）&nbsp;</p>
<p>それは、PC用に「案内ページを表示するだけ」のテーマを作成するという方法です。</p>
<p><strong>（１）新規テーマを作成</strong><br />wp-content/themesフォルダーに新しいフォルダーを作成し、適当な名前（例えば「guide4pc」とか）をつけます。</p>
<p><strong>（２）テーマに必要最小限の、2つのファイルを新規作成</strong></p>
<p>●style.css</p>
<p>内容は、テーマの説明のみでOKです。<br /> 例えば、次のようになります。</p>
<pre class="prettyprint">/*  
Theme Name: PC案内用テーマ
Theme URI: http://www.cherrypieweb.com/wp/wp-content/themes/guide4pc/
Version: 1.0
Description: 本テーマは、携帯電話でのアクセスを促すメッセージを表示します。
Author: Sakuragi-Kei
Author URI: http://www.cherrypieweb.com/
*/
</pre>
<p>&nbsp;</p>
<p>●index.php</p>
<p>他のテンプレートが存在しない場合、すべてのページがこのテンプレートで処理されます。<br />今回は、PCからのアクセスはすべて案内ページになればいいわけですから、ここに案内ページのHTMLを書いてしまえばOKです。<br />携帯検索でPCページも表示されることを考慮して、meta description にサイトの説明などを設定しておいたほうが良いでしょう。<br />QRコードを表示させたい場合は、テーマフォルダーの中に「images」フォルダーを作って、QRコードの画像を入れておきましょう。</p>
<pre class="prettyprint">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;
&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8" /&gt;
&lt;meta name="description" content="（PCサイトの概要を書いておきます）"&gt;
&lt;title&gt;&lt;?php wp_title('|', true, 'right'); ?&gt;&lt;?php bloginfo('name'); ?&gt;&lt;/title&gt;
&lt;link rel="stylesheet" type="text/css" media="all" href="&lt;?php bloginfo('stylesheet_url'); ?&gt;" /&gt;
&lt;?php wp_head(); ?&gt;
&lt;/head&gt;

&lt;body&gt;
&lt;h1&gt;サイトのタイトル&lt;/h1&gt;
&lt;p&gt;本サイトは、携帯電話またはスマートフォンでのみ閲覧できます。&lt;/p&gt;
&lt;p&gt;下記のQRコードをご利用ください。&lt;/p&gt;
&lt;p&gt;&lt;img src="&lt;?php bloginfo('template_directory'); ?&gt;/images/qr.jpg" alt="トップページへ" /&gt;&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>なお私は、&lt;/body&gt;タグの前に、Google Analyticsのスクリプトを入れています。</p>
<p><strong>（３）外観メニューで、このテーマを有効にする</strong></p>
<p>これで、PCからのアクセスでは、常に案内ページが表示され、携帯からのアクセスでは、Ktai Styleのテーマが表示されるようになります。<br />もちろん、携帯検索では携帯用ページの内容が表示されます。&nbsp;</p>
<p>PCからのアクセスで表示されるものはPC用のテーマで管理され、携帯からのアクセスで表示されるものは Ktai Style のテーマで管理されるので、知識の少ない方にもわかりやすい構成になります。</p>
<h3>Mobile Link Discoveryについて</h3>
<p>「<a href="http://www.sixapart.jp/docs/tech/mobile_link_discovery_ja.html" target="_blank">Mobile Link Discovery</a>」という仕組みを用いると、PC用ページに携帯用のページのURLを明示することができます。</p>
<p>例えば、Google携帯検索では、検索結果にPC用ページと携帯用ページの両方が表示されます。<br />ここで、携帯電話で検索結果のPC用ページをクリックすると、通常はPC用ページがGoogleの携帯用表示変換機能で変換されて表示されます。<br />ところが、PC用ページに「Mobile Link Discovery」が設定してあると、PC用ページを表示せずに携帯用ページへ転送されるようになります。&nbsp;</p>
<p>これは、携帯用のページがPC用のページとは別のURLで存在する場合に、非常に有効な仕組みです。<br />また、PC用と携帯用が同じURLの場合は、PC用ページに携帯電話でアクセスしても携帯用ページとして同一URLに転送されることになるので、携帯用に変換される処理が入らずに表示されます。</p>
<p>では、これを index.php に組み込んでおきましょう。&nbsp;</p>
<p>・・・と思って頑張ってコードを書いていたんですが、実はKtai Styleを導入している場合は、wp_head(); に自動でMobile Link Discoveryが挿入されるようになっていました。<br />つまり、index.phpの&lt;/head&gt;の前に、&lt;?php wp_head(); ?&gt;を入れておけばOKなのです。&nbsp;</p>
<p>恐るべし。Ktai Style。&nbsp;</p>
<hr />
<p>&nbsp;</p>
<p>今回、初めてWordPressを触ったわけですが、PHPの初歩的なことさえ知っていれば、とても簡単に導入できました。<br />今後は、サイトの規模に合わせて、WordPress と MovableType を使い分けようかなと考えています。&nbsp;</p>
<p>そして、Twitterでの私のボヤキに素早く反応していただいた、<a href="http://twitter.com/#!/HissyNC" target="_blank">HissyNC</a>さんと、<a href="http://twitter.com/#!/lilyfanjp" target="_blank">lilyfanjp</a>さん、ありがとうございました。</p>
<p>（2011.9.1修正）<br /> PC案内用テーマの index.php で、QRコード用画像のURLを修正しました）&nbsp;</p>]]>
        
    </content>
</entry>

<entry>
    <title>メールが受信できないのは、さくらのせいじゃなかった - Cherry Pie Weblog</title>
    <link rel="alternate" type="text/html" href="http://www.cherrypieweb.com/weblog/technical/20110721111438.php" />
    <id>tag:www.cherrypieweb.com,2011:/weblog//2.305</id>

    <published>2011-07-21T02:14:38Z</published>
    <updated>2011-08-28T08:43:31Z</updated>

    <summary>Magentoから自動送信されたメールが、さくらのメールサーバーにだけ届かないという問題が発生しました。でも、さくらのせいではなかったのです。</summary>
    <author>
        <name>さくらぎけい</name>
        
    </author>
    
        <category term="Technical" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="magento" label="magento" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.cherrypieweb.com/weblog/">
        <![CDATA[<p>Magentoで制作したECサイトをテストしていたとき、クライアントの担当者に「受注通知メール」が届かないという問題が発生しました。</p>
<p>通常は、買い物を完了すると、購入者とMagentoの管理画面で設定した担当者宛にメールが届きます。<br />クライアントのテスト前に私が買い物をしたときは、購入者・担当者ともにメールが送信されてきたので、システム自体は動いていると思われます。</p>
<h3>まずは、状況の確認</h3>
<h5>担当者にメールが届く場合</h5>
<ul>
<li>ゲストで購入、メールアドレスは「アットニフティ」のものを使用　&rarr;　購入者にメールが届く</li>
<li>メンバー登録して購入、メールアドレスは「Hotmail」のものを使用　&rarr;　購入者にメールが届く</li>
<li>担当者のメールアドレスは「GMail」のものを使用　&rarr;　担当者にメールが届く</li>
<li>メールクライアントは使用せず、すべてウェブブラウザを使用</li>
</ul>
<p>&nbsp;</p>
<h5>担当者にメールが届かない場合</h5>
<ul>
<li>メンバー登録して購入、メールアドレスは「さくらインターネット」上の独自ドメインのものを使用　&rarr;　購入者にメールが届かない<br />（会社から割り当てられている個人用メールアドレス）&nbsp;</li>
<li>ゲストで購入、メールアドレスは「Hotmail」のものを使用　&rarr;　購入者にメールが届く</li>
<li>担当者のメールアドレスは「さくらインターネット」上の独自ドメインのものを使用　&rarr;　担当者にメールが届かない<br />（会社の営業用メールアドレスで、購入者と同じドメイン）</li>
<li>メールクライアントは、「Microsoft Outlook 2007」</li>
</ul>
<p>&nbsp;</p>
<h3>HTMLメールが原因か？</h3>
<p>まず疑われるのは、メールクライアントおよびメールサーバーのセキュリティ設定です。</p>
<p><span style="line-height: 19px;">Magentoから送信されるメールはHTMLメールなので、迷惑メールとして処理されている可能性があります。</span></p>
<p><span style="line-height: 19px;">ちょうど打ち合わせがありましたので、クライアントの事務所に伺って、設定を確認させていただきました。<br />メールサーバーは、ウィルスチェックを行わない設定になっています。<br />Outlookは、常識的な設定になっており、特にHTMLメールを弾くようにはなっていません。</span></p>
<p><span style="line-height: 19px;">ここで試しに、Hotmailで受信した私宛の受注確認メールを転送してみました。<br />すると、問題なく受信できます。<br />メールの内容自体が問題ではないようです。</span></p>
<h3><span style="line-height: 19px;">送信側のメールサーバーが問題か？</span></h3>
<p><span style="line-height: 19px;">ここで私はふと思い当たることがありました。<br /></span>現状のサーバー構成についてです。</p>
<p>クライアントは現在、「さくらインターネット」でWebサーバーおよびメールサーバーを運用しているのですが、さくらのレンタルサーバーでは、Magentoの動作環境を満たさない（MySQLでInnoDBが使えない）ため、 他のレンタルサーバーへ乗り換えることになっていました。</p>
<p>現在Magentoが動作しているサーバーは正式運用前なので、ネームサーバーの設定はされておらず、DNSの逆引きができません。<br />そのため、さくらのメールサーバーが拒否しているのではないかと考えました。</p>
<p>そこで確認のため、知り合いでさくらのメールサーバーを使用している方にお願いして、買い物をしてもらいました。<br />ところが・・・なんと、ちゃんと受注確認メールが届いてしまったのです。<br />許可を得て、コントロールパネルからメールのセキュリティ設定を確認させてもらいましたが、クライアントの設定と全く同じ。<br />元々、そんなに設定項目はないので、設定ミスのしようもありません。<br />・・・困りました。</p>
<h3>さくらのサポートに相談</h3>
<p>手詰まりになってきたので、さくらのサポートに相談をしてみました。<br />サポートからほどなく連絡があり、サーバーの履歴を確認してみるので、メールが送信された詳細の日時と送信したメールの内容を教えてほしいと言われました。</p>
<p>その後の調査の結果、<strong>「さくらには、そのメールが届いた形跡がない」</strong>という返事が返ってきました。</p>
<p>？？？　狐につつまれたような感じです。</p>
<p>ただ、消去法で問題のありかはわかってきました。<br />「Magentoから、クライアントのドメイン宛に<strong>だけ</strong>、メールが送信されていない」ということです。</p>
<h3>MagentoのSMTP設定を変える</h3>
<p>原因がよくわからないので、とにかく試行錯誤をしてみることにしました。<br />うまく行ったら、そこから逆に原因を探してみようという考えです。</p>
<p>まずは、SMTP設定を変更できるエクステンション「<a href="http://www.magentocommerce.com/magento-connect/ASchroder/extension/1865/aschroder.com-smtp-pro" target="_blank">SMTP Pro</a>」を導入してみました。<br />Magentoが使用する送信メールサーバーを、動作中のサーバー以外の任意のサーバーに指定できるエクステンションです。<br />これを使って他のメールサーバーからメールを送信し、問題がMagentoにあるのかメールサーバーにあるのかを切り分けます。&nbsp;</p>
<p>SMTP Pro を導入すると、管理画面の「システム－設定－高度な設定－システム」に、4つの新しい項目が現れます。</p>
<p>まず「SMTP Pro Email General Settings」&nbsp;でエクステンションを有効にします。<br />今回は一般のレンタルサーバーのメールサーバーを使いますので、「Choose extension option」を「SMTP」にします。</p>
<p>次に「SMTP Pro Email SMTP Settings」&nbsp;でメールサーバーの設定をします。<br />「Authentication」は「ログイン」<br />他の設定は、通常メールクライアントに設定するものと同じです。<img src="http://www.cherrypieweb.com/weblog/img/technical/smtppro.jpg" alt="" width="580" height="942" /></p>
<p>この設定で買い物を行ったところ、クライアント担当者で問題なく受注確認メールが受信できました。</p>
<p>となると、問題はいったいなんだったのでしょうか？</p>
<h3>原因はメールサーバーの高度な動き</h3>
<p>メールサーバーの詳細な設定は、一般ユーザーにはわかりません。<br />そこで、Magentoが動作しているサーバーの担当者に聞いてみました。</p>
<p>その結果、私は、最近のメールサーバーの高度な動作を知ったのでした。</p>
<p>Magentoが動作しているサーバーは、テスト完了後に本番サーバーとして運用を行い、独自ドメインも、さくらから新しいサーバーへ移行する予定です。<br />そのため、ユーザー名やドメイン設定は、本番運用予定のものが設定してあります。<br />つまり、現在、さくらで運用中のものと同じドメインが設定されていたのです。&nbsp;</p>
<p>今回、クライアント担当者にメールが送信されなかったのは、Magentoが動作しているサーバーに設定されているドメインと同じドメイン宛のメールであったために、サーバーが内部処理でメールを受信箱に移動させ、<strong>外部に送信していなかった</strong>ということなのです。</p>
<p>ということは、メールサーバーの動作確認のために、自分宛にメールを送るという操作は、あんまり意味がないということなのですね。<br />単にメールサーバーの内部処理テストを行っているだけだということですか・・・</p>
<p>すみません、私が無知でした。</p>
<p>というわけで、Magentoが動作しているサーバーへのドメイン移行が完了すれば、問題が解決するということがわかり、一安心です。&nbsp;</p>]]>
        
    </content>
</entry>

<entry>
    <title>Magentoに「のし」機能をつける - Cherry Pie Weblog</title>
    <link rel="alternate" type="text/html" href="http://www.cherrypieweb.com/weblog/technical/20110710231016.php" />
    <id>tag:www.cherrypieweb.com,2011:/weblog//2.302</id>

    <published>2011-07-10T14:10:16Z</published>
    <updated>2011-07-15T16:18:53Z</updated>

    <summary>Magentoを日本仕様にするカスタマイズ。既存の機能を流用して「のし」機能をつけてみました。</summary>
    <author>
        <name>さくらぎけい</name>
        
    </author>
    
        <category term="Technical" scheme="http://www.sixapart.com/ns/types#category" />
    
    <category term="magento" label="magento" scheme="http://www.sixapart.com/ns/types#tag" />
    
    <content type="html" xml:lang="ja" xml:base="http://www.cherrypieweb.com/weblog/">
        <![CDATA[<p>お中元の季節ですね。</p>
<p>日本でECシステムを作る上で欠かせないのが「のし」機能。<br /> Magentoには当然ありませんが、既存の機能でなんとかしてみたいと思います。</p>
<p>使うのは、「ギフトメッセージ」機能。<br /> これを、のしに改造してみます。</p>
<p>実際には、このようになります。 <br /> <img src="http://www.cherrypieweb.com/weblog/img/technical/noshi-01.jpg" alt="のし" width="658" height="676" /><br /> あて先は「表書き 」、メッセージは「のしの種類」に修正しています。</p>
<p>手順は以下の通りです。</p>
<ol>
<li>ラベルの修正</li>
<li>フォームフィールドに初期値が自動入力されないように修正</li>
<li>テキストエリアをセレクトボックスに修正（のしの種類を選べるように）</li>
<li>管理画面でも同様に修正</li>
</ol>
<p>&nbsp;</p>
<p>データベースをいじるような、お行儀の悪いカスタマイズはしないように心がけました。（笑） <br /> 基本的に、翻訳ファイルとテンプレートファイルを修正するだけのカスタマイズです。</p>
<p>なお、ここで説明しているのは、onepage checkout の場合ですが、multi shipping でも応用がきくと思います。</p>
<h3>ラベルの修正</h3>
<p>Magentoの日本語表示は翻訳ファイルで行っているので、極端な話、翻訳ファイルを変更するとか、直訳機能で修正するだけでも何とかなります。 <br /> 以下は、日本語ロケールファイルを導入しているとして説明します。 <br /> （導入されていない方は、「Magento 日本語ロケール」などで検索してみてください。 <br /> 私は、<em>「PepMaq_Japan_Translation」</em>というエクステンションで日本語化しています。 <br /> 1.4用ですが、1.5で使っても問題なさそうです）</p>
<p>ギフトメッセージに絡む翻訳ファイルは、下記です。</p>
<p><em>app/locale/ja_JP/Mage_Sales.csv</em><br /> <em> app/locale/ja_JP/Mage_GiftMessage.csv</em></p>
<p>上記の2つのファイルの中で、「ギフトメッセージ」、「メッセージ」という訳語を、「のし」に修正するだけで、見た目だけはのし機能がついたみたいになります。</p>
<p>しかし、実際に使用されている単語の中には、「From」、「To」、「Message」といった、非常に単純なものがあります。 <br /> <em>Mage_Sales.csv</em> の中で、これらはいろいろな画面で使用されているので、うっかり他の画面に適用されてしまう危険性があります。</p>
<p>今回は、どうせテンプレートファイルを修正しますので、対策として元の英語を修正することにしました。</p>
<p>該当テンプレートファイルは、下記です。</p>
<p><em>app/design/frontend/base/default/template/giftmessage/inline.phtml</em><br /> <em> app/design/adminhtml/default/default/template/sales/order/view/giftmessage.phtml</em></p>
<p>これらを、テーマのディレクトリにコピーして、コード中に出てくる翻訳対象部分を下記のように一括で置換します。<br>
（フロントエンド（app/design/frontend）と、管理画面（app/design/adminhtml）で、それぞれ別のディレクトリになりますので注意してください）</p>
<pre class="prettyprint">__('From') &rarr; __('Noshi From')
__('To') &rarr; __('Noshi Title') 
__('Message') &rarr; __('Noshi Message')
</pre>
<p>そして、翻訳ファイルに、</p>
<pre class="prettyprint">"Noshi From","お名前"
"Noshi Title","表書き"
"Noshi Message","のしの種類"
</pre>
<p>を追加しました。 <br /> 実際には、関連するものをすべて追加・修正していく必要があります。 <br /> 少なくとも、「Gift Message」という単語はすべて「のし」にします。</p>
<p>のしを使うのは日本だけだから、phtmlに直接日本語を書き込んでもいいように思いますが、Magentoのお作法に従っておいたほうが、多分、後々良いと思います。&nbsp;</p>
<p>（Mage_Sales.csv の例）</p>
<pre class="prettyprint">"Add Gift Messsage","のしを追加"
"Add a gift message for each gift item","それぞれの商品にのしを追加"
"Add a gift message for the entire order","すべての注文にのしを一つ追加"
"Gift Message","のし" <br />"Gift Message for This Order","このご注文ののし"
"Gift Message for the Entire Order","すべてのご注文ののし"
"Gift Message for this Order","このご注文ののし"
</pre>
<p>（Mage_GiftMessage.csv の例）</p>
<pre class="prettyprint">"Message","のしの種類" "To","表書き"
"Noshi Message","のしの種類"
"Save Gift Message","のしを保存"
"Noshi From","お名前"
"Noshi Title","表書き"
"You can leave this box blank if you do not wish to add a gift message for the item."
&nbsp;&nbsp;&nbsp;&nbsp;,"のしの種類を選択しないと、入力項目は消去されます"
"You can leave this box blank if you do not wish to add a gift message for this address."
&nbsp;&nbsp;&nbsp;&nbsp;,"のしの種類を選択しないと、入力項目は消去されます"
"You can leave this box blank if you do not wish to add a gift message for whole order."
&nbsp;&nbsp;&nbsp;&nbsp;,"のしの種類を選択しないと、入力項目は消去されます"
</pre>
<h3>フォームフィールドに初期値が自動入力されないように修正</h3>
<p>ギフトメッセージ機能では、すでに、送り主とあて先の欄に初期値が入っています。<br /> 今回は、あて先欄を表書きに使用するので、自動であて先を入力されると困ります。<br /> そこで、自動入力されないように修正します。</p>
<p>該当テンプレートファイルは、下記です。<br /> <em> app/design/frontend/base/default/template/giftmessage/inline.phtml</em></p>
<p>自動入力を行っている部分は、各inputタグの value属性の部分にある、</p>
<pre class="prettyprint">$this-&gt;getDefaultFrom()
$this-&gt;getDefaultTo()
</pre>
<p>ですので、これを削除します。</p>
<pre class="prettyprint">&lt;li class="fields"&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class="field"&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;label for="gift-message-whole-from"&gt;&lt;?php echo $this-&gt;__('Noshi From') ?&gt;&lt;/label&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class="input-box"&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type="text"&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name="giftmessage[&lt;?php echo $this-&gt;getEntity()-&gt;getId() ?&gt;][from]" 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id="gift-message-whole-from" title="&lt;?php echo $this-&gt;__('Noshi From') ?&gt;" &nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value="&lt;?php echo $this-&gt;getEscaped($this-&gt;getMessage()-&gt;getSender()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<del>, $this-&gt;getDefaultFrom()</del>) ?&gt;"&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class="input-text validation-passed" /&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class="field"&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;label for="gift-message-whole-to" class="required"&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;em&gt;*&lt;/em&gt;&lt;?php echo $this-&gt;__('Noshi Title') ?&gt;&lt;/label&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class="input-box"&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;input type="text"&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name="giftmessage[&lt;?php echo $this-&gt;getEntity()-&gt;getId() ?&gt;][to]"&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;id="gift-message-whole-to" title="&lt;?php echo $this-&gt;__('Noshi Title') ?&gt;"&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value="&lt;?php echo $this-&gt;getEscaped($this-&gt;getMessage()-&gt;getRecipient()
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<del>, $this-&gt;getDefaultTo()</del>) ?&gt;"&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class="input-text validation-passed" /&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;
&lt;/li&gt;
</pre>
<h3>テキストエリアをセレクトボックスに修正</h3>
<p>のしの種類を選ぶことができるように、テキストエリアをセレクトボックスにします。<span style="line-height: normal; ">&nbsp;</span></p>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; line-height: 1.4; ">該当テンプレートファイルは、先ほどと同じです。 <em>app/design/frontend/base/default/template/giftmessage/inline.phtml</em></p>
<p>選択肢は、先頭のほうに配列で宣言しておくと、後の修正がしやすくなります。</p>
<pre class="prettyprint">&lt;?php 
$_options = array(
&nbsp;&nbsp;&nbsp;&nbsp;array('label' =&gt; '－のしの種類を選択してください－', 'value' =&gt; ''),
&nbsp;&nbsp;&nbsp;&nbsp;array('label' =&gt; '紅白蝶結び', 'value' =&gt; '紅白蝶結び'),
&nbsp;&nbsp;&nbsp;&nbsp;array('label' =&gt; '紅白結び切り', 'value' =&gt; '紅白結び切り'),
&nbsp;&nbsp;&nbsp;&nbsp;array('label' =&gt; '弔事', 'value' =&gt; '弔事')
);
?&gt;
&lt;li class="wide"&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;label for="gift-message-whole-message"&gt;&lt;?php echo $this-&gt;__('Noshi Message') ?&gt;&lt;/label&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class="input-box"&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;select id="gift-message-whole-message" 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;name="giftmessage[&lt;?php echo $this-&gt;getEntity()-&gt;getId() ?&gt;][message]" 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;class="input-text validation-passed giftmessage-area" 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;title="&lt;?php echo $this-&gt;__('Noshi Message') ?&gt;" 
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;onchange="toogleRequired('gift-message-whole-message', ['gift-message-whole-to'])"&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;?php $giftMessageValue = $this-&gt;getMessage()-&gt;getMessage(); ?&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;?php foreach($_options as $_option): ?&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;?php $giftMessageSelected = $_option['value'] == $giftMessageValue ? ' selected' : ''; ?&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;option &lt;?php echo 'value="'.$_option['value'].'"'.$giftMessageSelected ?&gt;&gt;&lt;?php echo $_option['label'] ?&gt;&lt;/option&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;?php endforeach; ?&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/select&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;br /&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;p class="required"&gt;&lt;?php echo $this-&gt;__('* Required Fields') ?&gt;&lt;/p&gt;
&lt;/li&gt;
</pre>
<h3>管理画面</h3>
<p>ギフトメッセージ機能をのしに修正した場合は、管理画面での修正が必須です。<br />特に、自動入力は管理画面でも実装されていますので、これをそのままにしておくと、お客様がのしをつけていないのに、管理画面でのしが自動入力されてしまいます。</p>
<p>管理画面はコアファイルを修正する必要があります。<br /><em>app/code/core/Mage/</em> 以下のディレクトリにあるファイルのうち修正を加えたいファイルを、<em>app/code/local/Mage/</em> 以下のディレクトリに、ディレクトリ構造を保ったままコピーして修正してください。</p>
<h4>受注表示&nbsp;</h4>
<p><img src="http://www.cherrypieweb.com/weblog/img/technical/noshi-02.jpg" alt="のし-管理画面-受注表示" width="680" /></p>
<p><em>app/code/core/Mage/Adminhtml/Block/Sales/Order/View/Giftmessage.php</em> を、<em>app/code/local</em>にコピーして修正します。</p>
<p>関数からの戻りで、値を代入させないようにします。<br />安全のために returnを置き換えていますが、if文ごと削除しても問題ないかもしれません。&nbsp;</p>
<pre class="prettyprint">public function getDefaultSender() {
&nbsp;&nbsp;&nbsp;&nbsp;if(!$this-&gt;getEntity()) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return '';
&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;if($this-&gt;getEntity()-&gt;getOrder()) {
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $this-&gt;getEntity()-&gt;getOrder()-&gt;getCustomerName();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return '';
&nbsp;&nbsp;&nbsp;&nbsp;}

//&nbsp;&nbsp;return $this-&gt;getEntity()-&gt;getCustomerName();
&nbsp;&nbsp;&nbsp;&nbsp;return '';
&nbsp;&nbsp;&nbsp;&nbsp;}

public function getDefaultRecipient() {
&nbsp;&nbsp;&nbsp;&nbsp;if(!$this-&gt;getEntity()) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return '';
&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;if($this-&gt;getEntity()-&gt;getOrder()) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ($this-&gt;getEntity()-&gt;getOrder()-&gt;getShippingAddress()) {
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $this-&gt;getEntity()-&gt;getOrder()-&gt;getShippingAddress()-&gt;getName();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return '';
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;} else if ($this-&gt;getEntity()-&gt;getOrder()-&gt;getBillingAddress()) {
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $this-&gt;getEntity()-&gt;getOrder()-&gt;getBillingAddress()-&gt;getName();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return '';
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;if ($this-&gt;getEntity()-&gt;getShippingAddress()) {
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $this-&gt;getEntity()-&gt;getShippingAddress()-&gt;getName();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return '';
&nbsp;&nbsp;&nbsp;&nbsp;} else if ($this-&gt;getEntity()-&gt;getBillingAddress()) {
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $this-&gt;getEntity()-&gt;getBillingAddress()-&gt;getName();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return '';
&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;return '';
&nbsp;&nbsp;&nbsp;&nbsp;}
</pre>
<p>あと、受注表示画面で、なぜかギフトメッセージがフォームになっているので、通常のテキスト表示に修正したほうが良いのではないかと思います。<br /> こちらは、下記のファイルをテーマディレクトリにコピーして修正します。<br /> （フォームのままでも特に支障はないので、今回は説明を省きます）</p>
<p><em>app/design/adminhtml/default/default/template/sales/order/create/data.phtml<br /> app/design/adminhtml/default/default/template/sales/order/create/giftmessage.phtml </em></p>
<h4>受注作成</h4>
<p><img src="http://www.cherrypieweb.com/weblog/img/technical/noshi-03.jpg" alt="のし-管理画面-受注作成" width="680" /></p>
<p><em>app/code/core/Mage/Adminhtml/Block/Sales/Order/Create/Giftmessage/Form.php</em> を、<em>app/code/local</em>にコピーして修正します。</p>
<p>関数からの戻りで、値を代入させないようにするのと、テキストエリアをセレクトボックスにする修正です。<br />必須項目にするかどうかも修正しています。&nbsp;</p>
<pre class="prettyprint">public function getDefaultSender() {
&nbsp;&nbsp;&nbsp;&nbsp;if(!$this-&gt;getEntity()) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return '';
&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;if($this-&gt;_getSession()-&gt;getCustomer()-&gt;getId()) {
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $this-&gt;_getSession()-&gt;getCustomer()-&gt;getName();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return '';
&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;$object = $this-&gt;getEntity();

&nbsp;&nbsp;&nbsp;&nbsp;if ($this-&gt;getEntity()-&gt;getQuote()) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$object = $this-&gt;getEntity()-&gt;getQuote();
&nbsp;&nbsp;&nbsp;&nbsp;}

//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $object-&gt;getBillingAddress()-&gt;getName();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return '';
&nbsp;&nbsp;&nbsp;&nbsp;}

public function getDefaultRecipient() {
&nbsp;&nbsp;&nbsp;&nbsp;if(!$this-&gt;getEntity()) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return '';
&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;$object = $this-&gt;getEntity();

&nbsp;&nbsp;&nbsp;&nbsp;if ($this-&gt;getEntity()-&gt;getOrder()) {
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$object = $this-&gt;getEntity()-&gt;getOrder();
&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else if ($this-&gt;getEntity()-&gt;getQuote()){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$object = $this-&gt;getEntity()-&gt;getQuote();
&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;if ($object-&gt;getShippingAddress()) {
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $object-&gt;getShippingAddress()-&gt;getName();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return '';
&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;else if ($object-&gt;getBillingAddress()) {
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return $object-&gt;getBillingAddress()-&gt;getName();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return '';
&nbsp;&nbsp;&nbsp;&nbsp;}

&nbsp;&nbsp;&nbsp;&nbsp;return '';
&nbsp;&nbsp;&nbsp;&nbsp;}

public function _prepareForm() {
・・・
&nbsp;&nbsp;&nbsp;&nbsp;'label' =&gt;  Mage::helper('sales')-&gt;<del>__('From'),</del>__('Noshi From'),
&nbsp;&nbsp;&nbsp;&nbsp;<del>'required' =&gt;  $this-&gt;getMessage()-&gt;getMessage() ? true : false</del>'required' =&gt;  false
・・・
&nbsp;&nbsp;&nbsp;&nbsp;'label' =&gt;  Mage::helper('sales')-&gt;<del>__('To'),</del>__('Noshi Title'),
・・・
&nbsp;&nbsp;&nbsp;&nbsp;$fieldset-&gt;addField('message', 'select',
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'name'      =&gt;  $this-&gt;_getFieldName('message'),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'label'     =&gt;  Mage::helper('sales')-&gt;__('Noshi Message'),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'value'     =&gt;  $this-&gt;_getFieldName('message'),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'values'    =&gt;  array(
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array('label' =&gt; 'なし', 'value' =&gt; ''),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array('label' =&gt; '紅白蝶結び', 'value' =&gt; '紅白蝶結び'),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array('label' =&gt; '紅白結び切り', 'value' =&gt; '紅白蝶結び切り'),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array('label' =&gt; '弔事', 'value' =&gt; '弔事')
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;),
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'onchange'  =&gt;  'giftMessagesController.toogleRequired(\'' . $this-&gt;_getFieldId('message')
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.  '\', [\'' . $this-&gt;_getFieldId('sender')
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.  '\', \'' . $this-&gt;_getFieldId('recipient') . '\']);'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;)
&nbsp;&nbsp;&nbsp;&nbsp;);
</pre>
<p>以上で、のし機能が実現できます。</p>
<p>本来なら、エクステンションを作るべきなのですが、既存の機能を生かしてちゃちゃっと作るのもありですよね。</p>]]>
        

    </content>
</entry>

</feed>

