お仕事」タグアーカイブ

Shopifyに独自の入力項目を追加する方法(フォーム項目、ファイルアップロード機能)

記事を読む前に…。
実はこの記事の文章書いたの、一年以上前でした。
ずっとEvernoteに眠っておりました…。
少し情報が古いかもしれないけど、まぁ使えるんじゃないかな。
アップデートすることもあるかも。

Shopifyの商品に、独自で入力欄を追加して欲しいという要望があったので忘備録だよー。
今回は通常のテキストボックスなんかのフォーム項目と、ファイルアップロード機能を追加しています。
ファイルアップロードが曲者だけど、意外となんとかなる。
さあいってみましょう。

まずは商品ページ用にオリジナルのテンプレートを追加。

  1. テーマのtemplates/product.liquidを複製
  2. 複製したファイル名をproduct.hoge.liquidに変更
  3. 作ったファイルを開いて、「{% section ‘product-template’ %}」を検索
  4. 「{% section ‘product-hoge-template’ %}」に変更して保存
  5. テーマのsections/product-template.liquidを複製
  6. 複製したファイル名をproduct-hoge-template.liquidに変更

追加するフォーム項目を作るよ。

  1. Line Item Property – Shopify UI Elements Generator にアクセス。Shopify公式のフォーム項目生成ツールだよ。ここで生成できるのは通常のフォーム項目のみ
  2. Set your form field のところで作成したい部品を生成。右のPreviewで実際の表示が確認できるよ
  3. 出来たら下部のGrab your codeにあるコードをコピー

作ったフォーム項目をテンプレートに入れるよ。

  1. さっき作ったsections/product-hoge-template.liquidを開きます
  2. 「type=”submit”」を検索。これがある箇所が「カートに追加」ボタンの場所
  3. ↑より前に、コピーしたコードを追加
  4. (これはオプション)ペーストされたコードはpタグで囲まれてるので、気になる人はdivタグなどに直しておこう

ファイルアップロード機能を追加したい人はさらに下記をどうぞ。

  1. さっき作ったsections/product-hoge-template.liquidを開きます
  2. 「form ‘product’, product, class: form_class 」を検索、テーマによってはHTMLのformタグになってるかも
  3. コード内に「, enctype: ‘multipart/form-data’」を追加。HTMLのformタグになってる場合は「 enctype=”multipart/form-data”」って入れてね。
  4. もしコード内に「novalidate」がある場合はとっておいたほうが良いみたい…。自分が触ったコードにはnovalidateなかったので未確認。
  5. 「type=”submit”」を検索。これがある箇所が「カートに追加」ボタンの場所
  6. ↑より前に、下記のコードを追加。
<div class="line-item-property__field">
    <label for="custom_photo">ほげ</label>
     <input required class="required" id="custom_photo" type="file" name="properties[ほげ]" class="product-form__input">
</div>

上記は必須入力項目になってるので、必須にしなくていい人はinputタグから「required class=”required”」を抜いてちょ。

ここまで出来たら、商品に独自のテンプレートを適用させてみよう。

  1. 修正したテーマをtheme kitなりなんなりでShopifyにアップロードしとく
  2. Shopify管理画面の商品管理から、独自の入力項目を表示させたい商品をクリック
  3. ページ右下の「テーマテンプレート」のドロップダウンから、「product.hoge」を選択
  4. 実際の商品ページに追加した項目が表示されていればOK!

※ファイルアップロードが出来ない場合は記事の最後の方にヒントを書いてみたよ。確認してみてね。

どうせならカートにもカスタマイズ項目の内容を表示したいよね。
さあやってみよう。既に表示されてる人は下記抜かしてOK!

  1. sections/cart-template.liquid を開くよ。ない場合はtemplates/cart.liquidかも。
  2. 「{{ item.product.title }}」で検索。
  3. 検索したコードの下に、下記をコピペしてね
{% assign property_size = item.properties | size %}
{% if property_size > 0 %}
  {% for p in item.properties %}
    {% assign first_character_in_key = p.first | truncate: 1, '' %}
    {% unless p.last == blank or first_character_in_key == '_' %}
      {{ p.first }}:
      {% if p.last contains '/uploads/' %}
        <a class="lightbox" href="{{ p.last }}">{{ p.last | split: '/' | last }}</a>
      {% else %}
        {{ p.last }}
      {% endif %}
      <br>
    {% endunless %}
  {% endfor %}
{% endif %}

