通販サイトの作成ログ

通販サイトでいじったメモログみたいなものだとお考えください。
質問もどうぞ。わかる範囲内でしたらお答えします。

自動カナ入力

自動カナ入力
個人情報入力欄だと外部リンクが使えないことが多いので
jquery-1.10.1.min.jsjquery.autoKana.jsは内部リンクにしてください(これに気づくのに1日半かかった…)
katakanaはtrue:でカタカナ、false:でひらがな(デフォルト)
参照:https://github.com/harisenbon/autokana

----------------html部分-----------------------
名前<input id="user_name1" type="text"/>
カナ<input id="user_name_kana1" type="text"/>
-----------------------------------------------

----------------script&CSS部分-------------------
<script src="jquery-1.10.1.min.js"></script>
<script type="text/javascript" src="jquery.autoKana.js"></script>
<script type="text/javascript">
  $(document).ready(
    function() {               
      $.fn.autoKana('#user_name1', '#user_name_kana1', {katakana : true});
    });
</script>
----------------------------------------------

スライドサイドバー

スライドサイドバー(フッターの上で止まるやつ)
スライドさせたはいいがフッターと被ったので。
参照:http://select-aster.com/web/auto-tracking-sidebar/

----------------html部分-----------------------
<div  id="aside2">
スライドさせたい要素
</div>
-----------------------------------------------

----------------script&CSS部分-------------------
<script src="jquery.min.js"></script>
<script type="text/javascript">
<!--
$(function(){
    var target = $('#aside2');
    var footer = $('#footer')
    var targetHeight = target.outerHeight(true);
    var targetTop = target.offset().top;
    $(window).scroll(function(){
        var scrollTop = $(this).scrollTop();
        if(scrollTop > targetTop){
            var footerTop = footer.offset().top;            
            if(scrollTop + targetHeight > footerTop){
                customTopPosition = footerTop - (scrollTop + targetHeight)
                target.css({position: "fixed", top:  customTopPosition + "px"});
            }else{
                target.css({position: "fixed", top: "10px"});
            }
        }else{
            target.css({position: "static", top: "auto"});
        }
    });
});
-->
</script>
<style>
div#aside2.fixed {
    position:fixed;
    left:0px;
    top:10px;
    z-index: 1;
}
</style>
----------------------------------------------

gotopボタン

改良点ありありですが途中まで。
ちょいジャンプして引っ込むやつ
某幼稚園参照

----------------html部分-----------------------
<p id="gotop2" style="z-index: 1;bottom: -120px;">
<a href="#header" title="" class="btnTop" ><img src="go_to.png" alt=""/ ></a>
</p>
-----------------------------------------------

----------------script&CSS部分-------------------
<script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript" src="jquery.easing.1.3.js"></script>
<script>
$(function() {
    var showFlug = false;
    $('#gotop2').css('bottom', '-120px');
    var showFlug = false;
    //スクロールが400に達したらボタン表示
    $(window).scroll(function () {
        if ($(this).scrollTop() > 400) {
            if (showFlug == false) {
                showFlug = true;
                $('#gotop2').stop().animate({'bottom' : '0px'}, 300);
            }
        } else {
            if (showFlug) {
                showFlug = false;
                $('#gotop2').stop().animate({'bottom' : '-200px'}, 200);
            }
        }
    });
    $('.btnTop').click(function () {
        $('#gotop2').animate({'bottom': '30px'}, 400, 'easeOutBack');
        $('#gotop2').animate({'bottom': '-200px'}, 200, 'easeOutBack');
        $('body,html').delay(200).animate({
            scrollTop: 0
        }, 10, 'easeInOutCirc');
        return false;
    });
});
</script>
<style>
#gotop2 {
    position:fixed;
    bottom: 0px;
    right: 0px;
  z-index:1;
}
</style>
----------------------------------------------

lazyloadの設定

lazyload(遅延読込)の設定
画面表示されたら画像を読み込むようにしてサイトの読み込み時間を減らすというもの

http://blog.chiyopen.com/lazyload/
を参考に。

PC用

https://github.com/tuupola/jquery_lazyload
からjquery.lazyload.jsをとってきて任意のサーバーの場所に置く。

ヘッダーに

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

がある状態で
フッター以下に

<script type="text/javascript" src="jquery.lazyload.js"></script>
<script type="text/javascript">
<!--
$( "img.lazy" ).lazyload(
{
    threshold: 200,            // 200pxの距離まで近づいたら表示する
    effect: "fadeIn",        // じわじわっと表示させる
    effect_speed: 1000 ,
});
-->
</script>

を追加しHTMLの画像を

<img src="dummy.png" data-original="img.jpg" class="lazy" alt="" width="px" height="px" />

に変更で遅延読み込みできるようになった。dummy.pngは灰色の画像でも透明の画像でも置き換えてください。
じんわりimg.jpgが表示されます。
場所のパスはちゃんと合わせてくださいね。(js/jquery.lazyload.jsなど)

スマホ用
色々試して現在なっている状態だと
http://jquery.eisbehr.de/lazy/
よりjquery.lazy.min.jsをとってきて任意のサーバーの場所に置く。
ヘッダーに
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.lazy.min.js"></script>
<script type="text/javascript">
<!--
$(function() {
    $('.lazy').lazy({
        effect: 'fadeIn',
        threshold: 100,
        effectTime: 1000,
    });
});
-->
</script>
<style>
img.lazy {
   width: 100%;
   height: auto;
   display: block;
}
</style>

を追加してHTMLの画像を

<img class="lazy" width="100%" height="auto" data-src="img.jpg" alt=""/>

でスマホも動いた。
ただ初期表示に一瞬altが出てきたのでloadingも追加した
参考:http://sterfield.co.jp/designer/jquery%E3%81%A7%E7%B0%A1%E5%8D%98%E3%81%AAloading%E7%94%BB%E9%9D%A2%E3%82%92%E4%BD%9C%E3%82%8B-3/

<script type="text/javascript">に

$(window).load(function(){
    $(".loadingWrap").fadeOut();
});

を追加してCSS(<style></style>)に

html, body{
    width: 100%;
    height: 100%;
}
.loadingWrap{
    width: 100%;
    height: 100%;
}
.loadingWrap img{
}

を追加。
bodyの最初に

<div class='loadingWrap'></div>

を追加してOK。
<div class='loadingWrap'><img src="img.gif"/></div>
とするとloading画像も設定できる。

こんなとこです。

サイトの高速化

サイトページの高速化について
長所
・読込待ちが減り、客足離れが減る
・サーバーへの負担が減る
・高速化ページがSEOの評価にも効果があるとのこと
なのである程度実装。

まず
https://developers.google.com/speed/pagespeed/insights/
で変更点確認

・スクロールせずに見えるコンテンツのレンダリングをブロックしている JavaScript/CSS を排除する
→javaは<script defer type="text/javascript" src="/js/default.js">のようにする
※jquery.jsはつけないほうがいい
CSSはファーストビュー用のCSSとその他CSSを作ってその他CSSをフッター以下に設置

・ブラウザのキャッシュを活用する
→.htaccessファイルに次を追加
<ifModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 7 days"
ExpiresByType text/html "access plus 10 seconds"
ExpiresByType image/jpg "access plus 7 days"
ExpiresByType image/jpeg "access plus 7 days"
ExpiresByType image/gif "access plus 7 days"
ExpiresByType image/png "access plus 7 days"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/x-javascript "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
ExpiresByType application/x-javascript "access plus 1 month"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"
</ifModule>

・画像を最適化する
→画像圧縮で置き換え
https://tinypng.com/

http://www.jpegmini.com/main/shrink_photo
で圧縮

・JavaScriptを縮小する
・HTML を縮小する
・CSS を縮小する
http://refresh-sf.com/で圧縮

