gpt4 book ai didi

drupal-7 - Drupal 页面管理器 : Can I provide a variant in my module?

转载 作者:行者123 更新时间:2023-12-04 17:39:26 27 4
gpt4 key购买 nike

我有一个模块,它使用 hook_default_page_manager_pages() 向页面管理器模块提供许多页面.这很好。
但是现在我还想为包含的系统提供一个变体node/%node page .但我找不到任何提供变体的钩子(Hook)。

我的问题是,我无法创建自己的页面来覆盖 node/%node,因为这已经由页面管理器模块本身提供,所以我可以创建接管正常节点 View 的页面的唯一方法是提供一个变体(据我了解)。
但是我怎样才能以编程方式做到这一点?
我可以看到可以导出变体,因此我想也可以通过钩子(Hook)提供它?

这有可能吗?

最佳答案

我找到了我要找的东西。

要在代码中为使用页面管理器构建的页面提供变体,请在您的模块文件中调用 hook_ctools_plugin_api(),让页面管理器知道它应该监听您的模块:

/**
* Implement hook_ctools_plugin_api().
*
* Tells ctools, page manager and panels, that we have a template ready
*/
function mtvideo_ctools_plugin_api($module, $api) {
// @todo -- this example should explain how to put it in a different file.
if ($module == 'panels_mini' && $api == 'panels_default') {
return array('version' => 1);
}
if ($module == 'page_manager' && $api == 'pages_default') {
return array('version' => 1);
}
}

现在在模块根文件夹中创建一个名为 MODULE_NAME.pages_default.inc 的新文件。
在此文件中,您现在可以包含以下函数:
hook_default_page_manager_pages()
/**
* If you want to put an entire page including its variants in code.
* With the export module from ctools, you can export your whole page to code.
* Paste that into this function.
* (Be aware that the export gives you $page, but you need to return an array,
* So let the function return array('page name' => $page);
*/

和/或
hook_default_page_manager_handlers()
/**
* This will provide a variant of an existing page, e.g. a variant of the system
* page node/%node
* Again, use the export function in Page Manager to export the needed code,
* and paste that into the body of this function.
* The export gives you $handler, but again you want to return an array, so use:
* return array('handler name' => $handler);
*
* Notice, that if you export a complete page, it will include your variants.
* So this function is only to provide variants of e.g. system pages or pages
* added by other modules.
*/

我希望有一天这能帮助另一个有需要的人:o)
我唯一需要发现的是我的模块如何以编程方式在页面管理器中启用节点/%node 页面。
如果有人有线索,请随时与我分享:)

关于drupal-7 - Drupal 页面管理器 : Can I provide a variant in my module?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7772829/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com