在进入节点/编辑并保存节点后,将删除通过Panelizer添加的面板

时间:2014-05-20 19:39:43

标签: drupal drupal-panels

我创建了一篇文章然后"自定义此页面"并在页面中添加一个面板。我可以一次又一次地使用panelizer重新保存该页面,没有任何问题。但是,当我进入"新草案"页面并编辑和发布节点,所有使用panelizer添加的项目都将从文章中删除。

与此https://drupal.org/node/1572202非常相似,不同之处在于我注意到从节点/编辑页面保存时会发生这种情况。我已经在该页面上应用了补丁,因为它已被添加到我拥有的最新版本的panelizer中。

1 个答案:

答案 0 :(得分:1)

如果您使用的是Workbench模块,则会出现已知的Panelizer问题。基本上,修订版和面板化节点之间的关联会丢失。

这里有一个详细的解释:http://www.phase2technology.com/blog/panelizer-and-workbench-moderation-can-get-along/

可能需要对每个配置进行一些调整,但这应该让你开始:

function MYMODULE_node_update($node) {
  if (!empty($node->old_vid)) {
    // fetch the did from the old revision
    $old_did = db_query("SELECT did FROM {panelizer_entity} WHERE entity_id = :nid AND    revision_id = :oldvid ORDER BY revision_id DESC",
    array(":nid" => $node->nid, ":oldvid" => $node->old_vid))
  ->fetchField();
    if (!empty($old_did) && !empty($node->panelizer['page_manager']) && empty($node->panelizer['page_manager']->did)) {
    $node->panelizer['page_manager']->did = $old_did;
    }
  }
}