Zencart

Zencartで配達日指定

Zencart本家サイトで見つけたOrder Delivery Date というモジュールがとても便利です。

1.3.8用なので、1.3.8a日本語版を利用することになりますが、今チェックしてみたら残念なことに配布終了になってました。いささか書く気がそがれてしまいましたが、1.3.8英語版のランゲージファイルだけを最低限翻訳して使うような方法もあるかもしれず、まとめておきます。

インストール

結構いろんなファイルを上書きするので、現状のファイル全てとデータベースのバックアップを取っておきます。

ダウンロードした圧縮ファイルにある、deliverydate.sql を開きSQL文のテーブル名にzen_orders となっているので、使用中のデータベースのプレフィックスにあわせておきます。zencartの管理画面かphpMyAdminでSQL文を実行し、orderテーブルにorder_delivery_date というフィールドを挿入します。

アップロードするファイルのYOUR_TEMPLATE となっているディレクトリ名を使用中のテンプレート名に併せてリネームし、ディレクトリ構造をそのままにしてアップロード、上書きします。

これで配送日を指定するフィールドが追加され、フィールドをクリックすると、日付を選択するカレンダーが表示されるようになります。

さくらインターネットが共有SSL対応

さくらインターネットが2月5日からスタンダードタイプ(月額500円)以上に共有SSL、MySQL5、さらにシグニチャ型Webアプリケーションファイヤーウォールに対応を開始するそうです。シグニチャ型Webアプリケーションファイヤーウォールとはよく分らないのですが、リンク先の説明を参照してください・・・

いずれにせよ、これまでこの価格帯だとcoreserverくらいしかなかった共有SSLでZencartを導入できるホスティングサービスが増えたことは喜ばしいです。

サーバー容量がcoreserverの1/5しかない、データベース設置は1個だけ、というのが気になりますが、電話サポート付きということを勘案すると、マルチドメインで運営するのでなければ十分すぎるサービスと言えそうです。

できればcoreserverのように、1サーバーあたりのユーザー数は公表しておいて欲しいところです。

ZencartテンプレートとCSS作成のポイント

Drupalサイト2件、Zencartサイト2件をほぼ同時進行で制作中です・・・

そんな中でZencartテンプレートとCSS制作の際のポイントをメモっておきます。 

  1. オリジナルテンプレート名を仮にfoolとします。まずtemplatesディレクトリにfoolディレクトリを作成します。Defaultテンプレートからincludes/templates/template_default/template_info.phpをコピーして、$template_name = 'fool template'とし、これをfoolディレクトリ直下にアップします。
  2. 次に空のcssを作って、includes/templates/fool/css/stylesheet_fool.cssとしてアップします。stylesheet_xxx.cssのxxxは何でも構いません。これでincludes/templates/template_default/css/stylesheet.cssをオーバライドしてくれ、スタイル設定が何もない状態になります。
  3. includes/templates/template_default/common/tpl_main_page.phpをコピーして、includes/templates/fool/common/tpl_main_page.phpにオーバライドします。この時Zencartの基本設計にはいささか古くなっている部分もあり、コンテンツ部分と両サイドバーはテーブルレイアウトになっているのを<div>でボックス要素に変更しておくと、SEOだけでなく後先のデザイン変更もかなり楽になるはずです。

Zencartの共有SSL設定と不要な表示の削除

何度も同じことをやっているのに忘れてしまい、毎回どこをいじったんだっけ・・・、とやっているので、備忘録です。ちなみにバージョンは1.3.0.2です。

共有SSL

コストをかけずショッピングサイトを開設するには共有SSLを利用することになります。これがちと面倒です。

  1. configure.phpの15行目あたり、HTTPS_SERVERを共有SSLのパスに変更し、18行目あたり、ENABLE_SSLをtrueにする。この他の設定は変更する必要はないはず。
  2. 共有SSLの場合、SSLページと非SSLページでURLが変わるので、セッション設定でクッキー使用をFalseにする。
  3. このままだと画像等への外部リンクでSSLのアラートが出てしまうので、テンプレートhtml_header.php38行目あたり<base ~/>部分を削除。
  4. CSSに絶対アドレスのリンク先を含めない。背景画像等でZencart外にある場合は内部にコピーする。
コンテンツ配信