商品情報フィールドの追加は、現状ではプロダクトタイプの追加変更というやりかたで行う。しかし、これは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などを使うこと
2007年12月12日水曜日
zen cart EUC -> UTF8へ変更
zen cartの文字コードはEUCで、UTF8ではない。よって、UFT8に変更した。一見動作は問題ないが、コントリビューション等を追加していくと、次々に問題がでてくる。
UTF8への動機はつぎの2つで、じつはあいまいな動機であった
・トレンド
・その他のデータベースでの連携
しかし、コントリビューションは、ボランティアであり、あらゆることを考慮してつくられてはいない。結論としてもっとも厄介なmySql等文字コードの問題に直面することになり、結局今回はもどした。
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
以下のページのコントリビューションから、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日火曜日
クラスの特定の要素の指定について
.example p { color: red; }
特定の範囲内(div class=exaple>から
)にある要素Pにのみスタイルを適用特定の範囲内(div class=exaple>から
例)
この文字にスタイルの指定が適用されます
p.example { color: red; }
要素名に続けてクラス名を指定すると、その種類の要素でのみクラスの指定が適用。
例)
この文字にスタイルの指定が適用
2007年8月10日金曜日
テーブルの行のバックグランドカラーを交互に変える
(1)ループのはじめに初期化
$odd = '-alt';
?>
(2)ループ内で、クラスを出力
$odd = '-alt';
?>
(2)ループ内で、クラスを出力
"
(3)ループが終了する直前に、データを反転(セット)
if ('-alt' == $odd) $odd = '';
else $odd = '-alt';
?>
以上、クラスを適当に指定すれば完了
(3)ループが終了する直前に、データを反転(セット)
if ('-alt' == $odd) $odd = '';
else $odd = '-alt';
?>
以上、クラスを適当に指定すれば完了
2007年7月31日火曜日
ヘッドラインブロックを直リンクにする
[Xoops]Xoopsのヘッドラインブロックを直リンクにする
headline_block.htmlを以下のように変更
から
headline_block.htmlを以下のように変更
- <{$items[i].title}>
<{section name=i loop=$items}>
<{if $items[i].title != ""}>
<{/if}>
<{/section}>
から
- <{$items[i].title}>
<{section name=i loop=$items}>
<{if $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");
のような感じで、ヘッダを送信すると良い。
フォームを介さず、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日土曜日
2007年5月1日火曜日
カスタムフィールドの使用
| credit | |
|---|---|
| "; echo $mykey; echo " | "; echo get_post_meta($post->ID,$mykey,TRUE); echo " |
2007年4月19日木曜日
2007年4月18日水曜日
2007年4月17日火曜日
ページのテンプレートを増やすには
ページ・テンプレートには、テンプレート・ヘッダーを含めなくてはならない。例
/*
Template Name: "******"
*/
*"******"は適当ななまえ。
これで、ページ選択時にテンプレートが選択できるようになる
/*
Template Name: "******"
*/
*"******"は適当ななまえ。
これで、ページ選択時にテンプレートが選択できるようになる
2007年4月16日月曜日
2007年4月15日日曜日
csvによる一括登録
easy populateをインストールする
http://www.oscommerce.com/community/contributions,500
だたし、多くのバージョンがあり、間違える可能性あり。v2.6は携帯用日本語版との動作確認済み
easy populateはcsvファイルの読み込みだが、タブやコンマ区切りである必要はなく、configilationのパートで変更可能。ちなみに","などを文章で使用する可能性がある場合、そしてファイルメーカーからデータを出力する場合(ファイルメーカーではテキスト内でタブデータはv6においてはできない)は"~"をフィールド区切りとして使用した。フィールドの誤動作をこのおかげで最小限にすることが可能
多くのヒントは、easypopulate.phpファイル内に明記されているので、こちらを熟読
http://www.oscommerce.com/community/contributions,500
だたし、多くのバージョンがあり、間違える可能性あり。v2.6は携帯用日本語版との動作確認済み
easy populateはcsvファイルの読み込みだが、タブやコンマ区切りである必要はなく、configilationのパートで変更可能。ちなみに","などを文章で使用する可能性がある場合、そしてファイルメーカーからデータを出力する場合(ファイルメーカーではテキスト内でタブデータはv6においてはできない)は"~"をフィールド区切りとして使用した。フィールドの誤動作をこのおかげで最小限にすることが可能
多くのヒントは、easypopulate.phpファイル内に明記されているので、こちらを熟読
2007年4月7日土曜日
2007年4月5日木曜日
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
クトリ・ファイルを作成された場合、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としてインポートする。
http://japan.nucleuscms.org/wiki/plugins:impexp
wordPressではMTとしてインポートする。
2007年3月5日月曜日
2007年3月4日日曜日
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;"
目的のディレクトリ内の.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日木曜日
2007年2月26日月曜日
操作性チェックリスト
1)ホームでサイトの内容をあきらかに
2)ユーザーがわかりやすいカテゴリに
3)ユーザーの目的達成を考えた構成
4)各ページの内容を独立させる
5)各ページからホームに戻れるようにする
6)ページを削除、移動しない
7)検索窓を配置
8)検索結果から情報をさがしやくする
9)重要な情報はページの上部に
10)ページのスクロール領域に気おつける
11)オンラインで読みやすい文章にする
12)ユーザーがサイズを変更できる
13)文字を画像化しない
14)クリックできる部分を明確に
15)リンクをわかりやすく:履歴
16)HTMLファイル以外は告知する
17)ユーザーの入力操作は最小限に
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
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日火曜日
2007年2月6日火曜日
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"];
}
$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
$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 = <<
(
last_name,
first_name,
age
)
VALUES
(
'$last_name',
'$first_name',
$age
)
EOS;
print "
".$sql;
$result = mysql_query($sql);
print "
".$result;
mysql_close($con);
?>
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);
?>
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);
$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.
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;
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
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.
--
Using " inseide string quat ,pur \ before string.
2007年1月29日月曜日
登録:
投稿 (Atom)
