2009 年 4 月 のアーカイブ

EC CUBEにパンくずナビを設置する

2009 年 4 月 21 日 火曜日

ソースそのものを以下のサイトを参考

www.gnnk.net
web book movie
[EC-CUBE]パンくずリスト

バージョンが古いのか、上記サイトの指示に従ってソースを埋めても動作しなかったので、以下覚書。
なお、以下の行数はEC CUBE version 2.3.4

/data/class_extends/helper_extends/SC_Helper_DB_Ex.php
37行目に以下を追加

function sfGetTopicPath($category_id){
// 商品が属するカテゴリIDを縦に取得
$objQuery = new SC_Query();
$arrCatID = $this->sfGetParents($objQuery, "dtb_category", "parent_category_id", "category_id", $category_id);
$TopicPath = " > ";

// カテゴリー名称を取得する
foreach($arrCatID as $key => $val){
$sql = "SELECT category_name FROM dtb_category WHERE category_id = ?";
$arrVal = array($val);
$CatName = $objQuery->getOne($sql,$arrVal);
if( $val != $category_id){
$TopicPath .= '<a href="./list.php?category_id=' .$val . '">' . $CatName . '</a> > ';
}else{
$TopicPath .= $CatName;
}
}

return $TopicPath;
}
function sfGetTopicPath2($category_id){
// 商品が属するカテゴリIDを縦に取得
$objQuery = new SC_Query();
$arrCatID = $this->sfGetParents($objQuery, "dtb_category", "parent_category_id", "category_id", $category_id);
$TopicPath = " > ";

// カテゴリー名称を取得する
foreach($arrCatID as $key => $val){
$sql = "SELECT category_name FROM dtb_category WHERE category_id = ?";
$arrVal = array($val);
$CatName = $objQuery->getOne($sql,$arrVal);
$TopicPath .= '<a href="./list.php?category_id=' .$val . '">' . $CatName . '</a> > ';
}
return $TopicPath;
}

これは指定通りに、{}の中に埋め込む。

/data/class/pages/products/LC_Page_Products_List.php
107行目に以下を追加
$TopicPath = $objDb->sfGetTopicPath($arrCategory_id[0]);
$this->tpl_topicpath = $TopicPath;

こちらは107行目ではなく113行目

/data/class/pages/products/LC_Page_Products_Detail.php
211行目に以下を追加

$arrTopicPath = $objDb->sfGetTopicPath2($arrCategory_id[0]);
$this->tpl_topicpath = $arrTopicPath;

これは211行目ではなく231行目

/data/Smarty/templates/default/site_main.tpl
37行目に以下を追加

<!–{if $tpl_topicpath != ""}–>
<a href="<!–{$smarty.const.SITE_URL}–>index.php">TopPage</a>
<!–{$tpl_topicpath}–>
<!–{$arrProduct.name|escape}–>
<!–{/if}–>

これは、設置した場所であれば、指定以外(detail.phpやlist.php)でも可。
ただし、URLを静的化している場合でも、発行されるURLは動的(list.php?category=***の形)になる。

このエントリーを含むはてなブックマーク

EC-CUBE2.4.0 RC2 リリース

2009 年 4 月 21 日 火曜日

EC-CUBE2.4.0 RC1が先月末に公開され、本日RC2がリリース。
機能全般の修正といったところだろうか。

https://www.ec-cube.net/release/detail.php?release_id=202

■不具合修正
管理画面の商品登録にて関連商品が登録できない不具合を修正いたしました。
管理画面のログイン機能にて、11文字以上のパスワードでログインできない不具合、及びその他パスワード定数化に関連する不具合を修正いたしました。
管理画面の商品並び替え機能にて、一定の条件下のみ商品の並べ替えが正常に動作しない不具合を修正いたしました。
管理画面の受注履歴編集機能にて、一定の条件下のみ編集が正常に完了しない不具合を修正いたしました。
マイページのお気に入り商品一覧にて、商品が重複して表示される不具合を修正いたしました。

このエントリーを含むはてなブックマーク

EC CUBEのタイトルをトップページ・商品一覧ページ・商品詳細ページで分ける

2009 年 4 月 21 日 火曜日

EC CUBEはデフォルトではタイトルまわりが、SEO的にもユーザービリティ的も良くは感じない。

site_frame.tplを以下のように変更

<!–{assign var=index  value="`$smarty.const.URL_DIR`index.php"}–>

<!–{if $smarty.server.PHP_SELF==$index}–>
<title><!–{$arrSiteInfo.shop_name}–></title>

<!–{elseif $tpl_title == "商品一覧ページ"}–>
<title><!–{$tpl_subtitle|escape}–> : <!–{$arrSiteInfo.shop_name}–></title>

<!–{else}–>

<title><!–{$tpl_title|escape}–> : <!–{$arrSiteInfo.shop_name}–></title>
<!–{/if}–>

商品一覧ページでは最上階のカテゴリを表示

このエントリーを含むはてなブックマーク

EC CUBEの商品詳細ページでタイトルなどに商品詳細を出力しない方法

2009 年 4 月 21 日 火曜日

EC CUBEの><!–{$tpl_title|escape}–>は商品詳細ページに 商品詳細 タイトル と出力するので、SEO対策にとっても、ユーザ-にとっても邪魔な存在。
そこでclass/pages/products/LC_Page_Products_Detail.phpの中の254行目を以下のように変更する。

