Image Rollover Borders That Do Not Change Layout

画像をタイル状に並べてロールオーバーでボーダーを表示した時、レイアウトが崩れてしまうのを防止するCSSテク。

ボーダーの太さ分だけ画像の要素が大きくなってしまうので、それを内側にボーダーを引くことで解消しています。

Image Rollover Borders That Do Not Change Layout

Problem CSS
#example-problem a img, #example-problem a   { border: none; float: left; }
#example-problem a:hover { border: 3px solid black; }

This CSS applies a border on a hover where there was none before. Layout problems ensue.

Fix #1: Inner Borders
#example-one a img, #example-one a           { border: none; overflow: hidden; float: left; }
#example-one a:hover { border: 3px solid black; }
#example-one a:hover img { margin: -3px; }

This CSS applies a negative margin on all sides of the image of the exact size of the border. This pulls the border inside and causes no layout changes.

Fix #2: Outer Borders
#example-two a img, #example-two a           { border: none; float: left; }
#example-two a { margin: 3px; }
#example-two a:hover { outline: 3px solid black; }

Office Live Workspace V.S. Google Docs

ファックス送信書とか、契約書のテンプレートとか、時々使う書類をオンラインストレージに保存しているんですが、今まではGoogle Docs を利用していたところ、Microsoft がついに Office Live を開始して、最近は Office Live に移行中です。

Office Live イチオシのポイントは、なんといっても Office で作成した書類がそのまま利用できて、アドオンをインストールすれば、アップロードも自動でできる事だと思います。

Google Docs があくまで、編集・更新までもオンライン上でやろうとするのに対し(ここではGearsはちょいと、おいといて・・)、Office Live では、プレビューするまでをオンラインにおいておいて編集はローカルのOfficeでやり、アドオンを利用して自動アップロードをさせてしまった事がすごいと思う。

さらに、アドオンを追加した Office アプリ(WordとかExcelとか)には、「開く」メニューに「Office Live から開く」メニューがちゃっかり追加されちゃって。。
ここまで、やられちゃサードパーティは、キツイんじゃないかなーと思います。さすがMicrosoft!エグイと言われるかもしれないが、自社製品を上手く使ってます。

顧客からの相談、メールサポートを今から準備しておく

ECサイトのみならず、さまざまな業種で使えると思うメールトラッキングシステム。

メールトラッキングシステムとは

問い合わせ内容をメールで送りつつ、ウェブにアーカイブしておき、全体の問い合わせ案件を一元管理できるシステム。

これを入れると、従来のメールだけのシステムでありがちな「担当者によって対応が違う」「過去の応答を参考にしにくい」などと行った事がすくなるなる(と思う)

ようは、メール送受信機能が付いた「プライベート掲示板」みたいなシステム。

スタッフは、管理ページにログインして新しくきている案件や、担当している案件の返信をこなし、マネージャーは自分の部署の案件全体を管理し、対応状況の確認やノウハウを蓄積、整理していく。
そしてまたスタッフは整理されたノウハウ情報を基に、さらに高度なサポートにも対応できるようになっていく。

そんなシステム。

osTicket が使いやすそうだったんだ・・

PHP + MySQL 環境で簡単に利用できてカスタマイズしやすそうな osTicket を選んだんです。

osTicket は、表示言語をソース(テンプレート)にハードコーディングしてあって、日本語環境にするには、全ソースの書き換え&メール送信関数の修正が必要。

なもんで、どうせ全ファイルをいじるんだから言語パックみたいな仕様を組み込んじゃえー。
って思い切って、japanese.lang.php なるファイルを作成して日本語環境にしてみたんですね。

だいたい出来上がって(アドミンページを残すのみ)、ネットをブラリとしていたら、

osTicket は eTicketになってたのね。知らなかった

なんて記事を見つけてしまった・・・orz

eTicket は lang.php がデフォでついてます

やっちまった感がいっぱいです。

eTicket のポイント

  • 投稿時に Captcha で画像認証できる
    (osTicket には実装されていない)
  • トップページが新規問い合わせフォーム+ログインフォームの構成になっている
    (osTicket は新規ページへボタンでリンク)
  • theme ディレクトリでテーマ変更も簡単(みたい)
    (osTicket は、テーマ変更の概念が無い)

ん~。どっちで進めるべきか悩む。

ま、とりあえず最初のサイトはせっかくなので osTicket でいっています。
基本的なオペレーションは変わらないみたいなので。

Coming Soon: Zen Cart v2.0.0 – Zen Cart Support

Zen Cart の次期バージョンがついに V.2.0.0 にメジャーバージョンアップ!らしいです。

早ければ、来年1月にもパブリックベータ版としてリリースされる予定だそうです。
従来の V.1.3 系と大きく異なりテンプレートシステムを含めて大幅に見直されているらしいです。

特に目立った(気になった)ポイント

  • シンプルになったテンプレート!
    非常に煩雑な現行のテンプレートシステムを一新するようです。
  • オーバーライドは健在!
    コアを触ることなくサイトを更新可能なオーバーライドはv.2でも健在らしいです。
  • 標準で UTF-8 をサポート!
    ネイティブ言語として UTF-8 をサポートするそう。
  • PHP 5.2 & MySQL 4.1 以上
    もはや PHP 4 は、切り捨ててます。

他にも従来モジュールに頼っていた部分のいくつかをコアに導入されているみたいです。

Coming Soon: Zen Cart v2.0.0 – Zen Cart Support

Javascript 親ウィンドウを更新(Reload)してみる

意外ともたつくことが多いのでメモ。

ページの流れ

  • メインのページ(A)
  • サブウィンドウのページ(B)

  1. メインページ(A) のリンクから サブウィンドウ(B) を別窓で開く。
  2. サブウィンドウ(B) で、フォーム処理(ログインとかね)する。
  3. サブウィンドウ(B) を閉じたら、メインページ(A) を更新する。

この流れで、よくある失敗が、メイン(A)の更新処理を別ウィンドウ(B)から、どうやってアクセスするかというところ。

  • サブウィンドウ(B)から見たメインウィンドウ(A) → window.opener
  • それを location.reload() して更新する。

実際には、サブウィンドウ(B) の onload とか、 「閉じるリンク」の onclick などのいずれかに

<script type=”text/javascript”><!–
window.opener.location.reload();
//–></script>

を記述します。

onload に記述した場合、サブウィンドウ(B) を閉じる前に、バックグラウンドで更新するので、ウィンドウをブラウザの閉じるボタン[×] で閉じられた場合にも対応できるのでオススメ。

※メインページがフォームPOST直後のページだったり、動的なページの場合は、更新タイミングで「POSTデータを再送信しますか?」みたいな警告が出る場合があります。
これは、メインページの方で、対処しておくといいです。