修正したテーマをアップロードして表示確認してみよう。
これでカートにも入力した項目が表示されているはず。やったね!

さらにさらに、お客さんとスタッフに送られる購入通知メールにもカスタマイズした内容を表示させちゃうよ!

  1. 管理画面から「設定>通知」を開く。
  2. 注文管理の注文の確認(一番上)を開くよ。これがお客さんに送られるメール。
  3. メール本文 (HTML)内を「{{ line.title }}」で検索。表示されない場合はカギカッコをとってみたりしてみてね。 
  4. 検索したコードの下に、下記をコピペしてね。
<span class="order-list__item-variant">
{% for p in line.properties %}
    {% unless p.last == blank %} / {{ p.first }} :
        {% if p.last contains '/uploads/' %}
            <a href="{{ p.last }}">{{ p.last | split: '/' | last }}</a>
        {% else %}
            {{ p.last }}
        {% endif %}          
    {% endunless %}
{% endfor %}
</span><br/>

保存して、もう一つスタッフに送られるメールも直すよ。

  1. 管理画面から「設定>通知」を開く。
  2. スタッフ注文通知の新しい注文を開くよ。
  3. 上記同様メール本文 (HTML)内を「{{ line.title }}」で検索。みつけたらすぐ下に同じコードをコピペしよう。

保存したら、実際にテスト注文をしてみよう。
メール内にカスタムで追加した内容が表示されてればおっけー!

ちなみに、Shopifyにファイルアップロード機能を追加しても、特に追加料金はかからないみたい。
有料アプリで対応するとなると結構な月額費用が取られちゃうので、できればコードで解決してあげれると良いよね。

ファイルアップロードが出来ない場合

ファイルアップロードの項目は表示されているのに、アップロードされていないっぽい場合。商品をカートに入れる動作がajaxで制御されていないかな?
ajaxだとファイルアップロードがうまく動かないみたいなので、ページ遷移の方法に変更しよう。
ページ遷移への変更方法はテーマによってまちまちだと思うけど、管理人の使っていたテーマは管理画面のテーマカスタマイズから変更できた。
theme.js内のajax制御をコメントアウトしたら出来たって報告も見つけたので、参考にしてみてー(この記事最後で紹介している参考サイト一覧の、最後のサイトだよ)。

参考にさせていただいたサイト

日本語で画像つきで詳しく解説してくれているサイト。ほんっとありがとうございます!
Shopifyの商品ページにカスタム内容の入力フォームを追加する | グラフィックデザイナー奮闘記
Shopifyの商品ページにデータアップロード用のボタンを用意する | グラフィックデザイナー奮闘記

Shopify公式が解説しているカスタマイズ方法、懇切丁寧
Product pages – Get customization information for products – Shopify Community

ファイルアップロードでひっかかったときに参考にしたShopify Communityのスレ
Customers to upload image – Shopify Community
Solved: Custom File Upload Not Showing In Cart – Shopify Community

海外在住者の日本円での収入について 、税務署に直接聞いてみた。

日本からお仕事をもらえることになりました。
☆-(ノ゚Д゚)八(゚Д゚ )ノイエーイ

そこで気になったのが税金のこと。
豪在住で、日本から、日本円で収入がある場合、税金はどこに払えばいいの…?

適当に豪で払って、また日本で追徴課税とかぜってえ嫌なので(;´Д`)ちゃんと調べることにしましたYO!

とはいえ、ググってみたものの、居住者とか非居住者とかの規定とか、なんか色々難しいのです。
多分自分の場合は豪でタックスリターンすれば大丈夫なんだろうけど、どうも確信が持てない(・ω・`)

そんな訳で、直接日本の税務署に聞いてみることにしました。

地元の税務署の電話番号に国際電話かけて、音声案内に従って操作。
すると、東京国税局の税相談センターみたいなところにつなげてくれました。

電話はすぐつながり、自分の状況を説明(職種や居住歴、日本に帰る予定があるかなど)。
係の方が丁寧に教えてくれましたー。

自分の場合は、どうやら豪で税を支払えば日本で取られることはないみたい。
安心したー!

今まで税務署って、税取りたくてギラギラしてるイメージだったんだけど、すごく優しく教えてくれたし、日本に払う必要がないよって言ってくれたので、なんだかイメージ変わったよw

