我正在构建一个自动数据表生成器,可以编辑数据表的单个块。应始终有父数据表,可以向其添加翻译版本。但是那些翻译版本的内容不一定相同,这意味着他们可以拥有不同数量的页面和块。
基本上你输入article_number,我的系统从另一个存储所有产品数据的数据库中获取所有默认信息,如article_number,manufacturer_number,ean_code,primary_image等。
此外,每个数据表都分配了一个模板,该模板控制主要颜色,如主要颜色,辅助颜色和文本颜色。此外,还为每个模板分配了徽标。 但也许有一天应该有可能为页面设置模板。
从这一点开始,您可以开始向每个页面添加页面和块等。
块应该存储为json字符串,并且可以具有不同的类型,例如图像,文本块,带图像的文本块,标题等。因此字段可以根据块类型而完全不同。还应以某种方式存储块的顺序。块在block_config中的字段定义也作为json字符串。
最后,数据表可以通过TCPDF导出为pdf文件。
See here for my current scheme
让我举个例子:
我使用 article_number 12345创建数据表。 此工作表包含多个页面,每个页面包含多个块。 该数据表应该有德语和英语版本(也可以使用更多语言,如西班牙语,法语等)。
因此,每种数据表语言的标题和副标题都可以不同。 但是数据表中的一些属性应该在所有语言中共享。 所有翻译对象应该只有一个父对象应该引用,所以我不必在数据表表中反复复制第12345条。
对于每个页面和每个页面的翻译,块也可以是不同的。 那么像标题和副标题这样的字段可能需要进入单独的转换表,如datasheet_translations表,其中包含locale列和datasheet_id列?
但我是否必须对所有块和页面执行相同操作,或者将区域设置列直接添加到页面和块中是否正常?
所以问题是: 我的数据库方案是否有用,以及如何正确实现上述所有目标? 如何处理翻译?如何处理块的顺序,如何保存它们等?
我很不确定并担心项目会因数据库结构错误而失败。
我希望你能引导我走向正确的方向,我希望我的解释足够明确。如果缺少任何信息,请告诉我。