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);
製品に何かを追加する必要がある場合は、それをproducts
mysql のテーブルに追加し、それを使用するすべての 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
、新しいフィールドを追跡して複製することです)
これらは新しいフィールドを表示するための最小限の変更であるため、さらに多くの変更を残していると確信しています。新しいフィールドに割引などの機能がある場合は、注文クラス、チェックアウトプロセスを編集する必要があります....
はい、めちゃくちゃです