将可编辑区域和自定义控件放在同一面内



我正在尝试为我们的部门设置一些标准的自定义控件,但希望它们也能灵活。

其中一些标准资源和控件将放在模板中。控件将被复制到我们的应用程序中,但继承了中央模板的设计,所以我想通过facet在应用程序级别进行任何自定义。

我的自定义控件有问题,是基于从扩展库的应用程序控件。它的左列只有一个面。我想做的是在左列放置一个可编辑的区域,同时也放置另一个固定的标准自定义控件。

所以用户程序员会在他们的页面上放置一个"StandardApp"控件。他们会看到左列有一个facet,他们可以在那里放置自己的控件,并在它下面看到左列的标准控件。

有什么办法可以做到吗?

我似乎无法将一个可编辑区域和一个自定义控件放到同一个面中。

一个facet只能包含一个控件,但它可以是任何控件…包括容器。因此,如果facet内容是div(或面板、表、节等),则该div可以同时包含标准化内容和可编辑区域。这允许你将facet链到你想要的深度,这是我一直使用的一种技术,基本上可以做到你所描述的:在每个页面上显示标准的左侧导航内容,每个页面都有一个占位符来包含额外的自定义内容。

唯一需要注意的是,只有命名空间(xp、xc、xe等)控件可以直接贡献给facet,而不是passthru。例如,它不能是<div xp:key="facetLeft" />,但<xp:div xp:key="facetLeft" />是有效的。但是xp:div可以包含任何您想要的内容,包括passthru。

最新更新