PHP モール関数チュートリアル: 商品の分類とフィルター機能の実装
PHP モール プロジェクトを開発する場合、商品の分類とフィルター機能は不可欠です。合理的な分類とフィルタリングにより、ユーザーは製品を簡単に見つけて購入できます。この記事では、PHP を使用して商品分類とフィルタリング機能を実装する方法をコード例を添付して詳しく紹介します。
- 製品分類の作成
まず、製品分類テーブルと対応するモデル クラスを作成する必要があります。製品分類テーブルには、少なくとも次のフィールドが含まれている必要があります: id、name、parent_id。このうち、id は自動インクリメントされる主キー、name はカテゴリ名、parent_id はカテゴリの親カテゴリ ID です。
次は、製品分類テーブルを作成するコード例です。
1 2 3 4 5 6 7 | CREATE TABLE `categories` (
`id` int(11) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
`name` varchar(255) NOT NULL,
`parent_id` int(11) DEFAULT NULL,
`created_at` timestamp NULL DEFAULT NULL,
`updated_at` timestamp NULL DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
|
ログイン後にコピー
次に、Category モデル クラスを作成し、対応する関係とメソッドを定義します。以下はコード例です:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | <?php
namespace AppModels;
use IlluminateDatabaseEloquentModel;
class Category extends Model
{
protected $fillable = [ 'name' , 'parent_id' ];
public function parent()
{
return $this ->belongsTo(Category:: class , 'parent_id' );
}
public function children()
{
return $this ->hasMany(Category:: class , 'parent_id' );
}
}
|
ログイン後にコピー
- 製品カテゴリの表示
モールのフロント ページでは、わかりやすくするために製品カテゴリをツリー構造で表示する必要があります。ユーザーは分類を参照して選択します。コード例を次に示します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <?php
use AppModelsCategory;
function displayCategories( $categories , $parent_id = 0)
{
echo '<ul class="category-list">' ;
foreach ( $categories as $category ) {
if ( $category ->parent_id == $parent_id ) {
echo '<li>' ;
echo $category ->name;
$children = $category ->children;
if ( count ( $children ) > 0) {
displayCategories( $children , $category ->id);
}
echo '</li>' ;
}
}
echo '</ul>' ;
}
$categories = Category::all();
displayCategories( $categories );
|
ログイン後にコピー
- 商品フィルタリング
# モールの商品フィルタリング機能を使用すると、ユーザーはニーズに基づいて必要な商品をすばやく見つけることができます。通常、製品のスクリーニングには、価格、色などの製品の属性が含まれます。フォームを使用してユーザーのフィルタリング条件を収集し、条件に基づいて条件を満たす製品をクエリできます。以下はコード例です:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | <?php
use AppModelsProduct;
function getFilteredProducts( $filters )
{
$query = Product::query();
if (isset( $filters [ 'price' ])) {
$query ->whereBetween( 'price' , [ $filters [ 'price' ][ 'min' ], $filters [ 'price' ][ 'max' ]]);
}
if (isset( $filters [ 'color' ])) {
$query ->whereIn( 'color' , $filters [ 'color' ]);
}
$products = $query ->get();
return $products ;
}
$filters = $_POST [ 'filters' ];
$products = getFilteredProducts( $filters );
|
ログイン後にコピー
上記は、PHP を使用して製品分類およびフィルター機能を実装するチュートリアルです。合理的な分類とフィルタリングにより、ユーザー エクスペリエンスが向上し、ユーザーが必要な製品をすぐに見つけられるようになります。この記事がお役に立てば幸いです!
以上がPHPモール関数チュートリアル:商品分類とフィルタリング関数の実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。