如何为建筑/室内设计事务所作品集展示页面设计合理Schema
建筑设计事务所作品集网站技术实现方案
数据模型设计建议
你需要额外新增 ProjectType 模型,比硬编码分类枚举的可维护性更高,适配你需要独立分类索引页的需求,三类模型的字段设计参考如下:
- ProjectType(项目分类模型)
name:分类显示名称,例如「住宅设计」「商业空间」「公共建筑」slug:URL 友好的唯一标识,用于分类索引页的路由参数,提升 SEO 表现- 可选扩展字段:
description、cover_image,用于分类索引页的自定义展示内容
- Project(项目模型)
- 基础业务字段:
title、description、client、location、completed_year等项目常规信息 - 外键关联
project_type,绑定到对应项目分类,用于分类索引页的筛选查询 - 可选字段:
slug,用于项目详情页的友好路由
- 基础业务字段:
- Photo(图片模型)
- 基础字段:
image(图片资源存储地址)、alt_text(无障碍适配+ SEO 优化用)、sort_order(控制同分类下图片的轮播排序) - 外键关联
project,归属到对应项目 category字段:直接使用枚举类型即可,无需单独建表,用来标记图片属于项目内的「效果图」「实景图」「施工图」等分类,后续新增分类仅需调整枚举值即可,灵活度更高
- 基础字段:
交互逻辑实现
- 后端接口:项目详情页接口返回数据时,同步返回该项目下按
category分组的所有图片列表,以及该项目可用的图片分类列表,用于渲染右侧的 pill 按钮 - 前端逻辑:
- 进入项目详情页时,默认选中第一个分类 pill,将对应分类的图片数组传入轮播组件完成初始化
- 点击任意 pill 时,根据绑定的分类标识切换轮播组件的数据源,轮播自动重置到第一张位置
- 轮播组件仅需保留基础的图片渲染、前后切换功能即可,不需要和分类逻辑耦合,降低后续维护成本
分类索引页实现
分类索引页直接通过路由传入的 ProjectType 的 slug 参数,筛选查询对应分类下的所有项目,按完成时间/上线时间排序展示即可。后续如果需要新增项目分类,仅需在后台新增一条 ProjectType 记录,不需要修改业务代码即可自动生成对应索引页。
内容的提问来源于stack exchange,提问作者Juan C
相关产品推荐
相关产品推荐