$this->tpl_title = "商品詳細 ". $this->arrProduct["name"];

$this->tpl_title = $this->arrProduct["name"];

これで<!–{$tpl_title|escape}–>を用いても、商品詳細の文字は出力されなくなる。

このエントリーを含むはてなブックマーク

過去のホームページを調べる方法

2009 年 4 月 21 日 火曜日

以下のリンク先で過去のホームページをチェックする事ができる。必ずインデックスされているとは限らないが、お気に入りのサイトが消えている。自分のホームページのファイルが消えてしまってなんとか発掘したい…等の時に活用。
GoogleやYahoo!のキャッシュは一時的で更新されてしまえば、それよりも前のデータを見つける事はできないが、以下サイトなら2005年よりも前のデータ等を見る事が出来る。

http://www.archive.org/web/web.php

このエントリーを含むはてなブックマーク

JavaScriptとCSSで任意にフォントサイズを切り替える方法

2009 年 4 月 20 日 月曜日

大手のニュースサイトなどには、任意でフォントサイズを切り替える方法がある。
最も簡単な方法(検索して一番紹介されている方法)はstyleswitch.jsを用いた方法。

<html>
<head>

<title>フォントサイズを任意で切り替える</title>

<script src="styleswitch.js" type="text/javascript"></script>

<link rel="stylesheet" type="text/css" href="style.css" />

<link rel="alternate stylesheet" type="text/css" media="screen" title="font1" href="font1.css" />
<link rel="alternate stylesheet" type="text/css" media="screen" title="font2" href="font2.css" />
<link rel="alternate stylesheet" type="text/css" media="screen" title="font3" href="font3.css" />
<link rel="alternate stylesheet" type="text/css" media="screen" title="font4" href="font4.css" />

</head>
<body>

<span id="changefont">
<ul>
<li>フォントサイズ:</li>
<li><a href="javascript:chooseStyle('font1', 30)">小</a></li>
<li><a href="javascript:chooseStyle('font2', 30)">中</a></li>
<li><a href="javascript:chooseStyle('font3', 30)">大</a></li>
<li><a href="javascript:chooseStyle('font4', 30)">最大</a></li>
</ul>
</span><!–changefont–>

</body>
</html>

style.css
———————————–
#changefont li{
display: inline;
}

font1.css
———————————–
body{
font-size: 0.9em;
}

font2.css
———————————–
body{
font-size: 1.0em;
}

font3.css
———————————–
body{
font-size: 1.3em;
}

font4.css
———————————–
body{
font-size: 1.6em;
}

上記以外にはjquery.jsを用いる方法等が利用されているよう。

他にも様々な方法を紹介しているサイトはこちら
CSS(スタイルシート)をjavascriptで切り替える色々な方法cookie

このエントリーを含むはてなブックマーク

WordPressで簡単にブックークを導入するプラグイン:wp-hatena

2009 年 4 月 20 日 月曜日

はてなのブックマーク導入方法のページでも各無料ブログや、Movable Typeへの導入方法は記載されているが、WordPressについての記載はない。もっとも、検索エンジンで調べれば、様々なサイトで紹介されているので、さほど難しいわけではないが、他のブックマークも導入する場合、wp-hatenaというプラグインを導入すると、作業が簡略化できる。

はてなブックマークをWordPressに導入するプラグイン:wp-hatena
wp-hatenaを拡張させたプラグイン:wp-hatena

様々なブックマークを一括で導入できるプラグインは多々あったが、任意のブックマークだけを選択し、画像のアップロード等の作業を省けるwp-hatenaは使い勝手が良い。

このエントリーを含むはてなブックマーク

.htaccessで画像の直リンクを禁止・制御

2009 年 4 月 19 日 日曜日

画像の直リンクは転総量の問題から極力制御したいもの。一般的なサイトでは問題ないだろうが、とりわけ写真や画像等の素材サイトではサーバー維持の死活問題になりかねない。

そこで、.htaccessに以下のような記載を行う。

<Files ~ "\.(jpg|gif)$">
SetEnvIf Referer "自サイトのURL" OK
Order allow,deny
allow from env=OK
</Files>

PNGやJPGを追加したい場合はjpg|gif|png|bmpなどのように追加すればOK

このエントリーを含むはてなブックマーク

Firefoxでダウンロード情報を詳細表示するアドオン:Download status

2009 年 4 月 17 日 金曜日

Download statusはFirefoxのアドオンでダウンロードのステータスをデフォルトより詳細に表示する事が可能
https://addons.mozilla.org/en-US/firefox/addon/8598

このエントリーを含むはてなブックマーク

PHPエラー:Warning: mb_ereg() [function.mb-ereg]: mbregex compile err: premature end of char-class ***.php on line xxx

2009 年 4 月 16 日 木曜日

xampp(PHP)で警告文が出ないのに、サーバーにアップするとWarning: mb_ereg() [function.mb-ereg]: mbregex compile err: premature end of char-class ***.php on line xxxというエラーが発生するケースがある。

この場合、mb_ereg()の手前に mb_regex_encoding("UTF-8");を挿入する事で解決できる。
xamppでエラーが出ている場合は、プログラムそのものに間違いがある可能性が高い。

このエントリーを含むはてなブックマーク