PHPモールシステムを開発するとき、製品分類とフィルタリング機能は、ユーザーエクスペリエンスの向上の中心的な要素です。合理的な製品分類とフィルタリング機能により、ユーザーは興味のある製品を迅速に見つけ、時間を節約し、ショッピング効率を向上させることができます。この記事では、PHPを介してこれら2つの機能を実装し、開発者がよりよく理解して適用できるようにコード例を提供する方法について詳しく説明します。
まず、データベースに製品分類テーブルを作成し、必要に応じて対応するモデルクラスを作成する必要があります。製品分類テーブルには、少なくとも次のフィールドが含まれている必要があります。id、name、およびparent_id、idは自動インクリメントプライマリキー、名前は分類名、parent_idは分類の親IDです。
製品分類テーブルを作成するためのSQLコードの例を次に示します。
テーブル「カテゴリ」を作成します( `id` int(11)unsigned auto_incrementプライマリキー、 `name` varchar(255)nullではない、 `parent_id` int(11)デフォルトnull、 `created_at`タイムスタンプnullデフォルトnull、 `updated_at`タイムスタンプnullデフォルトnull )Engine = InnoDBデフォルトcharset = utf8;
次に、コード内の製品分類データを操作し、対応する関連関係を定義するために、カテゴリと呼ばれるモデルクラスを作成する必要があります。
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Category extends Model
{
protected $fillable = ['name', 'parent_id'];
public function parent()
{
return $this-> belongsto(category :: class、 'parent_id');
}
パブリック機能の子供()
{
return $ this-> hasmany(category :: class、 'parent_id');
}
}
フロントエンドページでは、ユーザーがカテゴリを閲覧および選択できるようにするために、ツリー構造に製品カテゴリを表示する必要があります。これは、この関数を実装するコードの例です。
<?php
use App\Models\Category;
function displayCategories($categories, $parent_id = 0)
{
echo '<ul class="category-list"> ';
foreach($ categories as $ category){
if($ category-> parent_id == $ parent_id){
エコー '<li> '。 $ category-> name;
$ children = $ category-> children;
if(count($ children)> 0){
displaycategories($ children、$ category-> id);
}
エコー '</li> ';
}
}
エコー '</ul> ';
}
$ categories = category :: all();
displaycategories($ categories);
製品フィルタリング機能は、ユーザーが個人的なニーズに応じて必要な製品を迅速に見つけるのに役立ちます。通常、製品のスクリーニングには、価格帯、色、ブランドなどの属性条件が含まれます。フォームを介してユーザーフィルタリング基準を収集し、基準に基づいた要件を満たす製品をクエリする製品を収集できます。
製品フィルタリングのコード例は次のとおりです。
<?php
use App\Models\Product;
function getFilteredProducts($filters)
{
$query = Product::query();
if (isset($filters['price'])) {
$query-> wherebetween( 'price'、[$ filters ['price'] ['min']、$ filters ['price'] ['max']]);
}
if(isset($ filters ['color'])){
$ query-> where( 'color'、$ filters ['color']);
}
//彼のフィルターを追加します$ products = $ query-> get();
$製品を戻るします。
}
$ filters = $ _post ['filters']; //ユーザー$製品= getFilteredProducts($ filters)によって送信されたフィルター基準を得るします。 //フィルター基準を満たす製品を得るしますこの記事のチュートリアルを通して、PHPモールシステムに製品分類とフィルタリング機能を実装する方法を学びました。合理的な分類とスクリーニングは、ユーザーエクスペリエンスを改善するだけでなく、ユーザーが必要な製品をより迅速に見つけることができるため、モールの変換率が向上します。この記事がプロジェクト開発に役立つことを願っています!