2007年12月12日水曜日

プロダクトタイプ -> 商品情報フィールドの追加

商品情報フィールドの追加は、現状ではプロダクトタイプの追加変更というやりかたで行う。しかし、これはzen cartのカスタマイズのなかかもでもっともわかりにくいところと想像できる。しかし、たいていのことなら
-----------------
Product Type Book
-----------------
New product type for Zen-Cart: http://www.zen-cart.com/
Author: moku @ http://moku.ghosthack.net/
http://www.zen-cart.com/forum/showthread.php?t=35389
をインストールし、豊富なフィールドをへんこうすることで対応できる
なお、インストールするときmySqlを実行することになるが、このとき、テーブルネームのプリフィクスをインストールされているテーブルに変更すること。また、zencartないのsqlコマンドを使うとかってに、テーブルプリフィクスを操作されるので、めんどうがらずmyPHPsqlなどを使うこと

zen cart EUC -> UTF8へ変更

zen cartの文字コードはEUCで、UTF8ではない。よって、UFT8に変更した。一見動作は問題ないが、コントリビューション等を追加していくと、次々に問題がでてくる。
 UTF8への動機はつぎの2つで、じつはあいまいな動機であった
・トレンド
・その他のデータベースでの連携
しかし、コントリビューションは、ボランティアであり、あらゆることを考慮してつくられてはいない。結論としてもっとも厄介なmySql等文字コードの問題に直面することになり、結局今回はもどした。

2007年12月4日火曜日

zen cart utf-8 コードでのインストールの仕方

1)
以下のページのコントリビューションから、UTF版をダウンロードする
http://zen-cart.jp/pukiwiki/475.html
2)ダウンロードをしたら、管理画面、ショップページで文字化けがないかチェックする
おかしかったら以下を試す

3).htaccess

php_value default_charset UTF-8
php_value mbstring.language Japanese
php_value mbstring.internal_encoding UTF-8
php_flag mbstring.encoding_translation On
php_value mbstring.http_input auto
php_value mbstring.http_output pass

2007年8月21日火曜日

特殊文字 (エスケープシーケンス)

\n 改行
\r キャリッジリータン
\t タブ
\\ \
\$ $
\" "
\' '

透過 gif フォトショップでのつくりかた

インデックスカラーに変換
消しゴムツールでけします。

クラスの特定の要素の指定について

.example p { color: red; }

特定の範囲内(div class=exaple>から
)にある要素Pにのみスタイルを適用

例)




この文字にスタイルの指定が適用されます





p.example { color: red; }

要素名に続けてクラス名を指定すると、その種類の要素でのみクラスの指定が適用。

例)

この文字にスタイルの指定が適用

2007年8月10日金曜日

テーブルの行のバックグランドカラーを交互に変える

(1)ループのはじめに初期化
$odd = '-alt';
?>

(2)ループ内で、クラスを出力
"

(3)ループが終了する直前に、データを反転(セット)

if ('-alt' == $odd) $odd = '';
else $odd = '-alt';
?>

以上、クラスを適当に指定すれば完了

2007年7月31日火曜日

ヘッドラインブロックを直リンクにする

[Xoops]Xoopsのヘッドラインブロックを直リンクにする

headline_block.htmlを以下のように変更


    <{section name=i loop=$items}>
    <{if $items[i].title != ""}>
  • <{$items[i].title}>

  • <{/if}>
    <{/section}>

から

    <{section name=i loop=$items}>
    <{if $items[i].title != ""}>
  • <{$items[i].title}>

  • <{/if}>
    <{/section}>

2007年7月25日水曜日

PHPでフォームを介さずにGETとPOSTを送信する

PHPでフォームを介さずにGETとPOSTを送信する



フォームを介さず、PHPでPOSTリクエストを送る方法。


下記のようなフォームからhttp://example.com/index.phpへ送信した場合、






ブラウザーのアドレスバーには以下の様に表示される。
http://example.com/index.php?id=1&data=test