・圧縮を有効にする
→.htaccessファイルに次を追加
<IfModule mod_deflate.c>
  SetOutputFilter DEFLATE
 
  # Mozilla4系、IE7、8の古いブラウザでは無効にする
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch \bMSIE\s(7|8) !no-gzip !gzip-only-text/html
 
  # GIF、JPEG、PNG、ICOなど圧縮済みの画像は再圧縮しない
  SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ico)$ no-gzip dont-vary
  # プロクシサーバが間違ったコンテンツを配布しないようにする
  Header append Vary Accept-Encoding env=!dont-vary
 
  # 各コンテンツを圧縮する設定を記述
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/xml
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE text/js
  AddOutputFilterByType DEFLATE image/svg+xml
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/atom_xml
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE application/x-httpd-php
  AddOutputFilterByType DEFLATE application/x-font-ttf
  AddOutputFilterByType DEFLATE application/x-font-woff
  AddOutputFilterByType DEFLATE application/x-font-opentype
  AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
</IfModule>

ぐらいだったと思う。
あとは下記サイトを参考

表示速度改善!SEOに効果的な必ずやるべきサイト高速化手法40選
http://artroot.jp/article/201403221

今すぐやりたい!サイトの表示速度を改善して利益を増やす10の方法
http://jb-labo.com/speed-up-your-website/

それと
https://gtmetrix.com/
でも評価を行って色々出てたのでとりあえず
.htaccessファイルに次を追加した
<IfModule mod_headers.c>
Header set Connection keep-alive
</IfModule>
参考:http://thk.kanzae.net/net/itc/t1544/

ECCUBE→高度な設定のSQL追加

以下の構文で携帯メールかPCメールかの判定ができる
ドメインはどっかで拾ってきた
下の範囲指定の[数字1]に下限、[数字2]に上限を設定で注文番号の範囲指定ができます。

--------------------------------------------------------------------------------------
CASE WHEN o.order_email like '%docomo.ne.jp%'
       OR o.order_email like '%mopera.net%'
       OR o.order_email like '%softbank.ne.jp%'
       OR o.order_email like '%vodafone.ne.jp%'
       OR o.order_email like '%disney.ne.jp%'
       OR o.order_email like '%i.softbank.jp%'
       OR o.order_email like '%ezweb.ne.jp%'
       OR o.order_email like '%uqmobile.jp%'
       OR o.order_email like '%ido.ne.jp%'
       OR o.order_email like '%emnet.ne.jp%'
       OR o.order_email like '%emobile.ne.jp%'
       OR o.order_email like '%emobile-s.ne.jp%'
       OR o.order_email like '%ymobile1.ne.jp%'
       OR o.order_email like '%ymobile.ne.jp%'
       OR o.order_email like '%yahoo.ne.jp%'
       OR o.order_email like '%pdx.ne.jp%'
       OR o.order_email like '%willcom.com%'
       OR o.order_email like '%wcm.ne.jp%'
       OR o.order_email like '%y-mobile.ne.jp%' THEN '携帯'
     ELSE 'PC'
     END as "PCor携帯"

FROM
dtb_order AS o

-----範囲指定箇所はここになります-----
WHERE
o.order_id >= [数字1]
AND
o.order_id <= [数字2]
--------------------------------------

ECCUBE→高度な設定のSQL(バージョンアップ)説明付

色々いじって最終的にこうなった。
ECCUBEのSQLは現在PostgreSQL 9.3.11となっているためこれに対応
住所1と住所2はマクロでの比較用
こちらとしては郵便番号対応の住所1と対応範囲外の住所2に分けたほうがいいので
下に説明なしがありますので使用する際はそちらをご利用ください
またECCUBE→高度な設定において最初のSELECTが省略されています。
他の場所で使う場合はSELECTを記入になります。
SELECT部分のas "***",の***は列の項目名になります。

--------------------------------------------------------------------------------------


REPLACE(substring(CAST(o.create_date AS varchar) from 1 for 10),'-','/') as "受付日",
→購入日時を文字列にキャストして1文字目から10文字取り出し'-'を'/'に置換
concat(o.order_name01 , ' ' , o.order_name02) as "氏名",
→購入者の苗字と名前を結合
concat(o.order_kana01 , ' ' , o.order_kana02) as "氏名カナ",
→購入者のカナの苗字と名前を結合
CASE o.order_sex WHEN '1' THEN '男' WHEN '2' THEN '女' END as "性別",
→パターン分岐、1の時'男'2の時'女'
concat(o.order_tel01 , '-' , o.order_tel02 , '-' , o.order_tel03) as "電話番号",
→購入者の電話番号を'-'つなぎで結合
REPLACE(substring(CAST(o.order_birth AS varchar) from 1 for 10),'-','/') as "生年月日",
→購入者の誕生日より1文字目から10文字取り出し'-'を'/'に置換
concat(o.order_zip01 , '-' , o.order_zip02) as "郵便番号",
→購入者の郵便番号を'-'つなぎで結合
concat(z1.state,z1.city,z1.town) as "住所1",
→購入者の住所を結合表記(郵便番号検索からわかる分)
concat(p1.name,o.order_addr01,o.order_addr02) as "住所2",
→購入者の住所を結合表記(そのまんま)
substring(CAST(o.create_date AS varchar) from 12 for 5) as "時間帯",
→購入日時を文字列にキャストして12文字目から5文字取り出し
o.deliv_fee as "送料",
→送料
o.payment_method as "支払方法",
→支払方法
s.shipping_time as "配送時間帯",
→配送時間帯
'' as "配送",
→空白列
REPLACE(substring(CAST(s.shipping_date AS varchar) from 1 for 10),'-','/') as "配送指定日",
→配送指定日を文字列にキャストして1文字目から10文字取り出し'-'を'/'に置換
concat(o.customer_id , ' ' , o.payment_method) as "備考",
→備考欄として会員ID' '支払い方法を結合して記入
d.quantity as "商品数",
→商品数
concat(s.shipping_name01 , ' ' , s.shipping_name02) as "配送先名",
→配送先の苗字と名前を結合
concat(s.shipping_kana01 , ' ' , s.shipping_kana02) as "配送先名フリガナ",
→配送先のカナの苗字と名前を結合
concat(s.shipping_tel01 , '-' , s.shipping_tel02 , '-' , shipping_tel03) as "配送先電話番号",
→配送先の電話番号を'-'つなぎで結合
concat(s.shipping_zip01 , '-' , s.shipping_zip02) as "配送先郵便番号",
→配送先の郵便番号を'-'つなぎで結合
concat(z2.state,z2.city,z2.town) as "配送先住所1",
→配送先の住所を結合表記(郵便番号検索からわかる分)
concat(p2.name,s.shipping_addr01,s.shipping_addr02) as "配送先住所2",
→配送先の住所を結合表記(そのまんま)
o.order_id as "注文番号",
→注文番号
d.product_name as "商品名"
→商品名

FROM
→どこのデータベースを使うかの宣言
dtb_order AS o
→dtb_order(注文者テーブル)を'o'としてベースにする
LEFT JOIN dtb_order_detail AS d ON o.order_id = d.order_id
→dtb_order_detail(購入情報テーブル)を'd'としてくっつける。その際の条件はdtb_orderのorder_idとdtb_order_detailのorder_idを同じにする
LEFT JOIN dtb_shipping AS s ON o.order_id = s.order_id
→dtb_shipping(買い物テーブル)を's'としてくっつける。その際の条件はdtb_orderのorder_idとdtb_shippingのorder_idを同じにする
LEFT JOIN mtb_pref AS p1 ON p1.id = o.order_pref
→p1のテーブルをmtb_pref(県名テーブル)とし、p1のIDを購入者のpref(県名番号)と同じにする
LEFT JOIN mtb_pref AS p2 ON p2.id = s.shipping_pref
→p2のテーブルをmtb_pref(県名テーブル)とし、p3のIDを配送先のpref(県名番号)と同じにする
LEFT JOIN mtb_zip AS z1 ON z1.zipcode = concat(o.order_zip01 , o.order_zip02)
→mtb_zip(郵便情報テーブル)をz1とし、z1のzipcodeを注文者の(7桁に結合した)郵便番号と同じにする
LEFT JOIN mtb_zip AS z2 ON z2.zipcode = concat(s.shipping_zip01 , s.shipping_zip02)
→mtb_zip(郵便情報テーブル)をz2とし、z2のzipcodeを配送先の(7桁に結合した)郵便番号と同じにする

