2013年3月12日火曜日

CS-Cart3 導入時用メモ

導入時にとりあえずいろいろ変更しないとお客さんに怒られちゃうよ的なアレコレ。
デフォルトから最低限変更しておく必要のあるものの変更内容メモ。
随時追加。

■テストメルマガ
購入手続き時(ステップ4:支払い方法)にメールマガジンの購読チェックがあり、マガジン名が「テストメルマガ」になっている。

メールマガジンを発行しない場合は管理画面メニューの[ウェブサイト]−[メルマガ配信]−[メールマガジン]で、「テストメルマガ」を[無効]にする。

メールマガジンを発行する場合は、同じく管理画面メニューの[ウェブサイト]−[メルマガ配信]−[メールマガジン]で、[名前]を任意のマガジン名に変更する。

■カスタム配送
購入手続き時(ステップ3:配送方法)の配送方法名が「カスタム配送」となっている。

管理画面メニューの[配送方法/税金]−[配送方法]から、任意の配送方法を選択するか、カスタム配送の[名前]を変更する。

■ダウンロードリンク
マイアカウントブロックにある「ダウンロード」リンクが不要な場合、hookを使ってメニューを編集する。

■請求書のロゴ変更
マイページの過去の買い物リストから作成できる請求書等に利用されているロゴを変更する

http://demoshop.4stars.ne.jp/skins/basic/mail/images/invoice_logo.png

画像サイズを変更した場合は、マニフェストファイル内のサイズ変更も忘れずに行うこと

/skins/[利用しているスキン名]/manifest.ini

2012年6月27日水曜日

iTunesで音が出ない、再生できないエラーの対応

iTunes起動時に「iTunes はオーディオの設定に問題を見つけました。オーディオやビデオの再生が正しく動作しないかもしれません。」というエラーダイアログが表示されて、iTunesから音が出ない(再生ができない)状態の直し方。

1.[コントロールパネル]-[QuickTime](またはQuickTime(32ビット))をクリック 
2.QuickTime設定ウィンドウが開くので[オーディオ]タブを選択 
3.[デバイス]の[オーディオ再生に使用]を[Windows And Session]に変更し、[OK]または[適用]をクリック
 4.iTunesを起動する

 ※3.については[セーフモード(wave outのみ)]以外で、音が出る物を探していくことになるかもしれません

アプリやサウンドドライバが正しくインストールされているなら、アンインストール&インストールより前に試してみて。



