현재 위치: > 최신 기사 목록> PHP Mall의 제품 분류 및 필터링 기능 구현에 대한 튜토리얼 : 사용자 쇼핑 경험 향상

PHP Mall의 제품 분류 및 필터링 기능 구현에 대한 튜토리얼 : 사용자 쇼핑 경험 향상

M66 2025-06-16

PHP Mall에서 제품 분류 및 필터 기능 구현에 대한 튜토리얼

PHP Mall 시스템을 개발할 때는 제품 분류 및 필터링 기능이 사용자 경험을 향상시키는 핵심 요소입니다. 합리적인 제품 분류 및 필터링 기능을 통해 사용자는 관심있는 제품을 신속하게 찾아 시간을 절약하고 쇼핑 효율성을 향상시킬 수 있습니다. 이 기사는 PHP를 통해이 두 기능을 구현하는 방법을 자세히 설명하고 개발자가 더 나은 이해와 적용을 지원할 수 있도록 코드 예제를 제공합니다.

1. 제품 분류를 만듭니다

먼저 데이터베이스에서 제품 분류 테이블을 만들고 필요에 따라 해당 모델 클래스를 만들어야합니다. 제품 분류 테이블에는 다음 필드가 포함되어야합니다. ID, Name 및 Parent_id는 ID가 자동 증가 기본 키이며 이름은 분류 이름이며 Parent_id는 분류의 부모 ID입니다.

다음은 제품 분류 테이블을 만들기위한 SQL 코드의 예입니다.

테이블 만들기`categories '(
  `id` int (11) 부호없는 auto_increment 기본 키,
  `Name` Varchar (255)는 null,
  `parent_id` int (11) 기본 널,
  `created_at` timestamp null 기본 널,
  `updated_at` timestamp null 기본 널
) 엔진 = innodb 기본 charset = utf8;

2. 제품 분류 모델을 만듭니다

다음으로, 우리는 코드에서 제품 분류 데이터를 조작하고 해당 연관 관계를 정의하기 위해 카테고리라는 모델 클래스를 만들어야합니다.

<?php
namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Category extends Model
{
    protected $fillable = ['name', 'parent_id'];

    public function parent()
    {
        return $this-> 소속 (범주 :: class, &#39;parent_id&#39;);
    }

    공개 기능 어린이 ()
    {
        $ this-> hasmany (category :: class, &#39;parent_id&#39;);
    }
}

3. 제품 분류 표시

프론트 엔드 페이지에서는 사용자가 카테고리를 탐색하고 선택할 수 있도록 트리 구조에 제품 범주를 표시해야합니다. 다음은이 기능을 구현하는 코드 예입니다.

<?php
use App\Models\Category;

function displayCategories($categories, $parent_id = 0)
{
    echo '<ul class="category-list"> &#39;;;
    foreach ($ 범주로 $ 범주) {
        if ($ category-> parent_id == $ parent_id) {
            에코 &#39;<li> &#39;. $ 카테고리-> 이름;
            $ children = $ 카테고리-> 어린이;
            if (count ($ children)> 0) {
                DisplayCategories ($ children, $ category-> id);
            }
            에코 &#39;</li> &#39;;;
        }
    }
    에코 &#39;</ul> &#39;;;
}

$ 범주 = 범주 :: all ();
DisplayCategories ($ 범주);

4. 제품 필터링 기능 구현

제품 필터링 기능을 통해 사용자는 개인의 요구에 따라 필요한 제품을 신속하게 찾는 데 도움이됩니다. 일반적으로 제품 심사에는 가격 범위, 색상, 브랜드 등과 같은 속성 조건이 포함됩니다. 기준에 따라 요구 사항을 충족하는 양식 및 쿼리 제품을 통해 사용자 필터링 기준을 수집 할 수 있습니다.

다음은 제품 필터링을위한 코드 예입니다.

<?php
use App\Models\Product;

function getFilteredProducts($filters)
{
    $query = Product::query();

    if (isset($filters['price'])) {
        $query-> WHEREBETGEING ( &#39;price&#39;, [$ 필터 [ &#39;price&#39;] [ &#39;min&#39;], $ 필터 [ &#39;price&#39;] [ &#39;max&#39;]);
    }

    if (isset ($ 필터 [ &#39;color&#39;])) {
        $ query-> wherein ( &#39;color&#39;, $ 필터 [ &#39;color&#39;]);
    }

    // 기타 필터 추가 $ uppu즈즈 = $ query-> get ();
    반품 $ 제품;
}

$ 필터 = $ _post [ &#39;필터&#39;]; // 사용자 $ products = getFilteredProducts ($ 필터)가 제출 한 필터 기준을 가져옵니다. // 필터 기준을 충족하는 제품을 얻습니다

요약

이 기사의 자습서를 통해 PHP Mall 시스템에서 제품 분류 및 필터링 기능을 구현하는 방법을 배웠습니다. 합리적인 분류 및 심사는 사용자 경험을 향상시킬뿐만 아니라 사용자가 필요한 제품을 더 빨리 찾는 데 도움이되어 쇼핑몰의 전환율이 높아집니다. 이 기사가 프로젝트 개발에 도움이되기를 바랍니다!