WHERE
→条件の宣言?
o.order_id >= 7780
→注文番号が7780以上

ORDER BY
→ソートを掛ける際の宣言
o.order_id
→注文情報の列を選択。昇順させる

--------------------------------------------------------------------------------------

まあここからマクロで調整になるんですけどね

以下説明なし版



--------------------------------------------------------------------------------------
REPLACE(substring(CAST(o.create_date AS varchar) from 1 for 10),'-','/') as "受付日",
concat(o.order_name01 , ' ' , o.order_name02) as "氏名",
concat(o.order_kana01 , ' ' , o.order_kana02) as "氏名カナ",
CASE o.order_sex WHEN '1' THEN '男' WHEN '2' THEN '女' END as "性別",
concat(o.order_tel01 , '-' , o.order_tel02 , '-' , o.order_tel03) as "電話番号",
REPLACE(substring(CAST(o.order_birth AS varchar) from 1 for 10),'-','/') as "生年月日",
concat(o.order_zip01 , '-' , o.order_zip02) as "郵便番号",
concat(z1.state,z1.city,z1.town) as "住所1",
concat(p1.name,o.order_addr01,o.order_addr02) as "住所2",
substring(CAST(o.create_date AS varchar) from 12 for 5) as "時間帯",
o.deliv_fee as "送料",
o.payment_method as "支払方法",
s.shipping_time as "配送時間帯",
'' as "配送",
REPLACE(substring(CAST(s.shipping_date AS varchar) from 1 for 10),'-','/') as "配送指定日",
concat(o.customer_id , ' ' , o.payment_method) as "備考",
d.quantity as "商品数",
concat(s.shipping_name01 , ' ' , s.shipping_name02) as "配送先名",
concat(s.shipping_kana01 , ' ' , s.shipping_kana02) as "配送先名フリガナ",
concat(s.shipping_tel01 , '-' , s.shipping_tel02 , '-' , shipping_tel03) as "配送先電話番号",
concat(s.shipping_zip01 , '-' , s.shipping_zip02) as "配送先郵便番号",
concat(z2.state,z2.city,z2.town) as "配送先住所1",
concat(p2.name,s.shipping_addr01,s.shipping_addr02) as "配送先住所2",
o.order_id as "注文番号",
d.product_name as "商品名"

FROM
dtb_order AS o
LEFT JOIN dtb_order_detail AS d ON o.order_id = d.order_id
LEFT JOIN dtb_shipping AS s ON o.order_id = s.order_id
LEFT JOIN mtb_pref AS p1 ON p1.id = o.order_pref
LEFT JOIN mtb_pref AS p2 ON p2.id = s.shipping_pref
LEFT JOIN mtb_zip AS z1 ON z1.zipcode = concat(o.order_zip01 , o.order_zip02)
LEFT JOIN mtb_zip AS z2 ON z2.zipcode = concat(s.shipping_zip01 , s.shipping_zip02)
WHERE
o.order_id >= 7780
ORDER BY
o.order_id

ECCUBE→高度な設定

SQLはじめて試行錯誤でこうなった。

--------------------------------------------------------------------------------------

dtb_shipping.create_date as "受付日",
concat(dtb_order.order_name01 , ' ' , dtb_order.order_name02) as "注文者氏名",
concat(dtb_order.order_kana01 , ' ' , dtb_order.order_kana02) as "注文者注文者カナ",
dtb_order.order_sex as "注文者性別",
concat(dtb_order.order_tel01 , '-' , dtb_order.order_tel02 , '-' , dtb_order.order_tel03) as "注文者電話番号",
dtb_order.order_birth as "注文者生年月日",
concat(dtb_order.order_zip01 , '-' , dtb_order.order_zip02) as "注文者郵便番号",
concat(dtb_order.order_pref,dtb_order.order_addr01) as "注文者住所1",
dtb_order.order_addr02 as "注文者住所2",
dtb_order.deliv_fee as "送料",
dtb_order.payment_method as "支払方法",
dtb_order_detail.quantity as "商品数",
concat(dtb_shipping.shipping_name01 , ' ' , dtb_shipping.shipping_name02) as "配送先名",
concat(dtb_shipping.shipping_kana01 , ' ' , dtb_shipping.shipping_kana02) as "配送先名フリガナ",
concat(dtb_shipping.shipping_tel01 , '-' , dtb_shipping.shipping_tel02 , '-' , shipping_tel03) as "配送先電話番号",
concat(dtb_shipping.shipping_zip01 , '-' , dtb_shipping.shipping_zip02) as "配送先郵便番号",
concat(dtb_shipping.shipping_pref,dtb_shipping.shipping_addr01) as "配送先住所1",
dtb_shipping.shipping_addr02 as "配送先住所2",
dtb_order_detail.product_name as "商品名"

FROM
dtb_shipping,dtb_order,dtb_order_detail

WHERE
dtb_order.order_id=dtb_shipping.order_id
AND
dtb_order.order_id=dtb_order_detail.order_id

--------------------------------------------------------------------------------------

一応これで注文者情報と配送先の情報と注文内容が把握できるかな

accessが難しい

VBA初挑戦になるがデータベースがフォームで表示されない・・・((=・ω・=))

年月を選択して該当する売上を出すフォームを試しで作ろうとしたが難しい・・・

データをクエリに変換してつなげるとこまで出来たが連動できない((=;ω;=))

仕事開始&ECcube中心に変わりました

よりPHP寄りになりました^^

楽天におけるにぎわいツール

完成したにはしたが各方面から訴えられそうなのでヒントを。

にぎわいツールinカラーミー

をベースに

楽天におけるPHP、API2

楽天におけるPHP、API3

を組み込む形です。

