1

製品クラスは osCommerce のどこにありますか? ニーズに合わせて製品クラスを変更したいと考えています。

includes/classes のクラス フォルダを調べたところ、配送クラス、ショッピング カート クラスなどは見つかりましたが、製品クラスが見つかりませんでした。

これらは、製品クラスで変更したい変数です。

$products_price
$product_info['products_image']
$products_options
$products_options_name
$product_info

これらの変数はすべて、oscommerce/product_info.php、oscommerce/product_review.php などの製品を表示するページで使用されます。

4

1 に答える 1

2

oscccommerce には Product クラスはありません。

すべての変数は、 (行 75 多かれ少なかれ)product_info.phpのクエリによって設定されます。product_info.php

$product_info_query = tep_db_query("select p.products_id,
pd.products_name, pd.products_description, p.products_model, 
p.products_quantity, p.products_image, pd.products_url, 
p.products_price, p.products_tax_class_id,
p.products_date_added, p.products_date_available, 
p.manufacturers_id from " . TABLE_PRODUCTS . " p, "
 . TABLE_PRODUCTS_DESCRIPTION . " pd where 
p.products_status = '1' and p.products_id = '" . 
(int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id
 = p.products_id and pd.language_id = '" . (int)$languages_id . "'");

$product_info = tep_db_fetch_array($product_info_query);

製品に何かを追加する必要がある場合は、それをproductsmysql のテーブルに追加し、それを使用するすべての php is oscommerce を変更します。

例: オンライン ライブラリがあり、それが必要なため、すべての製品に ISBN フィールドを追加する必要があります。

1.- 製品テーブルを編集して、新しいフィールドを追加します。

alter products ADD products_isbn VARCHAR(15);

2.- 製品を表示するカタログ内のすべてのページに移動し、新しいフィールドを表示して製品の SQL を編集します

//products_info.php
$product_info_query = tep_db_query("select p.products_id,
pd.products_name, pd.products_description, p.products_model, 
p.products_quantity, p.products_image, pd.products_url, 
p.products_price, p.products_tax_class_id,
p.products_date_added, p.products_date_available, 
p.manufacturers_id,p.products_isbn from " . TABLE_PRODUCTS . " p, "
 . TABLE_PRODUCTS_DESCRIPTION . " pd where 
p.products_status = '1' and p.products_id = '" . 
(int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id
 = p.products_id and pd.language_id = '" . (int)$languages_id . "'");

$product_info = tep_db_fetch_array($product_info_query);

(from の直前に p.products_isbn を追加しました)

これで、$products_info["products_isbn"]アクセスして使用できるようになりました。

3.- フィールドを製品リストに追加したい場合 (カテゴリ ビュー、検索結果、特売品、今後の製品、最新の製品など)、製品リストに追加する必要がありますcatalog/includes/modules/product_listing.php(最も簡単な方法です)。catalog/index.php新しいフィールドの重複からproducts_nameを追跡します)

4.-ボックスに表示したい場合(「他のクライアントも購入」または右または左の列など)に移動してcatalog/include/boxes/、それも追加する必要があります。

5.-管理で新しいフィールドを編集する場合は、新しいフィールドを編集catalog/admin/categories.phpして追加する必要があります(ここでの簡単な方法はproducts_model、新しいフィールドを追跡して複製することです)

これらは新しいフィールドを表示するための最小限の変更であるため、さらに多くの変更を残していると確信しています。新しいフィールドに割引などの機能がある場合は、注文クラス、チェックアウトプロセスを編集する必要があります....

はい、めちゃくちゃです

于 2012-12-04T21:22:58.383 に答える