Archive for the ‘WEB’ Category

Sassでclearfix楽チンポンじゃね?

木曜日, 12月 1st, 2011

Sass

Windowsになんじゃかんじゃ入れて、scssをcssに吐き出すやつです。

hamashun.me 【Windows PC に Ruby と Sass を導入する方法】

Bonkura Blog 【Sassを起動するコマンドメモ】

hail2u.net 【Sass、そしてSassy CSS (SCSS)】

hail2u.net 【Sass – チュートリアル】

あたりを見ればよくわかります。

やってみる

@mixin after{
    &:after{
        content: "";
        display: block;
        clear: both;
    }
}

して該当の要素にぶちこむ

#page {
    width : 800px;
    @include after;
}

んでcssにしてやると

#page {
      width: 800px;}
      #page:after {
        content: "";
        display: block;
        clear: both; }

って出てくる。

 

「.clearfix」とか、アレでしょ、何か、いかにも「clearfixしてる感」まるだしなので、使用する要素毎に「:after」入れてたので、

これでけっこう楽チンになるんじゃね?っていうお話でした。

 

EC-CUBE[メモ]

月曜日, 9月 19th, 2011

購入時の商品ごとの送料加算のカスタムは

SC_CartSession.php 内 calculateメソッドでカスタム出来る。

厳密に言えばcalculateをSC_CartSession_EX.phpにコピペして使用する。

// 商品ごとの送料を加算
if (OPTION_PRODUCT_DELIV_FEE == 1) {
$cartItems = $this->getCartList($productTypeId);
$max_fee = 0;
$count = 0;
foreach ($cartItems as $item) {
if($max_fee < $item['productsClass']['deliv_fee']){
$count = $item['quantity'];
$max_fee = $item['productsClass']['deliv_fee'];
$results['deliv_fee'] = $item['productsClass']['deliv_fee'] * $item['quantity'];
}else if($max_fee ==  $item['productsClass']['deliv_fee']){
$count += $item['quantity'];
$results['deliv_fee'] = $max_fee * $count;
}
               
#$results['deliv_fee'] += $item['productsClass']['deliv_fee'] * $item['quantity']; //デフォの部分
}
}

どんな計算かというと、送料が高いものが優先され、送料の安いものは送料の高いものに吸収される

かつ、送料が高いものは個数分加算される。

  • A:送料2000円
  • B:送料500円

とした場合、AとBを1つずつ購入した場合、送料が高い方のAにBが吸収されるので、合計送料は2000円

Aを3つ、Bを5つ購入した場合は、送料の高い個数分加算するので、合計送料は6000円、となる。

ざっとしたメモ

EC-CUBE 2.11のSC_ProductクラスとSC_Query

木曜日, 7月 28th, 2011

超個人的メモ

商品詳細ページ(products/detail.tpl)

require_once '../require.php';
require_once CLASS_EX_REALDIR . 'SC_Query_Ex.php';

//CATEGORY取得
$c_que = new SC_Query_Ex();
$cate_que = $c_que->select("category_id","dtb_product_categories",'product_id='.mb_substr($_SERVER["QUERY_STRING"],11));

$cate_id = $cate_que[0]["category_id"];

でカテゴリIDが取得できた。

select(“カラム”, “テーブル”, where文) だわさ。

まぁ、クラスのソースを見てもらったほうがわかりやすいけど。

2011.7.28追記

<!--{$arrRelativeCat[0][0].category_id}-->

でカテゴリーID取れるわ。。。

トップページ(index.tpl)に登録商品を

require_once './require.php';
require_once CLASS_EX_REALDIR . 'SC_Product_Ex.php';
require_once CLASS_EX_REALDIR . 'SC_Query_Ex.php';

//CATEGORY
$c_que = new SC_Query_Ex();
$cate_que = $c_que->select("product_id,category_id","dtb_product_categories");

//ALL ITEMS
$prod = new SC_Product_Ex();
$prod->setProductsOrder("product_id");

$lists = array();

foreach($cate_que as $list){
    $lists[] = $prod->getDetail($list["product_id"]);
}

で $lists に商品データをぶっ込める。

SC_Product と SC_Query は便利っぽい。

twitter follow button test

水曜日, 6月 1st, 2011

デフォルト表示


背景:明るい / フォロワー数:いいえ


背景:暗い / フォロワー数:いいえ


背景:明るい / フォロワー数:はい


背景:暗い / フォロワー数:はい
テキスト部分(◯◯フォロワー)は白文字なんで、背景色が白なら見えん