if(empty($obj_items[$i]->packageModel->itemModel->itemNumber)){
  $obj_items2 = $obj_items[$i]->packageModel->itemModel;
をどこかに取り入れて適宜修正です。

ちなみに、これだと8件までしか表示できませんのでご注意を。

楽天におけるPHP、API3

楽天におけるPHP、API2の続き
受注APIの中身の確認方法

JSONで格納されているので調べたら出てきた
http://www.proto-star.com/2010/10/04/php%E3%81%A7json%E3%81%AEobject%E3%82%92%E6%89%B1%E3%81%86/

楽天受注APIの中身は前回の処理だとデコード済なので
echo $res->message;
等で表示される。

配列ごとにお客様情報が格納されているので確認する場合は配列設定をする。
$obj_items = $res->orderModel;

で表示には
echo $obj_items[0]->packageModel->itemModel->itemName;
といった形式になる。
$obj_items[0]を$obj_items[1]にすると次の顧客情報となる。

受注APIの中身は整理するとこんな感じ
-------------------------------------------------------------------------------------
{
  ["errorCode"]=> string
  ["message"]=> string
  ["orderModel"]=> array(8) {

  [0]=> object(stdClass)#14 (34) {
    ["asurakuFlg"]=> string
    ["cardStatus"]=> int
    ["carrierCode"]=> int
    ["deliveryModel"]=> object(stdClass)#15 (2) {
      ["deliveryClass"]=> int
      ["deliveryName"]=> string
    ["deliveryPrice"]=> int
    ["emailCarrierCode"]=> int
    ["enclosureDeliveryPrice"]=> int
    ["enclosureId"]=> int
    ["enclosureStatus"]=> int
    ["firstAmount"]=> int
    ["goodsPrice"]=> int
    ["goodsTax"]=> int
    ["isBlackUser"]=> bool
    ["isGift"]=> bool
    ["isGiftCheck"]=> bool
    ["isRakutenMember"]=> bool
    ["mailPlugSentence"]=> string
    ["memo"]=> string
    ["modify"]=> bool
    ["operator"]=> string
    ["option"]=> string
    ["orderDate"]=> string
    ["orderNumber"]=> string
    ["orderType"]=> int
    ["ordererModel"]=> object(stdClass)#16 (17) {
      ["birthDay"]=> string
      ["birthMonth"]=> string
      ["birthYear"]=> string
      ["city"]=> string
      ["emailAddress"]=> string
      ["familyName"]=> string
      ["familyNameKana"]=> string
      ["firstName"]=> string
      ["firstNameKana"]=> string
      ["phoneNumber1"]=> string
      ["phoneNumber2"]=> string
      ["phoneNumber3"]=> string
      ["prefecture"]=> string
      ["sex"]=> string
      ["subAddress"]=> string
      ["zipCode1"]=> string
      ["zipCode2"]=> string
    ["packageModel"]=> object(stdClass)#17 (9) {
      ["basketId"]=> int
      ["deliveryCompanyId"]=> string
      ["deliveryPrice"]=> int
      ["goodsPrice"]=> int
      ["goodsTax"]=> int
      ["itemModel"]=> object(stdClass)#18 (14) {
        ["basketId"]=> int
        ["isIncludedCashOnDeliveryPostage"]=> bool
        ["isIncludedPostage"]=> c
        ["isIncludedTax"]=> bool
        ["itemId"]=> int
        ["itemName"]=> string
        ["itemNumber"]=> string
        ["normalItemModel"]=> object(stdClass)#19 (1) {
          ["inventoryType"]=> string
        ["pageURL"]=> string
        ["pointRate"]=> int
        ["pointType"]=> int
        ["price"]=> int
        ["selectedChoice"]=> string
        ["units"]=> int
      ["postagePrice"]=> int
      ["senderModel"]=> object(stdClass)#20 (12) {
        ["city"]=> string
        ["familyName"]=> string
        ["familyNameKana"]=> string
        ["firstName"]=> string
        ["firstNameKana"]=> string
        ["phoneNumber1"]=> string
        ["phoneNumber2"]=> string
        ["phoneNumber3"]=> string
        ["prefecture"]=> string
        ["subAddress"]=> string
        ["zipCode1"]=> string
        ["zipCode2"]=> string
      ["shippingNumber"]=> string
    ["postagePrice"]=> int
    ["requestPrice"]=> int
    ["seqId"]=> int
    ["settlementModel"]=> object(stdClass)#21 (2) {
      ["cardModel"]=> object(stdClass)#22 (6) {
        ["brandName"]=> string
        ["cardNo"]=> string
        ["expYM"]=> string
        ["installmentDesc"]=> string
        ["ownerName"]=> string
        ["payType"]=> int
      ["settlementName"]=> string
    ["shippingDate"]=> string
    ["shippingTerm"]=> string
    ["status"]=> string
    ["totalPrice"]=> int

  [1]=>
//以下同様
-------------------------------------------------------------------------------------

段差ごとにechoに「->」が必要になります。
intは整数、stringは文字列、boolは成否の表示となります。

以外と早く見つかってよかったー(^^;)

楽天におけるPHP、API2

配列?の中身を見れるまで行けたがここからどうしよう・・・((= ・ω・=))

楽天の受注API確認の最短ルート?

1、楽天のWEB APIサービス→WEB APIサービス、受注・決済・在庫APIメニュー→WEB API サービス申請にてユーザID、店舗URL、認証キーを確保する。

2、楽天の問い合わせでwebAPIのphpのサンプルデータをくださいと質問

3、サンプルデータのsrcフォルダをレンタルサーバに展開(自分はhetemlに置いた)

4、下記URL内のphpを適宜修正してphpファイルを作る
http://blog.livedoor.jp/kmiwa_project/archives/1023183858.html

----------------------------------------------------------------------------------
<?php

require_once("./test/TestDefine.php");
require_once("./api/OrderApiPractice.php");
require_once("./api/impl/OrderApiPracticeBase.php");
require_once("./api/impl/GetOrderPractice.php");
//↑は楽天からサンプルでもらったデータ

//タイムゾーンの設定
date_default_timezone_set('Asia/Tokyo');

//受注検索モデル情報の作成
$orderSearchModel =
array(
'dateType' => 1, //期間検索種別
'startDate' => strtotime("2015-03-01 00:00:00"), //期間FROM
'endDate' => strtotime("2015-03-31 00:00:00"), //期間TO
);
//受注情報取得リクエスト情報の作成
$serReq = array(
'orderSearchModel' => $orderSearchModel //受注検索モデル
);

$api = new GetOrderPractice();

//認証情報の設定
$api->setAuthRequest(
array(
           'authKey'  => 'AUTH_KEY',      // 認証キー
  'shopUrl'   => 'SHOP_URL',       // 店舗URL
  'userName' => 'USER_NAME'));   // ユーザ名

//受注情報取得リクエスト情報の設定
$api->setServiceRequest($serReq);

//API実行
$res = $api->callOrderApi();

print_r($res);

-------------------------------------------------------------------

Fatal errorでnot foundででたらサンプルデータの格納場所が違うみたいなので
ご確認ください。

サンプル少なすぎ・・・

YahooAPI

楽天は情報の選定が難しいため比較的情報の多いYahooAPIから触る。

が、受注APIが申請して時間がかかるためコードをひっぱり出してきても
アクセストークンが取れなかった・・・((=・ω・=))

参考URL
Yahoo!デベロッパーネットワーク:http://developer.yahoo.co.jp/

楽天におけるPHP、API

やろうとしたが自己流はやっぱりきつい
いやわかるがエネルギーが足りない

にぎわいツールいけるのか?

参照
https://webservice.rakuten.co.jp/sdk/php.html

にぎわいツールinカラーミー

axis-blog.comさんのAPIの解説とカラーミーAPIを利用した集客ツール事例のご紹介
http://axis-blog.com/?p=734
を参考ににぎわいシステム?ができるか試していました。

ソースの前半部分はなくなっても大丈夫そうだったので省いて実装
ちなみにcssはhttp://kjsmile.xsrv.jp/app/imaureteru/css/756-real_time.cssを参照
jquery-1.9.1.min.jsファイルはhttp://kjsmile.xsrv.jp/app/imaureteru/js/jquery-1.9.1.min.jsを参照
またアクセストークンはコードをとる時scope=read_salesにて取得してください(これに気付くのに3日かかった・・・orz)
下記ソースの箇所を適宜修正してください(<アクセストークン>など)

--------------------------------------------------------------------

<?php

$request_options = array(
        'http' => array(
            'method'  => 'GET',
            'header'=> "Authorization: Bearer <アクセストークン>\r\n"
        )
    );

$context = stream_context_create($request_options);
$url = 'https://api.shop-pro.jp/v1/sales.json?after=2015-03-01';

$response_body = file_get_contents($url, false, $context);
$response_json = json_decode($response_body, true);

echo $response_body;
print_r($response_json);
echo count($response_json['sales']);
ob_start();

//
cssのURL、jsファイルのURLを入力
echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" style=\"overflow-x:hidden;\">\n<head>\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n<title>イマウレテル!注文実況中継!</title>\n<link rel=\"stylesheet\" type=\"text/css\" href=\"<cssのURL>\"/>\n<script type=\"text/javascript\" src=\"<
jsファイルのURL>\"></script>\n\n";

echo "<script type=\"text/javascript\">\ntimer = setInterval(function(){\n    $(\"tr:last\").children('td').wrapInner('<div />').children().hide();\n    $(\"tr:last\").children('td').children('div').animate({opacity: 0}, 0);\n    $(\"tr:last\").prependTo(\"tbody\");\n    $(\"tr\").eq(2).children('td').children('div').animate({height: \"toggle\"},\n    {duration: 1200, complete: function(){\n    $(this).replaceWith($(this).html());\n    }});    \n}, 5000);\n</script>\n\n</head>\n\n";

echo "<body>\n<div id=\"container\"><table width=\"100%\" id=\"real-time\"><thead><tr><th colspan=\"6\" align=\"center\">現在の注文状況(50件)</th>\n</tr>\n<!--<tr><th colspan=\"6\" align=\"right\" bgcolor=\"#FFFFCC\"><FORM name=\"form1\"><input type=\"hidden\" name=\"phpMyAdmin\" value=\"11cixo4d1caaqu1ongu3vlwfabjb5666\" />現在時刻<INPUT type=\"text\" name=\"text1\" size=\"25\"> 更新間隔5分 更新時間08 : 22</FORM></th>\n</tr>-->\n<tr><th width=\"15%\">写真</th>\n<th width=\"63%\">商品名</th><th width=\"10%\">住所</th>\n<th width=\"12%\">金額</th>\n</tr></thead><tbody>\n";

//<ショップのURL>を二箇所入力します。
for($i=0; $i<count($response_json['sales']); $i++) {
$price = number_format($response_json['sales'][$i]['details']['0']['price']);
if($i%2==0)
        echo "<tr class=\"odd\">\n";
else
        echo "<tr class=\"even\">\n";
        echo "<!--商品写真-->\n";

if($response_json['sales'][$i]['details']['0']['product_image_url'] == null) //画像URLがnullの場合
  echo "<td class=\"pict\"><a href=\"<ショップのURL>" . $response_json['sales'][$i]['details']['0']['product_id'] . "\" target=\"_blank\"><img src= \"<予備画像のURL>\" witdh=\"64\" height=\"64\" /></a></td>\n";
else
//画像URLがある場合
  echo "<td class=\"pict\"><a href=\"<ショップのURL>" . $response_json['sales'][$i]['details']['0']['product_id'] . "\" target=\"_blank\"><img src= \"" . $response_json['sales'][$i]['details']['0']['product_image_url'] . "\" witdh=\"64\" height=\"64\" /></a></td>\n";

        echo "<!--商品名-->\n";
echo "<td class=\"item-name\">\n<a href=\"<ショップのURL>" . $response_json['sales'][$i]['details']['0']['product_id'] . "\" target=\"_blank\">" . $response_json['sales'][$i]['details']['0']['product_name'] . "</a><br>の注文を頂きました!</td>\n";
        echo "<!--住所-->\n";
        echo "<td class=\"area\">" . $response_json['sales'][$i]['customer']['pref_name'] . "</td>\n";
echo "<!--金額-->\n";
echo "<td class=\"price\">" . $price . "円</td>\n";
echo "</tr>\n";
    }
echo "</tr></tbody></table>\n</div>\n</body>\n</html>\n";
 
$output = ob_get_contents();
ob_end_clean();
    $fp = fopen('tool.html', 'w');
    fwrite($fp, $output);
    fclose($fp);
    echo "OK";
?>


--------------------------------------------------------------------

で実行したのちokが出たら、phpファイルがある階層のとこにtool.htmlができます。
そのURLを参照するとカラーミー版にぎわいシステムが表示されると思います。

それと注文情報自動更新のためにhetemlのコントロールパネルの
cron設定で自動更新の設定も忘れずに

カラーミーAPI(PHP)の商品名一括変更 改

ちょっと改良。
scanfがスペースで区切ってしまうためfgetsに変更&IDと商品名を二つのテキストに分けた
なのでIDを登録したURLと商品名を登録したURLをご用意ください(文字コードはUTF-8を指定)

内容としてはIDを1行読み込んだ時に商品名テキストから1行読み出し
連動した商品ページの商品名を変更する仕様
ブラウザにはIDと商品名を返す
商品名が長いとエラーで返ってくるため、その場合
$name = fgets($handle2, 200);の数値をいじってください。

注意点としてIDと商品名が同じ行で連動しているかを確認するのと
2000件ぐらいの処理で停止してしまうため、オーバーする場合、
区切りを確認して、その都度、IDと商品名の一覧を変更しなければなりません。

----------------------------------------------------------------------------------

<?php
$handle = fopen("<商品名ID URL>", "r");
$handle2 = fopen("<商品名テキストURL>", "r");

  function namechange($ID,$namea){
    $attributes = array("product" => array("name" => $namea));

    $request_options = array(
      'http' => array(
        'method'  => 'PUT',
        'header'=> "Authorization: Bearer <アクセストークン>\r\n" . "Content-Type: application/json\r\n",
        'content' => json_encode($attributes)
    )
  );

  $context = stream_context_create($request_options);

  $url = 'https://api.shop-pro.jp/v1/products/'.$ID.'.json';
  $response_body = file_get_contents($url, false, $context);
    echo $ID,$namea,'<br>';
  }

  while ($code = fgets($handle, 100)) {
     $name = fgets($handle2, 300);
     $name = strtok($name, "\n\0");
     $code = strtok($code, "\n\0");
     namechange($code,$name);
  }
fclose($handle);
fclose($handle2);
?>
----------------------------------------------------------------------------------

3万件を更新なう

よくよく見たらブラウザに最後に表示されたIDの次のIDまで処理されていることが多いです。
めんどくさいっていう場合はブラウザに表示された最後のIDを区切りでも何の問題もありません。

商品名変更の処理だけで2000件ぐらいなのでプラス何かだと一度の処理件数は落ちると考えられます。
あとサーバーの状態にもよりけり。
夕方だと混み合うみたいなのでさらに処理件数は落ちると考えられます。

まあ行っている方法としては
1、エクセルでIDと商品名の連動確認

2、IDを登録したURLと商品名を登録したURLにIDと商品名をそれぞれ登録
(エクセルでCtrl+Shift+↓にて選択項目以下すべてを指定してコピペ)

3、登録したそれぞれのURLの1行目がエクセルの同じ列にあるか確認

4、phpを登録したURLにアクセス(2週目以降は更新でおk)

5、表示されるまでしばしお待ちを

6、ブラウザに表示されたらエラーがないか確認

7、ブラウザに表示された最後のIDをエクセルで確認してその下のIDを選択して空白行を挿入

8、空白行以上を処理(1に戻る)

と細かく言うとこうなる。

一括処理なので行がずれたら全部ずれます。お気をつけて。

追記.このページを掲載後2時間現在、google検索にて「カラーミー PHP」で検索かけると
2ページ目に表示されていた・・・
レスポンスおかしくね?

カラーミーAPIにおいての商品名変更

こんなんなった。これをhetemlでPHPファイルにて保存したのち、URLにアクセスすればおk

-------------------------------------------------------------------------------
<?php
$attributes = array("product" => array("name" => "<商品名>"));

$request_options = array(
    'http' => array(
        'method'  => 'PUT',
        'header'=> "Authorization: Bearer <アクセストークン>\r\n" . "Content-Type: application/json\r\n",
        'content' => json_encode($attributes)
    )
);

$context = stream_context_create($request_options);

$url = 'https://api.shop-pro.jp/v1/products/<商品ID>.json';
$response_body = file_get_contents($url, false, $context);
echo $response_body;// 確認用出力、省いてもよし
?>
-------------------------------------------------------------------------------

<商品名>と<アクセストークン>と<商品ID>を任意で入力してください。


カラーミーのサンプルはオプション変更だったから配列入力が二つあったのね。
理解するのに2日かかった…orz
あ、arrayが配列指定みたいです、はい。

例文探しまくったけど全然なかた((= ・ω・=))


なので商品名のところをhttp://shop-pro.jp/?mode=api_interface#put-v1productsidjsonを参考に

$attributes = array("product" => array("name" => "<商品名>", "price" => 1000, "cost"=> 500));

とかにすると商品名、販売価格、原価を変更可能みたいです。
オプション変更の場合はhttp://shop-pro.jp/?mode=api_startedのサンプルの形でいいはず。

まあこれでファイル読み込みさせてカラーミーで商品名のみ一括変更できるはず。
俺これが終わったら会社やめてやるんだ・・・。

それにしても$response_body見る限り、ほかの部分も変えれるんじゃねこれ。

カラーミーAPIについて2

カラーミーいじりたおし カラーミーAPIを試してみた 2
http://shop-pro.blogspot.jp/2014/03/api-2.html

php POST送信時の「Content-type not specified assuming application/x-www-form-urlencoded」エラー
http://crss-m.jp/blog/?p=36

APIの解説とカラーミーAPIを利用した集客ツール事例のご紹介
http://axis-blog.com/?p=734


といろいろ参考にしたけど普通にカラーミーの「カラーミーAPIを使ってできること」
http://shop-pro.jp/?mode=api_started
の順番にした方が正しく動いた。
あ、サーバーはhetemlです。

手順としては
1、カラーミーデベロッパーアカウントに登録→こちら

2、アプリを登録(アプリ名とリダイレクトURL(ここではheteml上で登録したphpを使った))

3、認証ページを表示
下記URLにおいて
<CLIENT_ID>にアプリのところに表示されるクライアントID、
<REDIRECT_URL>にリダイレクトURL
を入力してブラウザで開く
https://api.shop-pro.jp/oauth/authorize?client_id=<CLIENT_ID>&redirect_uri=<REDIRECT_URL>&response_type=code&scope=read_products%20write_products
※商品データを参照の場合はscope=read_products、在庫データを更新の場合はscope=write_products
受注・顧客データを参照の場合はscope=read_sales、受注データを更新の場合はscope=write_sales

4、承認ボタンをおしてエラーコードがなければURLにcode=と表示されるのでそのURLをメモ(有効なのは10分ぐらい)

5、リダイレクトURLのphpに下記プログラムを張り付けて適宜変更して保存
----------------------------------------------------------------------------------
<?php
$params = array(
    'client_id'     => '<OAUTH2_CLIENT_ID>',          //クライアントIDを入力
    'client_secret' => '<OAUTH2_CLIENT_SECRET>',  //クライアントシークレットを入力
    'code'          => '<code>',                          //4で取ったURLのコード部分を入力
    'grant_type'    => 'authorization_code',           //このまま
    'redirect_uri'  => '<OAUTH2_REDIRECT_URI>'     //リダイレクトURLを入力
);
$request_options = array(
    'http' => array(
        'method'  => 'POST',
        'content' => http_build_query($params)
    )
);
$context = stream_context_create($request_options);

$token_url = 'https://api.shop-pro.jp/oauth/token';
$response_body = file_get_contents($token_url, false, $context);

echo $response_body;
--------------------------------------------------------------------------------------

6、4のURLにアクセスして表示されたトークンの文字列を吸出し


でこのトークンを使えば商品の更新や情報の取得が可能になります。
4に書いた通りコードが有効なのは10分ぐらいなので気を付けてください。
わけあってやり直したらコードの部分はこのブログ上だと異なる表記になるみたいなので
http://shop-pro.jp/?mode=api_startedの4. 認可コードとアクセストークンを交換の
ソースを直接参照したほうが確実です。
さいごにecho $response_body;だけ付け加えてください。

PHPなのでテキストでも読み込めさせば選択一括更新可能とかできたりします。
まだ実装できてないけど…

この会社

サービス残業代計算したら月9万ぐらいあった・・・((= ・ω・=))

カラーミーAPIについて1

現在PHPながれでカラーミーAPIを考察中

カラーミーいじりたおしさん↓からアクセストークンは取得
http://shop-pro.blogspot.jp/2014/03/api-2.html


次は内容だと思い
http://turunto.blogspot.jp/2014/11/api.html
を参考にアプリの認可に悪戦苦闘中

PHPやばい!!

おもしろい((=`・ω・´=))

内容がC言語(の上位互換)+HTML+CSSなんやね

サイトの商品ページのオプション整理がかなり楽になった。


たとえば面白い点を挙げると宣言なしで変数がつかえて
しかもその変数内に自分で式や関数を作ったりできる

<?php
    $foo = 123;
    $bar = $foo == 123;
    if ($bar) {
    echo 'foo is equal to 123';
}

(参照:http://www.atmarkit.co.jp/ait/articles/1404/07/news025.html)

だと$foo = 123;で数字を代入して
$bar = $foo == 123;で$bar のなかに「$foo == 123」を代入してる。

でif ($bar) でif ($foo == 123)と同じ役割をしている。


ほかには文章を呼び出すechoという関数があるが
このなかで
echo 'カラー<br />';
とHTMLタグを入れて文章出力すると<br />の役割である改行が行われて出力される。

これは便利だわ((=^ω^=))

PHPはじめました。

http://www.atmarkit.co.jp/ait/articles/1403/07/news028.html
ここを参考に
http://windows.php.net/download/
ここから落としてきたがMSVCR110.dllが無いとなった。

で調べたら↓このようにすればいいらしい。
http://www.phpbook.jp/install/install/index2.html

で一応実行可能に。


内容ほぼC言語じゃん!

最近

サイト関連を触らせてもらえない。

この会社楽しくなくなってきた。

通販サイトのだいたいの利率

あまりに書いてないので各モールの売り上げに対するの利率についてでも。

それぞれのモールはだいたいの下記パーセンテージと
消費税、送料、梱包費などがかかる。

楽天:9.2%(売上300万の場合)

Yahoo!:3.5%(売上200万の場合)

カラーミー:10%(イプシロンの場合)

amazon:15%(固定)


消費税が内税外税で15%ほどかかるのでつまり費用として

上記のパーセンテージ+消費税約15%+送料+梱包費

が各モールにおける必要経費である。


注意事項として楽天は顧客単価が変わると必要経費も変わる
安い単価だと多めに、高い単価だと少なめにシステム利用料がとられる。

なので通販におけるベストは単価が高く、かさばらず、郵送などでも大丈夫なものが
単価を抑えることができる。

いろいろ見たがカードゲームで使うカードが一番適しているのではと思う。

暇いのでSEOについてのメモ

まずはだいたいの知ってる基本(たぶん抜け有

・ページのtitleにひっかけたいキーワードを入力

・metaのKeywordsに(同上
→多すぎてもダメ

・metaのDescriptionに(同上

・画像のaltに(同上
→画像と関連するものがいい

・googleのSEOはページをZの文字のようになぞっていくから
 ひっかけたいキーワードは上のほうへ

・古いページのほうがSEOに引っかかりやすい

・SEOの検索ロボはページを見たとき前回と違うとポイントアップしていく
→毎日更新が好ましい

・ページランクが上のページにリンクしてもらうと検索に引っかかりやすくなる
→ページランク重要視傾向は最近薄れているが・・・

・関連ページを増やし続ける


つぎにだいたいやっちゃいけないこと

・隠し文字(白文字など)、隠しリンク(カンマにリンクを付けるなど)

・関係のないキーワードの羅列

・スパムをリンク

など。
悪魔の証明過ぎて書くの無理杉


で、応用編

・検索してもらいたいキーワードは文章内に複数書く

・metaのDescriptionに(同上

・metaのtitleに(同上

この辺を行うとあがりやすくなるらしい。
よーわからん

新年あけましておめでとうございますm(_ _)m

仕事始めです・・・。

今年もよろしくお願いします。

エクセルでHTMLタグの削除

探ってたらこれが良かった。

 1) エクセルを開いてAlt + F11 でVBEを起動
 2) [挿入] - [標準モジュール] - 右空白部分に下記コードを貼り付ける

Function ReplaceHTMLTag(ByVal txt As String) As String With CreateObject("vbscript.regexp") .Pattern = "<[^>]*>" .Global = True ReplaceHTMLTag = .Replace(txt, "") End With End Function

 3) Alt + Q でエクセルに戻る

 A1に文字列があると仮定して、任意のセルに
 =ReplaceHTMLTag(A1)


参考URL: http://www.excel.studio-kazu.jp/kw/20100502205005.html


		

ヤフーショップのftpでのcsv出品方法2

そういえば中身の話してなかった。

必須項目は5つ
・path(店舗内カテゴリ)
・name(商品名)
・code(店舗内商品コード、URLに反映)
・sale-price(セール価格、入力無しでOK)
・price(販売価格)

新規登録だと
・caption(説明文)
・meta-key(SEOキーワード)
・meta-desc(SEO説明文)
・product-category(ヤフー内カテゴリ番号)
・delivery(送料について)
・taxable(消費税について)
・sp-additional(スマホ用説明文)
・options(選択肢)
もいるかも

画像はストアエディタの画像管理の追加にて
画像名を上記codeにあわせてあげればOK。拡張子は.gif/.jpg/.jpe/.jpegのみ
オプション画像の場合は
商品コード_1~5までの数字.拡張子
としてあげればOK

個別商品コード、オプション、プロダクトカテゴリ、スペック1~5のフィールドはセットで指定しないとエラーなので
・caption
・product-category
・options
を入れる際はこの3つと
・sub-code
・spec1
・spec2
・spec3
・spec4
・spec5
をセットにしないといけません。

アップする際は項目指定であげるのが確実です。
(FTPの場合はdata_spy.csv)

こんなもんかな。

スマホ用サイトへの移行

楽天のトップページが楽天GOLDなためスマホだと楽天GOLD版のindexが表示される。

そのためスマホページへの移行を作成する必要が判明

しらべると


<script type="text/javascript">
// iPhoneまたは、Androidの場合は振り分けを判断
if (document.referrer.indexOf('playgroup-kiba.com') == -1 && ((navigator.userAgent.indexOf('iPhone') > 0 && navigator.userAgent.indexOf('iPad') == -1) || navigator.userAgent.indexOf('iPod') > 0 || navigator.userAgent.indexOf('Android') > 0)) {
    if(confirm('このサイトにはスマートフォン用のサイトがあります。€表示しますか?')) {
        location.href = 'ここにスマホ用URLを入力';
    }
}
</script>


をindex.htmlのヘッダあたりにに入れたら移行の確認をとって遷移するようになった。

解説はよくは読んでない((=`・ω・´=))

参考ページ:http://ascii.jp/elem/000/000/557/557746/index-4.html


また調べてくとレスポンシブ・ウェブデザインなるものがあり
表示幅によりデザインがスマホ寄りになるというものがあるみたい。

参考ページ:http://allabout.co.jp/gm/gc/396787/

ソニーの個人向け製品ページhttp://www.sony.jp/を表示させて幅を変えたら
わかりやすいです。

こんな方法もあるんやねー

Amazon追記

http://siteijiri-log.blog.jp/amazonDIY%E4%BB%95%E6%A7%98.xlsx

これについてだが登録時は画像のURLが必須だったが
更新時には画像のURLは必須ではなかった。

ありがたいが謎仕様である。

firefox33.1.1

かなり最悪。
アドオンが半分消え、文章をコピペしようとしたらドラッグが重い。

いらいらしたので31.0に戻しました。


戻し方↓

このページからまず戻したいバージョンのリンクに飛ぶ。(例:31.0など)
ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/

そしてウィンドウズの場合
win32→ja→Firefox Setup.exe
を保存して実行。

後はお好みで。

ポンパレftpにおける文字化けについて

検索キーワードより。

大体のサイトの文字コード設定がShift_JISなのに対して
ポンパレの場合、utf-8になっている。

ヘッダに↓を挿入して
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

TeraPad↓で読み込んで
http://www.forest.impress.co.jp/library/software/terapad/

ファイル→文字コード指定再読込→utf-8にして
ファイル保存してアップすればOKです。

firefoxのアドオンリスト

家に帰ってfirefox起動させたらアドオンが全部消えていたので
アドオンリストメモ

Adblock Plus   広告排除
https://addons.mozilla.org/ja/firefox/addon/adblock-plus/

classic theme restorer   firefoxをちょい昔風にカスタマイズする。
https://addons.mozilla.org/ja/firefox/addon/classicthemerestorer/

Download Manager (S3)   ステータス バーでダウンロードを表示・管理
https://addons.mozilla.org/ja/firefox/addon/s3download-statusbar/

down them all  ページにある画像の一括保存
https://addons.mozilla.org/ja/firefox/addon/downthemall/

fasterfox lite  firefox軽量化
https://addons.mozilla.org/ja/firefox/addon/fasterfox-9148/

FireGesture マウスジェスチャ設定
https://addons.mozilla.org/ja/firefox/addon/firegestures/

measureIt   ウィンドウ内ものさし
https://addons.mozilla.org/ja/firefox/addon/measureit/

Save File to 右クリック内でフォルダごとの保存設定
https://addons.mozilla.org/ja/firefox/addon/save-file-to/

テキストリンク (Text Link)  テキストURLへのアクセスをダブルクリックで可能に
https://addons.mozilla.org/ja/firefox/addon/text-link/


Adblock Plusはサイトによって禁止してるのでその時はアイコンから無効設定を行ってください。

amazonの一括アップ用text

DIYだとこうなった((=`・ω・´=))
http://siteijiri-log.blog.jp/amazonDIY%E4%BB%95%E6%A7%98.xlsx

JAN無しは申請済みです。

メーカー型番はamazonに商品IDで振られたので違うものだとご注意。

テキストファイルにて保存してアップロードは確認済。


ちなみにアップロードによる一括商品登録でカテゴリー別在庫ファイルにおいてアップしても
「処理レポートを確認 」では警告が1行につき3つ付いてくるはずなのでご注意。

あくまでも最低限でのファイルなので必要列はカスタムしてください

※アップの際、【※注意※】 のところにチェックは入れないように!
登録分で上書きされるため今までのが消えてしまいます。
配置変えろよ・・・

RE:zoomのfirefoxへの適応(前回の改定版)

書いてヤフーレビューのiframe化してた分がはじかれてた。

どうやらレビューのiframe化に制限かけたっぽい

ですので前回分は無視しといてください。

Office2010でのxlsx関連付け

xlsxをダブルクリックしてもexcel2003で開いでいたため関連付け

プロパティ設定でもならないため調べたらレジストリいじらないといけないことが判明

windowボタンを押して「プログラムとファイルの検索」のところに
regedit.exeを検索。

出てきたregedit.exeを実行して

HKEY_CLASSES_ROOT > Applications > EXCEL.EXE > shell > open > command

に行きそこにあるファイルを右クリックして修正をかける。

そこでパスをexcel2010があるところに修正。

これで関連付けができた。


参考:http://pukapuka-ahirusan.blogspot.jp/2013/03/win7xlsx.html

ヤフーショップのftpでのcsv出品方法

引っかかっているらしいキーワードでのテーマ

中身についてはこちら→http://siteijiri-log.blog.jp/archives/1015369226.html

設定概要についてはこちら↓

まずソフトは
WS ftp
Steed ftp
で使用可とあったがFFFTPでも動作した

ホストの設定は

-----------------------------------------------------------------------------

・ホスト名
    任意の名称を入力します。

・ホストアドレス
    yjftp.yahoofs.jp

・ユーザID
    store-****(****には貴社のストアアカウントを入力)

・パスワード
    FTP申し込み後、Yahoo!ショッピングからお知らせします。

-----------------------------------------------------------------------------

となっている。

FTPデータは以下の通り


-----------------------------------------------------------------------------
・商品データベースファイル

    上書きする場合
        ファイル名:data.csv 件数制限:10万件以下
    追加する場合
        ファイル名:data_add.csv 件数制限:10万件以下
    削除する場合
        ファイル名:data_del.csv 件数制限:10万件以下
    項目指定する場合
        ファイル名:data_spy.csv 件数制限:10万件以下

・在庫管理データベースファイル
    ファイル名:quantity.csv 件数制限:10万件以下

・ZIP圧縮した商品画像、商品詳細画像
    ファイル名:img.zip 容量制限:50メガバイト以下

・ZIP圧縮した追加画像
    ファイル名:lib_img.zip 容量制限:20メガバイト以下

・カテゴリデータベースファイル
    ファイル名:category.csv 件数制限:2万件以下


・カート内関連商品カテゴリデータベースファイル
    ファイル名:cross-sells_add.csv 件数制限:10万件以下

・注文処理実績データベースファイル
    注文情報ファイル名:odstats_order.csv 件数制限:2万件以下※
    商品情報更新ファイル名:odstats_item.csv 件数制限:2万件以下※
    商品情報追加ファイル名:odstats_additem.csv 件数制限:2万件以下※

    ※件数制限:2万件/1ファイル。1日に反映できるファイル数:1ファイルのみ。
-----------------------------------------------------------------------------


で、データベース作ってアップすればいいけどdata.csvを使うと今までの掲載商品が
消されてdata.csvに書いてあることのみになってしまうので使わないほうが安全。

項目指定(data_spy.csv)すれば商品追加も商品更新もしてくれるし、項目を絞れるので
これだけで問題ない


FTPだとエラー確認がよくわからないのでストアクリエイターProでのみしか上げないが…
画像もzipでおkだし

キルラキルのフォントでたどったら

ここにたどり着いて
http://fontworks.co.jp/font/catch/raglanpunch/UB.html

このサイトにたどり着いた。つくりが素敵すぎる!
https://www.lets-member.jp/


YahooFTPについて3(ヤフートリプル)

ある程度完成

反映がFTPにアクセスなくなって5分後とかだからめんどくさい

フッターなどもできた。マジ感謝

cssは考えたらcssファイルがあるだろうと踏んで丸写し
そして いらないものout いるものin

ほぼ楽天GOLDと同じ扱いができます。

使っているソフト集

行頭・行末なんでも追加・削除くん  テキストの行頭・行末調整、追加削除ともに
http://www.nishishi.com/soft/elad/

TeraPad エディタ、HTML用に。文字コード指定可
http://www.forest.impress.co.jp/library/software/terapad/

Free Disk Usage Analyzer ディスクの容量チェック
http://www.gigafree.net/utility/analyze/freediskusageanalyzer.html

Core Temp CPUの温度チェック
http://www.alcpu.com/CoreTemp/

DAEMON Tools Lite 仮想ディスクドライブ簡易版
http://www.forest.impress.co.jp/library/software/daemonlite/

テキスト削り2 空行削り、
http://www.vector.co.jp/soft/dl/winnt/util/se419629.html

MultiWallpaper デュアルディスプレイ用壁紙設定ソフト
http://www.forest.impress.co.jp/library/software/multiwallpap/

極窓 拡張子判別
http://www.vector.co.jp/soft/win95/util/se085018.html

FFFTP FTPソフト
http://www.forest.impress.co.jp/library/software/ffftp/

Cyberduck 同上
http://www.forest.impress.co.jp/library/software/cyberduck/

スカイプで探ってたら

面白いもの見つけた
http://okwave.jp/qa/q2233009.html

商品名の名づけ

参考URL
http://matome.naver.jp/odai/2134448650870651801
http://bizmakoto.jp/bizid/articles/1401/21/news019.html
http://aiz.sakura.ne.jp/aya/name.htm
http://n10shop.com/operation/title/
http://www.firstitpro.com/mailmg/mmg100625.php
http://www.consul-takahashi.jp/product/
http://www.toriikengo.com/how-to-create/

いろいろ見ていくとネーミングにも画数があったりと面白い。

総じては

・わかりやすく、
・簡単に、
・インパクトがあるものを

となっている。(当たり前

プラスSEO対策も兼ねるとなおよいが

キャッチーな文言とSEOは反する部分が多い気がする。

言葉は苦手です…

半角カタカナ→全角ひらがな

http://zerothree.sub.jp/php/mbckana_b/

エクセルにおける改行削除

CLEAN関数
http://officetanaka.net/excel/function/tips/tips09.htm

http://www.moug.net/tech/exopr/0070045.html

YahooFTPについて2(ヤフートリプル)

とりあえずトリプル申請。(300MBプラン)

FFFTPにて設定。

これでindex.htmlを作成してリダイレクト設定すれば
Yahooショッピングのトップページへ反映されるのね。

CSSどうしよう・・・

zoomのfirefoxへの適応(前回の改定版)

http://d.hatena.ne.jp/dentaq/20120424/1335262699
http://stackoverflow.com/questions/4049342/how-can-i-zoom-a-div-in-firefox-and-opera
を参考に

------------------------------------------------------------------------------------------------------------------------------

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
<meta name="robots" content="noindex,nofollow"/>

<style type="text/css">
<!--
#re{
    position:absolute;
    top:-182px;
    left:-20px;
    zoom:85%;
    -ms-zoom:90%;
    -moz-transform: scale(0.8)translate(-90px,-500px);
    -webkit-zoom: scale(0.8)translate(-30px,-182px);
}
-->
</style>
</head>
<body>
<div id="re">
<iframe src="ここに表示させたいページのURL" frameborder="0" width="750" height="4500" scrolling="no" marginheight="0" marginwidth="0"></iframe></div>

</body></html>
------------------------------------------------------------------------------------------------------------------------------

と改定してfirefoxにも対応。数値はお好みで

※ヤフーでレビュー出しをしたかったがiframe化に制限かかってるみたいです。

ページの一定範囲を表示する

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />
<meta name="robots" content="noindex,nofollow"/>

<style type="text/css">
<!--
#re{position:absolute; top:-630px;left:-10px;-ms-zoom:87%;}
@-moz-document url-prefix() {position:absolute; top:-1200px;left:-53px;-moz-transform: scale(0.50);}
}
-->
</style>
</head>

<body>
<div id="re">
<iframe src="ここに表示させたいページのURL" frameborder="0" width="690" height="5400" scrolling="no" marginheight="0" marginwidth="0"></iframe></div>
</body></html>

というのをどっかからソース持ってきて改変した。
以上のページを作ってiframeで囲めばトップページ等にレビューを表示できる。
数値は任意で変更してください。

YahooFTPについて

YahooにおいてFTPを使用する場合

ストアクリエイターPro右下からFTP申請して2週間かかる

FFFTPで動作確認

CSV更新可能

カラーミーのAPI

http://shop-pro.blogspot.jp/2014/03/api-2.html
を参考に模索中

その他のAPIの呼び出しがうまくいかない。
最新コメント
記事検索