追記:
iPhoneをUSBケーブルでパソコンにつないだらまた同じ症状が出るように。
しかも今度は直らない 。゜゜(´□`。)°゜。ワーン!!


更に追記:
イヤフォンジャックを突っ込んだ状態ではiTunesを起動してもエラーは表示されず。音声はちゃんとイヤフォンから出力される。
ということは、この現象、普段音声出力を持たない環境のパソコンでなるのではないか?と推測。スピーカーのない会社のパソコンとかね。
さて、実際のところ、どうなんでしょうか?

2012年6月21日木曜日

$this->Html と $html の違い

ヘルパーを使う際に$html->link~のように記述していたところ、$this->Htmlのように記述するように、と言われた。

$thisなんかなくたって動くんだから、短い方がいいじゃねえか、市内にいる時に市外局番いらねえだろ、とも思ったのだけども、師匠が「携帯のご時世だからな」と言うので、今後は$thisから記述することにする。

話によると、今後のバージョンでは$thisありで統一なんだとか(未確認)。

なお、ヘルパーの最初の文字は大文字にすること。

$this->Html->link();
$this->Form->input();

2012年6月18日月曜日

Windowsインストール時に特定のファイルがコピーできないエラー

Windowsを再インストールの最中、特定のファイルがコピーできずエラーとなる症状に出くわすことがある。 この場合、ハードディスクにパーティションを切って、別のパーティションにインストールすると成功する場合がある。 ハードディスクが新品であれば、CD-ROMのキズなどを疑い、(あるなら)別のCD-ROMからインストールを試すとか、光学ドライブを取り替えてみる、という方法が取れる。 しかし、古いハードディスクにインストールしている場合は、ハードディスクの問題かもしれない。 先日、古いパソコンをリビルトしている最中にこの症状に出くわしたのだけども、CD-ROMを入れ替えても同じ場所で同じエラーに遭遇する。 そこで、パーティションを分割し、最初に1GB、残りのエリアにWindowsをインストールしてみた。 すると、やはりエラーになるのだが、今回はコピーできなかったファイルが違う。 そこで、再度パーティションを分割し、最初に2GB、残りのエリアにWindowsをインストールしてみた。 すると、今回は何事もなくWindowsのインストールに成功した。 つまり、今回のケースでは、ハードディスクの最初の2GB目までに、なんらかの問題があり、ファイルを書き込むことができない状態になっているのだろう。 ただ、このような状態の古いハードディスクは、早かれ遅かれ壊れる可能性が高いと思う。 可能であれば、新しいハードディスクに入れ替えてしまう方が圧倒的に安心だろう。

2012年6月15日金曜日

スタイルシートにrelやtitleを追加する CakePHP

CakePHPでタグの属性を設定する方法。

■Alternateを追加する
default.cssを読み込む際、alternateも指定する場合、下記の様に記述する

Html->css('default', 'stylesheet alternate');
?>

下記の様に出力される


■title
title属性にmasterを設定する

Html->css('default', 'stylesheet alternate', array('title'=>'master'));
?>

下記の様に出力される


2012年5月25日金曜日

CakePHPでHTMLヘルパーを利用してリンクを記述する場合、ページの途中へリンクを設定する方法。(CakePHP1.3)
name(アンカー)にリンクを張るには、urlを指定する際、#に指定すればいいらしい。
例)/shop/area#westarea にリンクを張りたい場合
リンク元Viewファイル
 $html->link('ページの途中へのリンク',array(
 'controller'=>'shop',
 'action'=>'area',
 '#'=>'westarea'
));

下記のように表示される
おすすめ物件
リンク先viewファイル

2012年5月8日火曜日

CakePHPで使えないテーブル名

CakePHPでベイク中にエラーが表示された。 内容は次の様なもの。 PHP Parse error: syntax error, unexpected T_LIST, expecting T_STRING in /(中略)/cakephp/app/models/list.php on line 2 Parse error: syntax error, unexpected T_LIST, expecting T_STRING in /(中略)/cakephp/app/models/list.php on line 2 このときベイクしようとしていたのはlistsというテーブルなのだけども、どうやらこのlistsというテーブル名が問題だったらしい。 既に予約されているのかな? というわけで、問題を引き起こす避けるべきテーブル名を発見次第列挙。 ■予約語? lists ■複数形が特殊なために面倒なテーブル名 aquarium

2012年5月7日月曜日

CS-Cartのオリジナルスキンを追加するディレクトリ

CS-Cartのスキンは、skinsというディレクトリにあるものが表示される。
しかし、このskinsにスキンデータをアップロードしても、管理画面のスキン変更リストには表示されない。

管理画面のスキン変更リストに、オリジナルのスキンを表示させるためには、skinsではなく、/var/skins_repository にスキンデータをアップロードする必要がある。

1./var/skins_repositoryにスキンデータをアップロードする
2.管理画面の[デザイン]-[スキンセレクター]を選択
3.スキンセレクター画面でオリジナルのスキンデータを選択
4.[保存]ボタンを押す

という手順で、/var/skins_repositoryのデータが/skinsにコピーされる。

2012年5月2日水曜日

SSHが使えないサーバでシンボリックリンクを作る

廉価なレンタルサーバの場合、SSHが使えないサービスプランだったりする。
このような場合、PHPを使って、シンボリックリンクを作る。

link.php

<?php
symlink('実体へのフルパス','シンボリックリンクを設置する場所へのフルパス');

?>


フルパスで書く必要があるので、不明な場合は

<?php echo __FILE__; ?>

とでもしてフルパスを確認しておく。

SSHは使えないけども、高機能&低価格のサーバ。
予備環境として重宝してる↓

2012年4月12日木曜日

CakePHP 携帯ライブラリの設置

CakePHP1.3での携帯ライブラリの設置。覚え書き。

https://github.com/MASA-P/KtaiLibrary
https://github.com/MASA-P/ktai-dev


1.ecwディレクトリをまるごとvendorsディレクトリにコピー
※サイト全体にやるならappやcakeと同じディレクトリのvendorsでok。

2.app_controller.phpに追記
var $components = array('Ktai',・・・・);


//----------------------------------------------------------
//Redirect override.
//If iMODE access or use_redirect_session_id is true,
// adding session id to url param.
//----------------------------------------------------------
function __redirect_url($url){

 if(isset($this->Ktai)){
  if($this->Ktai->_options['enable_ktai_session'] &&
   ($this->Ktai->_options['use_redirect_session_id'] || $this->Ktai->is_imode())){
   if(!is_array($url)){
    if(preg_match('|^http[s]?://|', $url)){
     return $url;
    }
   $url = Router::parse($url);
   }
   if(!isset($url['?'])){
    $url['?'] = array();
   }
   $url['?'][session_name()] = session_id();
  }
 }
 return $url;
}

function redirect($url, $status = null, $exit = true){
 return parent::redirect($this->__redirect_url($url), $status, $exit);
}

 //「Ktai Library」の設定
 //
var $ktai = array(
 'enable_ktai_session' => true,
 'use_redirect_session_id' => false,
 'imode_session_name' => 'csid',
 'use_img_emoji' => true,
 'input_encoding' => 'UTF-8',//KTAI_ENCODING_UTF8
 'output_encoding' => 'UTF-8',//'SJIS-WIN',// KTAI_ENCODING_SJISWIN
 'output_auto_encoding' => true,
 'use_binary_emoji' => false,
 'output_auto_convert_emoji' => false,
);

3.コンポーネントにktai.phpをつっこむ
/app/controllers/components に ktai.php をコピーする


4.ついでにケータイでのアクセス時のデフォルトレイアウトを変更しておく

function beforeFilter(){
 if(!($this->Ktai->is_ktai()) ) {
  $this->layout = 'default';
 } else {
  $this->layout = 'default_mob';
 }
}