——————————-

カスタムできる部分

文字色 data-text-color=”#FF0000″
リンク data-link-color=”#0000FF”
CSSのように省略(#F00等)は不可
aタグで挟むテキストは何を入れても(◯◯フォロワー)になる
元テキストに「つまんないかもしれんけどgainaをフォローしちゃって」と記入したけど、書き換えられてる

Facebookページ

水曜日, 4月 20th, 2011

なんの因果(?)か、Facebookページを作ってみた。

nagaiさん

アプリ入れてiframeでなんじゃかんじゃして、

ユニークページの作成に成功。

 

使用したアプリは「Adcode Apps スタティックタブ」なるもの。

ほえー

ちょっと楽しかった。

最近の色々

水曜日, 5月 12th, 2010

ここ一ヵ月色々ありましたが、

新しい仕事をするよになって、ようやく

htmlやらcssやらをモフモフすることを生業とすることに成功しました。

flashもこれから、仕事としてやっていくにあたって、勉強会に何個か参加しました。

・67works Geeks

・Progression本読み会

えー、撃沈でした。

日本でも有数なflasherさんたちに混じったのですが、なんのこっちゃ。

情けないことに、おしっこちびりそうになりました。

「本気で取り組む」っていうよりも「仕事に還元」出来るようにならんといかんなぁ、

そう感じてます。

webで飯を食う、わけですから、「稼ぐ」人間でありたいと切に、切々と。

新しいこと?というか、仲間でサイトを立ち上げました。

iLDK

今のところはみんなのブログだけですけど、なんかおもろいことがあればコンテンツとして

どんどん出して行こうと思っています。

自分自身のサイトではweb関連、iLDKでは自分の周りのことだったり、もっと「誰にでも近い」ことを、

自分の中で仕分けながらやって行こうと思います。

はい。

そういうことです。

progression、初めてちゃんと組んでいるけど、楽しいです。難しいですが。

progression本、買っていない人は、買いましょう。flashするのなら、必須。

正規表現のお勉強

日曜日, 4月 11th, 2010

twitterからRSSをひっぱってきてモフモフする時って、

ブログからひっぱってくる時と事情が違う。

一緒なんだけども、「@….」「#….」とかね、タイムラインではリンクになってますよね。

今回はPHPでTwitterからRSSでひっぱってきて、@も#も全部リンクにすることが出来るかなぁ、という勉強。

正規表現は難しい。というかややこしい。僕にとって。

わかりやすいサイトを教えてもらったので、参考にそこを読む。

さるにもわかる正規表現

まずはXML_RSSでRSSを取得しパース

$tweet=&new XML_RSS($tweet_url);
$tweet->parse();

getItems()で中身を取り出す

foreach($tweet->getItems() as $item){  
    $item['description']=mb_convert_encoding($item['description'],'UTF-8','auto');
    $item['description']=mb_substr($item['description'],6);
    $pat=array("/(https?)(:\/\/[[:alnum:]\+\$\;\?\.%,!#~*\/:@&=_-]+)/i");
    $_user=array("/(@)([[:alnum:]_]+)/");
    $_search=array("/(#)([[:alnum:]_]+)/");
    $replacements = array("<a href=\"\\1\\2\"?phpMyAdmin=f59fa711f0e26091bc5c43fe01778ab9>\\1\\2</a>");
    $replacements2 = array("\\1<a href=\"http://twitter.com/\\2\">\\2</a>");
    $replacements3 = array("<a href=\"http://twitter.com/search?q=%23\\2\">\\1\\2</a>");
    $item['description']= preg_replace($pat, $replacements, $item['description']);
    $item['description']= preg_replace($_user, $replacements2, $item['description']);
    $item['description']= preg_replace($_search, $replacements3, $item['description']);
    $item['list']="<li class=\"grid twitter_li\">";
}

色々調べながらやってみました。時間かかったけど。

$pat、$_user、$_searchがマッチさせたい文字列です。

$pat=array("/(https?)(:\/\/[[:alnum:]\+\$\;\?\.%,!#~*\/:@&=_-]+)/i");

各項目内の[:alnum:]はアルファベット・数字全部、()は文字列のグループ化。

「?」は「直前の文字が1つ、もしくは0つ」ということみたいです。

(https?)、はつまり「httpかhttps」がマッチ、ということになります。

[]は「[]ないどれか1つ」で、+は「最低1つ直前の文字があることで同じ文字の繰り返し」ですか。

ふー

「同じ文字の繰り返し」なのですが、[]内の文字の繰り返し、っていうことになるのですね。

$replacementsは置き換える文字列です。

$replacements = array("<a href=\"\\1\\2\"?phpMyAdmin=f59fa711f0e26091bc5c43fe01778ab9>\\1\\2</a>");

「\”」は”のエスケープで、「\\1\\2」はグループ化された$patの文字列部分をあらわしています。

なので

http://www.takasumi-nagai.com/

があるとしたら、

(http) \\1
(://www.takasumi-nagai.com/) \\2

ということになる(ぼんやりしかわかってないけど・・・)

なんしか、これで出来ました。

難しいですね。正規表現。

私のサイトトップで実装してます。

ちゃんと動いているみたいですね。

良かった。

text-size

火曜日, 3月 30th, 2010

テキストサイズをボタンをポチポチ押して

大きくしたり小さくしたりするスクリプトを

勉強がてら作ってみる

jQueryを使用しているので、リンクを貼っていること前提です

<script type="text/javascript">// <![CDATA[
$(document).ready(function() {
    var count = 2 ;
    var textsize=["0.8em","0.9em","1em","1.2em","1.4em"] ;
    $('#big').click(function(){
        count++:
        $('サイズ変更したい要素やid,class名').css("font-size",textsize[count]);
        if(count>4){
        count=4;
        }
    });
    $('#small').click(function(){
        count--:
        $('サイズ変更したい要素やid,class名').css("font-size",textsize[count]);
        if(count<0){
        count=0;
        }
    });
});
// ]]></script>

#bigやら#smallやらは任意のアンカーにつけてくだされ

<a id="big" href="#">文字を大きくするよ</a>
<a id="small" href="#">文字を小さくするよ</a>

みたいに。

で、変数countに「2」を最初に入れているのは、ブラウザ読み込み時のデフォ

文字サイズはtextsizeに配列でぶちこんでいるので、その場所(=1em)を指定しています

クリックでcountの数値を増やしたり減らしたりして、配列から文字サイズを変えています

if文は、やたらめったにクリックされると「count=100」とかになってしまうと、文字サイズを小さく変更するまで大変!

ということで、countの数値を配列数に収めてます(0~4の間っすね)

ラクチンポン

ちなみに、WORDPRESSやらでは「$」を使用するとうまく動作しないことがしばしばあるので、

私は「$」ではなく「jQuery」を使うようにしてます。

jQuery(document).ready(function(){

と。

BOLTS HARDWARE STORE

火曜日, 3月 9th, 2010

はい、制作しました。

BOLTS HARDWARE STORE

京都の金物屋さんです。

金物って何?と思われる方もいらっしゃるでしょうけど、

僕がどうのこうの言うよりも、まずは行って見て下さい。

サイト上には店主の思いがつまっています。

言葉足らずなところも多々ありますが、ちょっとでも興味を持ってもらい、

着地としては、「金物」という1つの概念的なものを分かってもらいたい。

もちろん「売れる」ってことは必要ですが、

店主の「金物をもっと知って欲しい」という気持ちの強い方です。

元々、Pacific Furniture Serviceで販売から設計まで多岐に活躍されていた方なので、

金物以外でも内装やらインテリアやらのことも詳しい。

きさく。

是非、京都に行く際、立ち寄ってみたい場所の1つにしてもらえると嬉しいです。

bolts hardware store

jQueryで高さの調整

金曜日, 3月 5th, 2010

コンテンツ量が少なく、footerが上にきてしまっている

というときjQueryを使ってきちんと下部に表示するようなスクリプトを書いてみた。

htmlはdiv#header、div#main、div#footerという構成を前提にします。

これら3つの高さがウィンドウサイズより小さかった時に、#mainの大きさを指定するっていうこと。

<script type="text/javascript">
jQuery(document).ready(function(){
  var winHeight = jQuery(window).height();
  var headHeight = jQuery('#header').height();
  var mainHeight = jQuery('#main').height();
  var footHeight = jQuery('#footer').height();
 
  var fullHeight=mainHeight+headHeight+footHeight;
 
  if (fullHeight <= winHeight) {
   var wrapHeight = winHeight-headHeight-footHeight;
   jQuery(function() {
    jQuery('#main').height(wrapHeight);
   });
  }
});
</script>

うむ。

どうして「$」じゃないかって?

それは、「エラーになった」からです。

コンフリクトっていうんでしょうか。

他のプラグインではいけてるっぽいんですが。

でも、まー、うまくいってるから良しとします。

1つの手段として、有効であれば・・・