WordPress用絞り込み検索プラグイン »

4月
07
2009
2

注文完了時のメール文面をカスタマイズ。

メモ。

■編集するファイル

includes>classes>order.php

■編集方法(文言の追加) 

887行目 send_order_email内、「$email_order」という変数が各所でドットで継承するかたちで出てくるので、任意の場所に、下記のように記述。

$email_order .= “○○○○”;

「.=」としないとそれまでの値を上書きしてしまうので注意。

■例:「お支払い方法」セクションの後に挿入

981行目、$html_msg['PAYMENT_METHOD_FOOTER']……. の次の行あたりに挿入。

Written by みやざわ in: ZenCart カスタマイズ | タグ:
2月
13
2009
2

ページによって<title>を変える。

■編集するファイル

includes/modules/meta_tags.php

■商品個別ページの<title>をつくっている場所

256行目
define(‘META_TAG_TITLE’, str_replace(‘”‘,”,$review_on . $meta_products_name . $meta_products_price . PRIMARY_SECTION . TITLE . SITE_TAGLINE));

  • str_replace(‘”‘,” =その後のセクションでつくられた文字列中のダブルクォーテーションを削除(空白に置換)
  • $review_on =不明
  • $meta_products_name =商品名
  • $meta_products_price =価格
  • PRIMARY_SECTION =languages/Japanease/meta_tag.phpで定義した接続詞
  • TITLE =同上、定義したサイト名
  • SITE_TAGLINE =同上、定義したサイトの説明(タグライン)

私の考えでは、タグラインは商品個別ページに入ったらSEO的には邪魔なので削除しました。長くなりすぎるし。

define(‘META_TAG_TITLE’, str_replace(‘”‘,”,$review_on . $meta_products_name . $meta_products_price . PRIMARY_SECTION . TITLE));

なお、商品名の後につく [モデル] は、246行目、$meta_products_nameに代入しているところで、

. ‘ [' . $product_info_metatags->fields['products_model'] . ‘]’

この部分をコメントアウトしてやれば良い。

/*. ‘ [' . $product_info_metatags->fields['products_model'] . ‘]’*/

商品個別ページ以外のカテゴリ等の場合もこのファイル内に同様のパターンで記述されています。(switch case 形式で)

Written by みやざわ in: ZenCart カスタマイズ | タグ: , ,
2月
13
2009
2

meta descriptionに勝手に?挿入されている→「おめでとうございます!…インストールに成功しました」

headのmeta description内に、セットアップが完了した時のメッセージがいまだに残ったままだった!

「おめでとうございます!オンラインショップ構築ソフトZen Cart 日本語版のインストールに成功しました。」

少々あせって探して触っていると、とりあえず、下記の作業で除去できました。

includes/modules/meta_tags.php138行目(define(‘META_TAG_DESCRIPTION…の行)

. str_replace(array(“‘”,’”‘),”,strip_tags(HEADING_TITLE))

↑この部分をごっそり削除する。

何だろ、このわけわからなさ汗;

#meta keywordsにも同じメッセージが入ってるのでこれから作業

【追記】

meta keywords はそのすぐ下の139行目でした。同じ内容。下記を削除。弊害があるかどうかは今の段階では分からない。

 . ‘,’ . str_replace(array(“‘”,’”‘),”,strip_tags(HEADING_TITLE))

Written by みやざわ in: ZenCart カスタマイズ | タグ: , , ,
11月
26
2008
2

PHP5に移行してログイン出来なくなったら。

以前はログインできていたZenCart管理画面に、以下のようなエラーが出てログインできなくなった。
Fatal error: Call to a member function Execute() on a non-object in /○○○○/public_html/zencart/includes/functions/strict_sessions.php on line 66

考えられる要因は、使用しているレンタルサーバがPHP4 → PHP5 に強制的に切り替わったこと。
上記エラーで調べたところ下記の対処法を発見。

includes/functions/strict_sessions.php の55行目

【修正前】
function _sess_write($key, $val) {
global $db;
global $SESS_LIFE

【修正後】
function _sess_write($key, $val) {
// The following is only to work around a PHP 5.2.0 bug:
global $db; if (!is_object($db)) {
//PHP 5.2.0 bug workaround …
$db = new queryFactory();
$db->connect(DB_SERVER, DB_SERVER_USERNAME, DB_SERVER_PASSWORD, DB_DATABASE, USE_PCONNECT, false);
}
global $SESS_LIFE;

エラーに遭遇した環境:バージョン)

  • ZenCart 1.3.0.2-l10n-jp-2
  • MySQL 4.0.24
  • PHP 5.2.6

参考サイト)

11月
19
2008
2

注文確認メールに挿入されるcopyrightを変更。

includes/languages/japanese/email_extras.php

をコピーして

includes/languages/japanese/テンプレート名のフォルダ/email_extras.php

に移動する。

29行目「EMAIL_FOOTER_COPYRIGHT」の項目を書き換える。ソース上の改行はそのまま反映される。

Written by みやざわ in: ZenCart カスタマイズ | タグ: , ,
11月
14
2008
2

ZenCartで「注文手続きへ」でタイムアウトになる時。

買い物かごに商品を入れたあと、「注文手続きへ」のボタンをクリックした時(〜/index.php?main_page=checkout_shipping)にてタイムアウトになる時の対処法。

ZenCartの管理画面 > 一般設定 > セッション管理の設定

  • クッキー利用を必須にする : False
  • IPアドレスチェック : True
  • セッション再発行 : True

以上

参考サイト:
チカッパ! – 助け合い掲示板

10月
13
2008
2

商品カテゴリ一覧ページのフォーマット

メモ。

カテゴリ別一覧ページ(example.com/index.php?main_page=index&cPath=1)のフォーマットをいじるには、

includes/modules/product_listing.php
includes/templates/テンプレートフォルダ/common/tpl_tabular_display.php

を触る必要がありそう。商品説明だけ別の行にする、とか難しそう。というか面倒そう。

Written by みやざわ in: ZenCart カスタマイズ |
9月
10
2008
2

サイドバーの新着商品にも商品説明文を表示。

サイドバーの新着商品(What’s new)にも紹介文や価格を表示したい。紹介文は36文字程度で切る。

includes/templates/テンプレート名のフォルダ/templates/tpl_whats_new.php
13行目(</div>より手前)あたりに、

$content .= ‘<p class=”price”>’ . $whats_new_price . ‘</p>’;
$content .= ‘<p class=”description”>’ . mb_substr(strip_tags($random_whats_new_sidebox_product->fields['products_description']),0,36) .’…</p>’;

と追加。

includes/modules/sideboxes/テンプレート名のフォルダ/whats_new.php
15~18行目のSQL文を下記のように書き換える。


$random_whats_new_sidebox_product_query = “select p.products_id, p.products_image, p.products_tax_class_id, p.products_price, pd.products_description
from (” . TABLE_PRODUCTS . ” p
left join ” . TABLE_PRODUCTS_DESCRIPTION . ” pd on p.products_id = pd.products_id )
where p.products_id = pd.products_id
and pd.language_id = ‘” . (int)$_SESSION['languages_id'] . “‘
and p.products_status = 1 ” . $display_limit . ”
limit ” . MAX_RANDOM_SELECT_NEW;

以上。

Written by みやざわ in: ZenCart カスタマイズ |
9月
10
2008
2

カテゴリアイコンを削除

カテゴリアイコンを表示/非表示の設定がないようなので、

includes/templates/テンプレートフォルダ/templates/tpl_modules_category_icon_display.php
14行目

. zen_image(

から

. ‘<br />’

までを削除。
ver1.3.0.2にて。

Written by みやざわ in: ZenCart カスタマイズ |
4月
03
2008
2

.htaccess+RedirectMatchで動的URLに戻す

#スミマセン、またosCommerceネタです。。

エックスサーバーでは検索エンジン対策URLが使用できない模様(?)
今までのSpeeverでは検索エンジン対策URL(?や&などをスラッシュで置き換えたURL)で運営してきて、検索エンジンにもそのURLでインデックスされてしまっているので、そこからアクセスすると「No input field specified」とだけ出て、どこへもリンクされない。

一般ユーザーから見るとあたかもサイトがなくなったかのように見えてまずいので、.htaccessでリダイレクトを試みる。

例)
マイドメイン.com/oscommerce/catalog/default.php/cPath/1/中略/products_id/8

↓こうしたい

マイドメイン.com/oscommerce/catalog/default.php?cPath=1&中略&products_id=8

■方法
どうもRedirectMatch+正規表現で.htaccessに詳しく書かないとできなさそう。今は時間がないので、すべてトップページにリダイレクトするようにした。

RedirectMatch (.*)cPath(.*) http://www.マイドメイン.com/index.html

「cPath」という文字列を含んでいたらトップページにリダイレクトする。

※しかしこれだと検索エンジンに新たにインデックスされた動的なURLものまでリダイレクトされてしまう?追って検証作業…
※誰かヒントもらえたらありがたいな~(笑)

参考にした記事)
.htaccessのサンプル・設定 [Linux Fedora, RedHat]

Written by みやざわ in: ZenCart カスタマイズ |

Powered by WordPress | Aeros Theme | TheBuckmaker.com WordPress Themes