2015年8月28日金曜日

【ECCUBE3 プラグイン】新着商品

【ECCUBE3 プラグイン】新着商品

ECCUBE3のトップページに新商品を追加します。


ソースはGithubにupしています。
こちらから

How to install

Githubページの右下の「Download ZIP」からZIPファイルをダウンロード

ECCUBE3管理画面<オーナーズストア<プラグイン<プラグイン一覧

ページ下部の独自プラグイン「プラグインのアップロードはこちら」

ダウンロードしたZIPを選択してアップロード

独自プラグインにプラグインが追加されるので、「有効にする」をクリック

以上でトップページの新着情報の上に8件の新商品(最後からアップされた順)が表示されます。


カスタマイズ方法
表示件数を変更する。デフォは8件
app/Plugin/NewItem/Resource/template/new_item.twig
15行目
{% for Order in OrderList | slice(0,8) %}
slice(0,8)の8の部分を変更する。

2015年8月25日火曜日

【ECCUBE3 プラグイン】最近購入された商品

【ECCUBE3 プラグイン】最近購入された商品

ECCUBE3の商品詳細画面に最近購入された商品を追加します。


ソースはGithubにupしています。
こちらから

How to install

Githubページの右下の「Download ZIP」からZIPファイルをダウンロード

ECCUBE3管理画面<オーナーズストア<プラグイン<プラグイン一覧 ページ下部の独自プラグイン「プラグインのアップロードはこちら」 ダウンロードしたZIPを選択してアップロード 独自プラグインにプラグインが追加されるので、「有効にする」をクリック

以上で商品詳細画面のサブ画像の下に8件の最近購入された商品が表示されます。


カスタマイズ方法
表示件数を変更する。デフォは8件
app/Plugin/RecentlyPurchaseItem/Resource/template/recentl_purchase_item.twig
14行目
{% for Order in OrderList | slice(0,8) %}
slice(0,8)の8の部分を変更する。

2015年8月13日木曜日

【ECCUBE3】複数の規格がある商品をcsvで登録する。

ECCUBE2系の頃から規格が複数ある商品をcsvで登録するにはカスタマイズが必要でした。
EC CUBE3系も同様なので、商品登録csvの「規格分類1(ID)」セルにカンマ区切りで規格分類IDを入力すると登録できる仕様にしてみましょう。
※「規格分類2(ID)」には手を加えないので、「規格分類1(ID)」を使用する場合のみのカスタマイズになります。
※規格を複数登録する際、商品コード、値段はcsvに入力した値になります。規格毎に商品コードや値段を別々にしたい場合は考慮してませんのであしからず。

では、カスタマイズしていきましょう。カスタマイズ自体はほんの数行加えるだけです。
下記、csv登録のコントローラーを開きます。
/src/Eccube/Controller/Admin/Product/CsvImportController.php


174行目付近
// 商品規格が存在しなければ新規登録
$ProductClasses = $Product->getProductClasses();
if ($ProductClasses->count() < 1) {
// 規格分類1(ID)がセットされていると規格なし商品、規格あり商品を作成
$ProductClassOrg = $this->createProductClass($row, $Product, $app, $data);

を下記の様に追加します。
// 商品規格が存在しなければ新規登録
$ProductClasses = $Product->getProductClasses();
if ($ProductClasses->count() < 1) {
  //複数規格登録の追加
  $classcategory_id1 = $row['規格分類1(ID)'];
  $c_list = explode(",",$classcategory_id1);
  foreach ($c_list as $row['規格分類1(ID)'])
  {
// 規格分類1(ID)がセットされていると規格なし商品、規格あり商品を作成
$ProductClassOrg = $this->createProductClass($row, $Product, $app, $data);


233行目付近
} else {
  if ($row['規格分類2(ID)'] != '') {
   $this->addErrors(($data->key() + 1) . '行目の規格分類1(ID)が存在しません。');
  }
}
を下記の様に最後に「}」追加します。
} else {
  if ($row['規格分類2(ID)'] != '') {
   $this->addErrors(($data->key() + 1) . '行目の規格分類1(ID)が存在しません。');
  }
}
}

内容としては、規格分類1(ID)の中身を「,」で分割し、分割した分だけ規格の登録を行っています。

これで、csvで複数の規格が一回で登録可能になります。




2015年8月1日土曜日

swift MapView PolyLine上を移動するアニメーション

MapViewに描画したPolyLine上を移動するアニメーションを作りたくて試行錯誤。
アニメーションを使うというより、座標がわかっているので、ピンを座標に沿って移動していけば良いという事に辿り着く。
ずっとアニメーションで検索してたから結論になかなか辿り着けなかった。。。

stackoverflowにヒントありました。
Animate a visual element along an arc in MapKit

山手線の駅の緯度経度を使用してピンを一周させてみましょう。
山手線って意外と縦長。。。



GitHubにソースあります。

緯度経度のポイントを増やし、NSTimerのタイミングを変更してあげれば、アニメーションしているように見えてきます。

Gmailに来た作業依頼メールをTrelloの新規カードとして追加する。

今日はTrelloの新しい発見。

Trello・・・TODOリストですね。

細かい使い方は省略して、今日はタイトル通り、特定のメールアドレスに作業依頼が来るので、Gmailに来た作業依頼メールをTrelloに新規カードとして追加する。という事をします。
Trelloボードにメンバー追加してカード追加してもらって管理とかしたいけど、レガシーな環境から抜け出せない場合もあるので。。。


カードを追加したいボードを開きます。
画面右端の Show Menuからメニューを開き、Email-to-board Settingsをクリック。
ブルーで塗りつぶした部分に転送先のメールアドレスが出てきます。
メールアドレスの下には追加したいリストとリストの上に追加するのか、下に追加するのか選択できます。

これでTrelloの方はOK。
次はGmailで転送の設定を行います。
Gmailの転送設定は語り尽くされていると思うので、概要だけ。
フィルタで特定のメールアドレスに来たメールを先ほどTrelloで表示されたメールアドレスに転送するだけ。
これで転送されたメールは自動的にTrelloに新規カードとして登録されます。

Gmailを見る回数が減りそうです。