上記をPHPからフォームを介さずGETで送信する場合、fsockopenを利用する。

$server = "example.com"; // 送信したいサーバのアドレス
$port = 80; // HTTPなので80
$timeout = 30; // 接続に失敗した場合の待ち時間

$sock = fsockopen($host, $port, $errno, $errstr, $timeout); // サーバに接続する
if($sock === FALSE){ // 接続に失敗したらメッセージを表示し、終了させる
echo "SOCK OPEN ERROR
";
exit(-1);
}

// HTTPヘッダ部分の送信になる。
fwrite($sock, "GET http://" . $server . "/index.php?id=1&data=test HTTP/1.0\r\n");
// ヘッダの終了を通知
fwrite($sock, "\r\n\r\n");

fclose($sock);

?>

以上で、GETリクエストがPHPから直接送信可能になる。




form methodを下記のようにGETからPOSTに変更し、GETと同じように送信した場合、







ブラウザーのアドレスバーにはGETの場合とは違い、送信された内容がアドレス部分には表示されない。
http://example.com/index.php


上記をPHPからフォームを介さずPOSTd送信する場合もfsockopenを利用する。
基本的にはGETの場合と変わらない。


// GETとは違い直接リクエスト内容はURLに含めない
$server = "http://example.com/index.php";
$host = "localhost";
$port = 80;
$timeout = 30;
// 送信したい内容をGETと同じくname=value&name=valueの形式で指定する。
$data = "id=1&data=test";

$sock = fsockopen($host, 80, $errno, $errstr, 60);
if($sock === FALSE){
echo "fsockopen error";
return (-1);
}


fwrite($sock, "POST " . $server . " HTTP/1.0\r\n");
// おまじないのような物、POSTで送信する為に必要なヘッダ
fwrite($sock, "Content-Type: application/x-www-form-urlencoded\r\n");
// 送信する内容のデータ長を送る
fwrite($sock, "Content-Length: " . strlen($data) . "\r\n");
// ヘッダの終了を通知
fwrite($sock, "\r\n");
// 内容の送信
fwrite($sock, $data);
// 内容の終了を通知
fwrite($sock, "\r\n");

fclose($sock);

?>

でPHPからフォームを介さずにPOSTでデータを送信することが可能になる。



GET,POST共に、上記の様にヘッダを送信した場合、ログにはUser-AgentやReferer等が表示されないので、表示したい場合は
fwrite($sock, "POST " . $server . " HTTP/1.0\r\n");
の後に

User-AgentにPHPと指定。
fwrite($sock, "User-Agent: PHP\r\n");

Refererに例えば、http://example.com/index.php?id=1&data=testと残してみる。
fwrite($sock, "Referer: $server?$data\r\n");

のような感じで、ヘッダを送信すると良い。

2007年5月8日火曜日

2007年5月5日土曜日

audacity

ファイルをエキスポートするとき、24BIT、96KHZで出力したければ、プレファレンスのクオリティをその他で
”singed 24 bit pcm"
にせっていする

2007年5月1日火曜日

カスタムフィールドの使用


$mykeys=get_post_custom_keys();
foreach($mykeys as $mykey){
echo "";
}
?>
credit
";
echo $mykey;
echo "
";
echo get_post_meta($post->ID,$mykey,TRUE);
echo "

2007年4月19日木曜日

テキスト 行数 ファイル分割

Div - ファイル分割/結合ユーティリティー
を使用

2007年4月18日水曜日

文字コードはeuc

標準の内部コードはeucで動作しているので、easy populate等で日本語データをアップするときはそのように変換する

2007年4月17日火曜日

ページのテンプレートを増やすには

ページ・テンプレートには、テンプレート・ヘッダーを含めなくてはならない。例
/*
Template Name: "******"
*/
*"******"は適当ななまえ。

これで、ページ選択時にテンプレートが選択できるようになる

2007年4月16日月曜日

全体の余白を削除するには

boby {
margin:0;
padding:0
}
とする

2007年4月15日日曜日

csvによる一括登録

easy populateをインストールする

