社交引擎自定义页面能够添加小部件和更改布局

Posted

技术标签:

【中文标题】社交引擎自定义页面能够添加小部件和更改布局【英文标题】:Social Engine custom page ability to add widgets and changed layout 【发布时间】:2013-02-09 20:31:13 【问题描述】:

我想创建一个新页面,就像您在管理布局编辑器中看到的那样。我可以从那里创建一个新页面,但它的 url 始终是 mysite.com/pages/mypage 。如果我进入engine4_core_pages,我可以添加一个引用我的控制器和我想要的操作的页面。所以让我们说

mymodule_index_mynewpage Somepage

它将在 LayoutEditor 中的 Editing 下拉菜单中显示为“Somepage”。当我选择该页面以向其添加小部件或更改列时,我在中间内容区域中得到的只是顶部的全局页眉和全局页脚选项来隐藏或显示。当我可以放置小部件时,中间没有开放区域。我在说什么的屏幕截图

http://i.imgur.com/rDSy26n.png?1

如何让页面能够更改布局并向其添加小部件?好像没找到。

编辑:添加到下面的答案 遵循以下说明后,更改布局的能力将受到限制。为了能够使用所有“列布局”,您还必须将其放入 engine4_core_content。

(自动编号), yourpage_id, type=container, name=middle, (父容器递增 id), order(6 我猜), ["[]"]=params, null=attribs

1234 50 container middle 1000 6 ["[]"] null

【问题讨论】:

【参考方案1】:

首先,您必须在 engine4_core_content 中创建类型为“container”和名称为“main”的新行(当然 page_id 是您的 page_id)。主容器包含“左”、“右”和“中”容器。

然后,在引用您的页面 (mymodule_index_mynewpage) 的操作结束时,您可以使用类似这样的内容来显示使用布局编辑器为您的特定操作配置的内容:

$this->_helper->content
        ->setContentName(48) // page_id
        ->setNoRender()
        ->setEnabled();
return;

【讨论】:

【参考方案2】:

socialengine 中有两个表存储布局编辑器使用的页面和小部件的相关信息:

engine4_core_pages engine4_core_content

两者都通过“page_id”字段相关。

你必须记住这个结构:

页面(在 engine4_core_pages 中定义) | ----- 容器(在engine4_core_content中定义,字段:类型) | ----- 小部件(在 engine4_core_content 中定义,字段:类型)

检查两个表中的信息,并在您的项目中检查文件 install.php(在 //settings 内部

【讨论】:

以上是关于社交引擎自定义页面能够添加小部件和更改布局的主要内容,如果未能解决你的问题,请参考以下文章

Sharepoint 2010 发布站点自定义页面布局 webpart 区域

自定义 Qt 设计器小部件:包含自定义垂直布局的滚动区域

将自定义组件小部件动态添加到 Android 中的布局中

将自定义小部件添加到 QStackedWidget

自定义字体和 XML 布局 (Android)

派生 QMainWindow 并更改其布局