そんな訳で、海外在住で日本の税で不安な人は、税務署に直接聞いてみるといいんじゃない?というお話でした。
あ、ちなみに私は名乗りませんでした。
向こうからも名前聞かれないし、そのへんでも安心でっせ。

【解決済】ロリポップ!レンタルサーバーでWordPressを使うと、一部独自ドメインのメールが受信できない現象

むっちゃくちゃハマったのに、ググっても同じ現象の人が居なかった。
後世のために残しておくよ!

あ、でも自己責任でおながいします!

■現象

・ロリポでWordPress使用時に、メールの一部が受信できなくなる
・受信できないメールは、WPから送信したメールである
・独自ドメインを使用している
・WP以外からのメールは受信できる。なんだこれ。

■スペック色々

・ロリポのチカッパプラン使用
 (元々チカッパユーザー。チカッパがロリポになる時に自動移行してきました)
・ドメインはムームードメイン使用
・WPは現最新版の3.3.2
・メールを送信するプラグインは、Contact Form 7。

■試したこと

・タイトルが長すぎてメールのエンコード時にうんたらかんたらでエラーになる…という書き込み発見
 →Contact Form 7でタイトルを激短く+英数字のみにしてみたけどダメ
 
・ロリポの迷惑メール設定とかで弾かれてる?
 →ユーザーページからメール設定確認した。異常なし。
 →念のため設定しなおしたけどダメ。

・もしかして独自ドメイン以外にもメール送れないんじゃね?
 →あっさり送れた。ダメなのは独自ドメインのみ。

・メール受信にIMAP使ってる。もしかしてメールサーバーの容量オーバー?
 →ハンパなく容量余ってた。容量オーバーの線は無いな。
 
・メーラーにThunderbird使ってるけど、メーラーの設定がおかしいのかな?
 →ロリポからWEBメールで確認してもやっぱり受信しない。

・まさかとは思うけど、迷惑メールフォルダには入ってないよね…
 →やっぱり入ってなかった

・元々チカッパサーバーを使っていたが、数カ月前にロリポに移された。このせい?
 →わからん…。
 
・関係ないとは思うけど、DNSとかネームサーバーとか関連…?
 →今まで”ロリポ(チカッパから移行した人用)”の設定になっていたけど、”ムームーDNS”に変更。
 →数日待たないと結果がわからん_ノ乙(、ン、)_

・エラーログとか見てみるか…
 →メールサーバーのログが管理画面から見れない_ノ乙(、ン、)_

■原因と対応

よく考えたら、WordPressに入れているWordpress Backup、WP-DBManagerもメール送信するプラグイン。

・この2つからもメール送信テストしてみる
 →独自ドメイン:送れない
 →外部ドメイン:送れる

ってことは、WordPress自体の問題ってこともありうる…?

・WordPress自体の設定で、送信サーバーを設定できる?
 →できない

それならば、プラグイン使って無理やりWordPressの送信サーバー設定しちゃうぞ☆ミ

参考サイト:

WordPressから外部に通知メールを送る

WordPressから外部SMTPを使う

上記サイトを見て、ダメ元で「Cimy Swift SMTP」プラグインをインスコ。設定。
できたー!!!!!

SMTPサーバーの設定が何かおかしかったのねー!
とりあえず一安心(;´Д`)

■残されている問題

・Contact Form 7では無事独自ドメインにメール送信できたけど、WP-DBManagerではダメなまんま…_| ̄|○
・Wordpress Backupはシステムが定期的にメールを送っていて手動では送れず、現状動作確認できず。

まぁとにかくContact Form 7が動けばいいんです!

あーめっちゃ疲れた…

ご報告が遅れましたが、名刺作りました。

ものすごいご報告が遅れましたね…

載せる内容やら、業者やらでずっとうだうだ悩んでた名刺、とうとう作りました。

載せる内容ですが、結局すっごくシンプルにしちゃいました。
屋号、業務内容、名前、メアド、WEBサイト、携帯番号だけです。
あとABNくらいは載せても良かったかな…。
住所は引っ越すおそれがあるので載せず。
FAXと家電は持ってないので載せず(あれば載せてたかも)。

デザインは自分で。
ダークグレーとライム色を使って、シンプル&カッチョよく作りましたよー。
パッと見、完全に女性の名刺ではないですww
デザイン的に男性ウケするだろうとは思ってたんですが、やっぱり反応良かったですねー。
でも、意外と女性にもウケてたので☆-(ノ゚Д゚)八(゚Д゚ )ノイエーイ

印刷ですが、結局日本の業者さんに頼みました。
良かったのでご紹介。
SuperPrint

ちょっとした問題が起きてしまい、担当者の方と何度もメールでやり取りをしたのですが、問題解決に向けてあの手この手で尽力していただけました。
メールの返信も早かったですよー!(・∀・)

なにより、オフセット印刷で少量しか刷っていないのに安い!
仕上がりも紙質も、もちろんバッチリでした。
名刺を渡した人からも評判が良いです(´ω`)
次名刺作るときはデザインを変えて作ろうと思っているのですが、きっとまた頼むと思います(・∀・)