http://www.oscommerce.com/community/contributions,500

だたし、多くのバージョンがあり、間違える可能性あり。v2.6は携帯用日本語版との動作確認済み

easy populateはcsvファイルの読み込みだが、タブやコンマ区切りである必要はなく、configilationのパートで変更可能。ちなみに","などを文章で使用する可能性がある場合、そしてファイルメーカーからデータを出力する場合(ファイルメーカーではテキスト内でタブデータはv6においてはできない)は"~"をフィールド区切りとして使用した。フィールドの誤動作をこのおかげで最小限にすることが可能

多くのヒントは、easypopulate.phpファイル内に明記されているので、こちらを熟読

携帯電話兼用

http://www.searay.co.jp/product/oscpm/index.html

2007年4月7日土曜日

install 時のパスワード

install 時のパスワードは
admin
admin
になっているので、要注意

2007年4月5日木曜日

ec-cubeのモバイル用テンプレート変更

ec-cubeのモバイル用テンプレート変更する場合は、以下のアドレスから
\data\Smarty\templates\mobile

2007年3月28日水曜日

PHP等によるapache権限

phpなどのプログラムは、apache権限で動作しますので、プログラムからディレ
クトリ・ファイルを作成された場合、UID・GIDは、apacheとなります。

UID・GIDapacheのファイル・ディレクトリのパーミッションを変更される場合は

SSHでログイン後コマンドを入力します。

WinSCP3、putty

SSHのソフトputtyは、以下のサイトからダウンロード出来ます。

http://hp.vector.co.jp/authors/VA024651/download/file/puttykjbin-20050503.zip

WinSCP3
http://www.mita.cc.keio.ac.jp/manual/nt/ws3i.html

2007年3月27日火曜日

nucleusからwordPressへの乗り換え

nucleusからMTとしてブログを以下のプラグインを使用し出力
http://japan.nucleuscms.org/wiki/plugins:impexp
wordPressではMTとしてインポートする。

2007年3月5日月曜日

記事投稿とページ作成

1)記事投稿はいわいるデータのポスト
2)固定的な、たとえば"about"、"会社概要"など、のページは"ページ作成"でおこなう

2007年3月4日日曜日

EUCとUJIS

日本語 EUC のことを 単にUJISという

2007年3月3日土曜日

php.iniの設定を変更できない場合

php.iniの設定を変更できない場合の文字化けの対処。

目的のディレクトリ内の.htaccessを編集する。


内部エンコード、HTTP出力エンコード、HTTP入力エンコード

全てEUC-JPに設定する場合:

-----

php_flag output_buffering On
php_value default_charset EUC-JP
php_value mbstring.language Japanese
php_flag mbstring.encoding_translation On
php_value mbstring.http_input auto
php_value mbstring.internal_encoding EUC-JP
php_value mbstring.http_output EUC-JP
php_value mbstring.language "Japanese"
php_flag output_buffering On
php_value output_handler "mb_output_handler"
php_flag session.use_trans_sid On
php_value default_charset "Shift_JIS"
php_value mbstring.internal_encoding "EUC-JP"
php_value mbstring.http_input "auto"
php_value mbstring.http_output "SJIS"
php_flag mbstring.encoding_translation On
php_value mbstring.detect_order "auto"
php_value mbstring.script_encoding "EUC-JP"
php_value mbstring.substitute_character "none;"

2007年3月1日木曜日

スクリプトで「除外」を指定するときは

1)新規検索条件
2)除外の条件を指定するステップ)
3)レコードを対象外に
注意事項としては、「レコードを対象外」には一行づつ設定すること。

2007年2月26日月曜日

操作性チェックリスト

