将页面分配给两个父母/链接Silverstripe

时间:2012-01-12 00:18:31

标签: php content-management-system silverstripe

我正在使用Silverstripe来显示产品项目,有时一个产品项目属于两个不同的类别/页面。是否可以将页面分配给两个父母?如果不是可以使用产品项的链接并将其链接到两个不同的类别/页面?这是这样的:

类别/页面:早餐

子页面: ----------------------的面包

------------------------------------谷物

类别/页面:午餐

子页面: -----------------------的面包

-------------------------------------面食

是否可以在Silverstripe的管理部分创建一个名为bread的页面,但它将在两页以下(例如早餐和午餐)。

如果将一个页面分配给两个不可能的父母,我可以使用页面面包链接到两页(早餐和午餐)吗?我该怎么做?任何教程或模块?

感谢任何帮助。

谢谢, 山姆:)

1 个答案:

答案 0 :(得分:2)

如果我理解正确,你想拥有N(1 .. *)父母的页面。但是,页面只有一个父级(根页除外)。查看底层代码:所有页面都继承自sapphire/core/model/SiteTree.php。在$extensions中,您可以看到sapphire/core/model/Hierarchy.php的链接,其中您为父页面定义了has_one。虽然您可以扩展SiteTree,但CMS无法处理此问题,因此您还需要重新编写CMS的一部分。我认为这不是你想要的。

我认为你要找的是DataObjects作为页面。看一下描述这一点的http://www.ssbits.com/tutorials/2010/dataobjects-as-pages-part-1-keeping-it-simple/。您需要在“网页”上添加many_many关系以及您需要的所有其他内容,但您将拥有所需的所有灵活性。

随意发布任何后续问题。