2017年03月 / 01月≪ 12345678910111213141516171819202122232425262728293031≫02月

インフォメーション

FC2ブログで画像等を一括アップロードするソフトを地味に配布してます。
FC2ブログ用ファイルアップロードの最新版はこちら
(ベクター)FC2ブログ用ファイルアップロード

--.--.-- (--)

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。


 |  --:--  |  スポンサー広告  |  Top↑

2012.02.20 (Mon)

EC-CUBEの新着情報を個別ページ表示とかにしたい

EC-CUBEの新着情報ブロックをもうちょっとこう、ブログっぽくしたい人多いのではないかと思う。
せめて個別ページがほしい・・・ブロックは最新何件分のたいとるくらいでいい・・・

ってことで作りました。
http://uenomemo.sakura.ne.jp/soft/eccube_uenews.zip

どういうもんかっつったら通常のこのブロックを
uw000002_20120220044648.jpg

こーして
uw000003_20120220044649.jpg
一覧があって
uw000004_20120220044650.jpg
こういうページになるようにするってやつです。
uw000005_20120220044651.jpg

中に入ってるinsert.sqlを実行すれば未使用ブロックに出るので
uw000006_20120220044653.jpg
こーしたりできるし
uw000007_20120220044654.jpg

ページの設定もできるようになるので
uw000008_20120220044655.jpg
こーすれば
uw000009_20120220044656.jpg
こーなるし。
uw000010_20120220044657.jpg

使い方は
1)
http://uenomemo.sakura.ne.jp/soft/eccube_uenews.zip
をダウンロードして解凍
2)
中のhtmlとdataフォルダをeccubeのhtmlとdataフォルダに上書き
3)
insert.sqlを実行。エラーが出なければ成功。
エラーが出たらpage_id(29,30)とかbloc_idがかぶってる可能性があるのでかぶらない数字に変えて実行。
あ、最初からかぶりそうもない数字にしておけばよかったかな・・・

既存の「新着情報」の機能を使ってるので、追加する際は通常通り管理画面の新着情報から登録してください。

中身はシンプルなので、レイアウト調整するなりnewアイコン付けるなりはここからいじればいいかなって感じ。
cssもまったく当ててないからなんかぎゅうぎゅうだしw
ページ、ブロックともにdefaultテンプレートだけしか作ってないんで、携帯とかスマホ画面に出す場合はまたファイル作るなりなんなりしないとだめ。

ちなみにブロックに表示される件数はLC_Page_FrontParts_Bloc_UeNews.php内で指定してます。

サンプルがてらec-cube入れた。
http://uenomemo.sakura.ne.jp/eccube/html/

また使うことになりそうなんでまとめといた。

ec-cubeって自由度高いのはいいんだけど、1画面作るのにあっちこっちにファイル4個くらい作ったりするのがめんどいな。
スポンサーサイト


 |  05:47  |  PHP  |  トラックバック(0)  |  コメント(5)  |  Top↑

2012.02.17 (Fri)

EC-CUBEでシーケンステーブルの作成箇所

EC-CUBE(2.11)で機能追加して、テーブルも追加した場合
html/install/sql/create_table_xxx.sql
にテーブルを作成するクエリを追加するんだけども、シーケンステーブルの作成は記述されてない。
どこにあるんだろう?と思って探したら
html/install/index.php内に記述してあった。
最後の方(1025行目くらい)にあるgetSequencesにシーケンスを使う該当のテーブルとカラム名を追加すればいいみたい。

/**
* シーケンスを使用するテーブル名とカラム名の配列を返す.
*
* @return array シーケンスを使用するテーブル名とカラム名の配列
*/
function getSequences() {
return array(array("dtb_best_products","best_id"),
array("dtb_bloc", "bloc_id"),
array("dtb_category", "category_id"),
array("dtb_class", "class_id"),
array("dtb_classcategory", "classcategory_id"),
array("dtb_csv", "no"),
array("dtb_csv_sql", "sql_id"),
array("dtb_customer", "customer_id"),
array("dtb_deliv", "deliv_id"),
array("dtb_holiday", "holiday_id"),
array("dtb_kiyaku", "kiyaku_id"),
...

↑ここらへん。
たとえば
テーブル名:dtb_testdata
シーケンスを使うカラム:testdata_id
だとしたら array("dtb_testdata", "testdata_id")。

mtbテーブルは使わないのかなと思ったけど、mtbの方は管理画面でIDから手入力前提だから要らないんだな。



 |  02:00  |  PHP  |  トラックバック(0)  |  コメント(0)  |  Top↑

2012.02.05 (Sun)

EC-CUBEでinsertしたときのauto_increment値(mysql)

EC-CUBEだとidなんかはシーケンス作るのが正しいみたいなんだけど、そうでなくidとかをauto_incrementにしてあるテーブルに挿入した際の直近のincrement値を取る方法(mysqlのみ)
$q = SC_Query_Ex::getSingletonInstance();
$row = $q->getAll('select last_insert_id() as id');
$id = $row[0]['id'];


 |  19:47  |  PHP  |  トラックバック(0)  |  コメント(0)  |  Top↑

2012.01.30 (Mon)

EC-CUBEでPCか携帯かスマホか判断

EC-CUBEでPCか携帯かスマホか判断するにはSC_Display_Ex::detectDevice()を使う。
定数で
DEVICE_TYPE_MOBILE
DEVICE_TYPE_SMARTPHONE
DEVICE_TYPE_PC
が設定されているはずなのでそれが返る。
if(SC_Display_Ex::detectDevice() == DEVICE_TYPE_MOBILE){
SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, "", false,"携帯には対応してません");
}

みたいな感じで。


 |  18:30  |  PHP  |  トラックバック(0)  |  コメント(0)  |  Top↑

2012.01.22 (Sun)

EC-CUBEでエラーページを表示する

既存のエラーページを利用して、任意のエラーメッセージ表示させたいとき

SC_Utils_Ex::sfDispSiteError(FREE_ERROR_MSG, "", false,"指定のデータが見つかりません。とか。");

第一引数にFREE_ERROR_MSGを渡せば引数で渡したメッセージが出る。
引数2個目はセッションオブジェクト?まだよくわからん。
3個目はtrueだと画面下部のボタンが「トップページへ」になり、falseだと「戻る」ボタンになる。
4個目はFREE_ERROR_MSGの場合の表示するメッセージ

第一引数を他の定数にすれば既存のエラーメッセージも使えるし。
既に定義されてるエラーメッセージを確認するには
data/class/pages/error/LC_Page_Error.phpのaction()を見たらいい。

sfDispSiteError内でexitを呼んでるので、sfDispSiteErrorを呼んだらexitを記述しなくていい。

EC-CUBEはドキュメントが少ないのでメモしないと忘れる・・・


 |  16:47  |  PHP  |  トラックバック(0)  |  コメント(0)  |  Top↑
 | BLOGTOP | 
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。