2012年1月10日火曜日

CS-Cartのタイトルを変更する

skins/basic/customer/index.tpl
<title>
{if $page_title}
  {$page_title|escape:"html"}
{else}
  {assign var='breadcrumbs_reverse' value=$breadcrumbs|array_reverse}
  {assign var='breadcrumbs_reverse_count' value=$breadcrumbs_reverse|count}
  {foreach from=$breadcrumbs_reverse item=i name="bkt"}
   {if $_REQUEST.dispatch == 'products.view'}
    {if $smarty.foreach.bkt.first}{$i.title|unescape|strip_tags|escape:"html"}{/if}
   {else}
    {if !$smarty.foreach.bkt.last}{$i.title$i.title|unescape|strip_tags|escape:"html"}{if $breadcrumbs_reverse_count -1 > $smarty.foreach.bkt.iteration} :: {/if}{/if}
   {/if}
  {/foreach}
{if !$skip_page_title}{if $breadcrumbs_reverse|count > 1} | {/if}{$location_data.page_title}{/if}
{/if}
</title>
これでカテゴリページは、小カテゴリ :: 大カテゴリ | サイト名
商品ページは、商品名 | サイト名となる。

2012年1月8日日曜日

CS-Cart HTMLエディタ「CKEditor」の出力フォーマットを変更する

CKEditorの出力ソースをカスタマイズする方法
CKEditorはデフォルトだとソースを勝手にインデントしたり改行を入れるので、それを制御する。
/js/editors/ckeditor.editor.js の CKEDITOR.replace(elm.attr('id'), {}); の次あたり(26行目付近)に
CKEDITOR.on('instanceReady', function(ev) {
    ev.editor.dataProcessor.writer.indentationChars = '';
    var tags = ['div',  'h1','h2','h3','h4','h5','h6', 'p', 'ul', 'ol', 'li', 'dl', 'dt', 'dd', 'table', 'tbody', 'tr', 'th', 'td', 'pre', 'address'];
    for (var key in tags) {
        ev.editor.dataProcessor.writer.setRules(tags[key], {
            breakAfterOpen : false
        });
    }
});

editor.dataProcessor.writer.indentationChars でインデント文字を指定する。タブの場合は\t、スペースの場合は' '、インデントさせない場合は空白。
editor.dataProcessor.writer.setRules で指定タグで改行させないを指定する。
http://cksource.com/forums/viewtopic.php?t=14493

2011年11月21日月曜日

EC-CUBE 2.11、Google Chromeでfaceboxがズレるのを直す

EC-CUBE 2.11の商品画像を拡大するとGoogle Chrome(Mac)だとfaceboxが右にズレてしまう。
facebox.cssの#facebox .popupにmin-width:を追加して拡大画像の幅を指定してやると直る。


拡大画像の横幅が500pxであれば、
#facebox .popup{
  position:relative;
  border:3px solid rgba(0,0,0,0);
  -webkit-border-radius:5px;
  -moz-border-radius:5px;
  border-radius:5px;
  -webkit-box-shadow:0 0 18px rgba(0,0,0,0.4);
  -moz-box-shadow:0 0 18px rgba(0,0,0,0.4);
  box-shadow:0 0 18px rgba(0,0,0,0.4);
  min-width: 500px;
}




2011年3月21日月曜日

モニタリングツールの minit をインストールして nginx、MySQL、PHP-FPMを監視する

EPEL レポジトリを追加している場合は
# yum install monit

EPEL レポジトリの追加は下記。
# wget http://dl.iuscommunity.org/pub/ius/stable/Redhat/5.5/x86_64/epel-release-1-1.ius.el5.noarch.rpm
# rpm -ivh epel-release-1-1.ius.el5.noarch.rpm

monit の設定ファイル
# vi /etc/monit.conf

set daemon 60
set logfile syslog facility log_daemon
set alert mailaddress

# アラートメールはGmail経由で送信
set mailserver smtp.gmail.com port 587
    username "gmail_address" password "gmail_password"
    using tlsv1
    with timeout 30 seconds

# Include all files from /etc/monit.d/
include /etc/monit.d/*


MySQL 設定ファイル
# vi /etc/monit.d/mysqld

check process mysql with pidfile /var/run/mysqld/mysqld.pid
        start program = "/etc/init.d/mysqld start"
        stop program  = "/etc/init.d/mysqld stop"
        if failed port 3306 protocol mysql
                then restart
        group mysql


nginx 設定ファイル
# vi /etc/monit.d/nginx

check process nginx with pidfile /var/run/nginx.pid
        start program = "/etc/init.d/nginx start"
        stop program  = "/etc/init.d/nginx stop"
        group nginx

PHP-FPM 設定ファイル
# vi /etc/monit.d/php-fpm
check process php-fpm with pidfile /var/run/php-fpm/php-fpm.pid
        group nginx
        start program "/etc/init.d/php-fpm start"
        stop program "/etc/init.d/php-fpm stop"
        if failed host 127.0.0.1 port 9000
                then restart
        if 5 restarts within 5 cycles
                then timeout


# chkconfig monit on
# /etc/init.d/monit start


2011年3月18日金曜日

CS-Cart ウォーターマーク アドオン

商品画像にウォータマークをつけることができるアドオン
New addon "Watermarks" is available for testing - CS-Cart Community Forums

ウォータマークにテキスト、画像を指定することができます。

2011年3月11日金曜日

CS-Cart で商品画像にウォーターマークを入れる

既に uservoice で image watermark があるのでそのうち対応してくれそうだけど、
phpThumb を使えば簡単にできるのでご紹介。

phpThumbを設定、ウォーターマーク画像を用意する。
拡大画像にウォーターマークを入れたいなら .htaccess に
RewriteRule ^(.*)images/detailed/(.*) $1phpThumb/phpThumb.php?q=100&src=../images/detailed/$2&&fltr[]=wmi|images/watermark_LRG.png|C|100 [L]

初回のみキャッシュ作成のため、読み込みに時間がかかるというのと
GD2よりも ImageMagick を使った方が画像が若干綺麗。

2011年3月1日火曜日

CS-Cart on nginx

nginx.conf


        location / {
            root   /var/www/html;
            index  index.php;
          
            if (-f $request_filename) {
                break;
            }
            try_files $uri $uri/ /index.php?sef_rewrite=1;
        }

nginx は RewriteRule の QSAフラグ と違って何もしなくてもそのまま引数を渡せるみたい。