残念ながら海外配送には対応されていないので、実家に送ってくれるように頼むとかのワンクッションが必要なのですが…
もし、印刷業者で悩んでる方が居たら、おすすめですよー!

そうそう、クーポンコードをいただきましたので、貼っときますね。

クーポンコード : 93239831

頼むときに5%オフになりますので、よろしければどうぞ(´ω`)

名刺のこと

ABN取った時から、名刺どうしようかなー、と迷い続けています。
早4ヶ月目。
そろそろどうにかせねば…。

迷ってることその1:業者の選択

ここがいいかなぁ、っていうのが2箇所ほどあるんですよ。

saltprint
saltprintはオーストラリアの会社で、$55で250枚フルカラー、デザインは自前ので作れるぜ!っていうプランがあるのです。
安いじゃーん、いいじゃーん(・∀・)
サンプルを取り寄せることが出来たので、早速注文。
1週間後くらいに到着。

名刺サンプルたち
色々な紙質、タイプのサンプル名刺が入ってました。
$55のやつはやっぱり安いだけあって、印刷がちょっと…。
紙質、印刷が共にいいのがあったんだけど、$129で500枚フルカラーというお値段設定…。
値段はともかくとして、500枚もいらないお…(´・ω・`)
すぐつくり直すかもしれないのに…。

Vistaprint
Vistaprintは有名ドコロですよね。
日本語サイトもあり、日本からも注文できるし。
使ってる人は結構いるし、なにより安いみたい。
ただ、サービスにいい噂を聞かず…。
いまいち不安なんですよねー(・ω・`)

日本みたく、枚数100枚くらいから注文出来ればいいのになぁ(´・ω・`)
もう日本の業者にお願いしちゃおうかしら…なんてことも思ってます。

迷ってることその2:記載する情報

名前、職業、屋号、携帯番号、メールアドレス、WEBサイトは鉄板として。
Fax番号と住所をどうしようかなーと迷ってます。
載せたほうがいいって事はわかってるんですが…

まず、Fax持ってないし。
以前のエントリでオンラインFaxサービスの事書きましたが、まだFaxを求められたこと無いので契約してないんですよね…(・ω・`)

住所も、来年引っ越しする予定だし…
そもそもオフィス兼自宅だし…

Fax契約するまで名刺作るの待ってたら、いつになるか分かんないし。
かといって今契約するのも無駄になるし…。

いつ作ればいいんだああ!
作る時期が微妙だよおお。・゚・(ノε`)・゚・。

ま、そんな感じで、なかなか踏み切れずにおります。
実は名刺のデザイン自体はもう完成していて、いつでも制作業者に出せる状態なんですよねー…。

今までも何回か名刺交換する機会があったのですが、そこは自分でプリントアウトした名刺で乗り切りました。
といってもねぇ…。
やっぱり自前のプリンタじゃあ、それなりの出来ですからねぇ…。

はやく名刺ほしいよー。
どうしよー。