1)ホームでサイトの内容をあきらかに
2)ユーザーがわかりやすいカテゴリに
3)ユーザーの目的達成を考えた構成
4)各ページの内容を独立させる
5)各ページからホームに戻れるようにする
6)ページを削除、移動しない
7)検索窓を配置
8)検索結果から情報をさがしやくする
9)重要な情報はページの上部に
10)ページのスクロール領域に気おつける
11)オンラインで読みやすい文章にする
12)ユーザーがサイズを変更できる
13)文字を画像化しない
14)クリックできる部分を明確に
15)リンクをわかりやすく:履歴
16)HTMLファイル以外は告知する
17)ユーザーの入力操作は最小限に

size of page is 760 wide is max

there are no stander size
msot small display has : 640+480

but nowday smallest displya at least has 760 on wide ,

Now 2007 ,if you make page most secure ,set page within 760 of wide

2007年2月20日火曜日

画像

画像->jpeg
音楽->3gq o mp3
画像は横94×縦100ピクセル程度であれば、かなりカバーする

文字コード

SJIS

2007年2月6日火曜日

return

to print out "return code" from test data ,use "nl2br();"

%

% is special charactor to express "SOMETHING".

1)'%a' => any records that ended 'a' .
2)'a%' -> any records that started 'a'.
3)'%a%' -> any records that included 'a'.

2007年2月5日月曜日

select

$sql="query strings";
$result=mysql_query($sql);
$row=mysql_num_rows($result);

if($rows==0){
die;
}
else{
while($row=myswl_fetch_array($result)){
$a1=$row["field name1"];
$a2=$row["field name2"];
}

insert data



PHP¤Î¥Æ¥¹¥È


$con=mysql_connect ("localhost", "id", "ps") or die ('I cannot connect to the database because: ' . mysql_error());
print ("connection is seccuess");

mysql_select_db('worloka3_test');
$last_name = addslashes($_POST['last_name']);
$first_name = addslashes($_POST['first_name']);
$age = addslashes($_POST['age']);

$sql = << INSERT INTO member
(
last_name,
first_name,
age
)
VALUES
(
'$last_name',
'$first_name',
$age
)
EOS;

print "

".$sql;
$result = mysql_query($sql);

print "
".$result;

mysql_close($con);
?>


charactor code

windows -> SHIFT JIS
PHP -> EUC-JP

connect to sql by php

$con=mysql_connect ("localhost", "your id", "your ps") or die ('I cannot connect to the database because: ' . mysql_error());
print ("connection is seccuess");
mysql_close($con);
?>

2007年2月2日金曜日

URL

for "move_uploaded_file" or other function ,it need to tell URL like this,

$file_dir = '/home/worloka3/public_html/test/image/';

ex :
$file_dir = '/home/worloka3/public_html/test/image/';
$file_path = $file_dir . $_FILES["uploadfile"]["name"];

move_uploaded_file($_FILES["uploadfile"]["tmp_name"], $file_path)
$img_dir = "/test/image/";
$img_path = $img_dir. $_FILES["uploadfile"]["name"];
$size = getimagesize($file_path);

2007年1月30日火曜日

get and post

1.get
send link data ( typically search data) to WEB server

php:
send url with "get data" like "test.php?id=11" .

2.post
form data .it also send picture data .

case of PHP :
script must be started with "extract($_POST)" to extract.
script must be started with "extract($_GET)" to extract.

download

$downloadfile = "data.csv";
header("Content-Disposition: attachment; filename=$downloadfile");
header("Content-type: application/octet-stream; name=$downloadfile");
$result = file_get_contents("test.data");
print $result;

merge for array

there is 2 way to merge for array:

1) use '+'
2) use array_merge()

--
what different is ;
1) '+' is not overwrite on same key
2) array_merge does overwrite

quat strings

it possible to use both " and ' to quat strings .but ' is more use full when you want to write "html codes" .because "html code" often include " .
--
Using " inseide string quat ,pur \ before string.

配列のポインタ

pointar is resetted for "forearch"
--
pointar is not resetted for "while" and "list"

参考演算子

$変数 = (条件式)? 値1 : 値2 ;

--
same as :

if(条件式)
$変数 = 値1 ;
else
$変数 = 値2 ;
end

2007年1月29日月曜日

代入演算子

.= ;

変数に文字列を連結代入