どなたか、おすすめの業者とかご存知でしたら教えてくださいー・゚・(ノД`)・゚・
日本のでもオーストラリアのでも良いのでー。

やる気のないときにやる気を起こす方法

おなじみライフハッカーさんより。

グズグズ癖を克服しつつある起業家が伝授する、グズグズ対処法

グズグズしてしまう理由は、必ずしも、やる気がないからでも、気合が足りないからでもありません。むしろ、「完璧にやりたい」という思いが強すぎるがゆえ、手をつけられなくなってしまうこともあります。

うあー。
自分の場合、まさにこれだー_| ̄|○

リンク元には、グズグズ癖解消する4つの方法が載っています。
(そのうちのひとつは、さくさくタスクをこなす方法で紹介した「タイマーかけて、よーいどん」方式です(・∀・))

その他に実践中の、私なりの解消法を以下に記載。
続きを読む

よりよい提案をするためのコツ

星の数ほどある業者の中から私を選んでくれたお客さん。
お金を払ってお仕事を頼んでくれるんだから、お客さんのためにできることをしたい、と思ってます。

お客さんの話を聞いていると、「コレかっこいい!これやりたい!」「TVで見たんだけど(ry」「雑誌で(ry」って要望があることがしばしば。
それがお仕事(自分の場合はWEBサイト)にとって、良い効果が出るものなら無問題。
でも、そうじゃないことも多くあります。

そんな時、プロの目から見た「本当に今やるべきこと」をやれるように説得するためのポイントが、ライフハッカーに載ってました。

安易な妥協にサヨナラ! 賢くポジティブに「No」を言うための12のポイント

以下、自分にとって大事だなーと思ったポイントをピックアップ。

1: 成功事例を引用する
相手の要求をそのまま実行するよりも、別の方法やアプローチのほうがベターであることを、実際に後者を採用して成功した事例を挙げて、説明しましょう。相手が考えていなかった視点や情報を与えることで、よりよい選択ができるように促すことができます。

経験に基づいておすすめするっていうのは説得力ありそう(・∀・)

2: データで根拠を示す
「No」という自分の主張を、裏付けるデータを示しましょう。客観的な事実を示せば、相手も折れやすくなります。

これは、ずっと昔に元上司からも教えてもらったポイント。
「結構アップしますよ」って言われるより、「統計だと30%UPしています」って言われる方がイメージしやすい。
知ってはいるんだけど、数字覚えるの苦手でなかなかできないんだよな…(´・ω・`)
メモでも持ち歩こうかしらん。

4: 「誰のために何をするのか?」を明らかにする
最終的に目指している成果は「誰が何をするためのものなのか?」を改めて明らかにし、両者の認識を擦り合わせましょう。たとえば、ソーシャルメディアサービスの構築プロジェクトであれば、どんなユーザに何をさせたいのか? どう使わせ、どのような利便性を提供したいのか? を明確にした上で、やるべきか? やらないべきか? を判断するよう、導くのです。

これよ!まさにこれ!
お客さんが陥りやすいところなんですよね…。
誰に取って居心地がいいサイトを作れば、売上が増えるのか。

せっかくだから、Win-Winの関係でいきたいですよね。

…ん?
Win-Winって死語?(´∞`;)

さくさくタスクをこなす方法

つい数日前から実践してる方法が自分に超合ってるっぽいので書いとく。

まずはタスクリストの作り方から。

タスクリストの媒体

自分はタスクは紙に書く、またはPCのメモ帳に書くようにしてる。
オンラインのツール(Remember the milkとか)も何度か検討したけど、今んとこ使ってませぬ。
スマートフォンも持ってないし。

所要時間を書く

偉大なるブログ、百式さんに書いてあったこの方法を実践するようにした。
あなたのTo Doリストをぐっと改善してくれる「time tagging」のすすめ

■ time-taggingとは何か?

「time-tagging」とはいっても使い方は簡単。To Doの横に作業見積もり時間を書いておくだけです。時間でもってtag付けしておく、ということですね。
つまり、
請求書を書く
ではなくて、
請求書を書く(10)
という感じですね。

ちゅーことですよ。
所要時間が書いてあるだけで「あ、これ15分で終わるならやっちゃえ。」って気持ちになるから不思議。

で、次が感心ポイント。

■ 5-60ルール

「time-tagging」する際には「5-60ルール」を守りましょう。そのルールとは・・・。
5分以内で完了するTo Doは書き出すよりも今やる。60分以上かかるTo Doは大きくて手がつけにくいので細かいタスクに分割する。
こうすることでTo Doリストには5~60のtime tagしかつかなくなり、ぐっと使いやすくなりますよね。なーるほど。

なーるほどですよ。
確かに、60min以上かかるものは「タスク」という感じではないよね。
これはタスクリストを作る上でも役に立つハックです。

続きを読む