【问题标题】:hook_node_info is not adding content type to my listhook_node_info 没有将内容类型添加到我的列表中
【发布时间】:2011-04-19 01:39:46
【问题描述】:

我正在尝试从一个模块中添加一个新的内容类型,并且我从 ubercart 产品套件模块中借用了很多东西,因为我想将它用作这种新类型的基础:

/**
* Implementation of hook_node_info().
*
* @return Node type information for flexible product bundles.
*/
function amh_shop_bundles_node_info() {
    return array(
        'amh_shop_flexi_bundle' => array(
            'name' => t('Flexible Product Bundle'),
            'module' => 'amh_shop_bundles',
            'description' => t('This node represents a flexible bundle package that allows customers to mix and match products and get discounts.'),
            'title_label' => t('Name'),
            'body_label' => t('Description'),
        ),
    );
}

但是,这种新的内容类型并未与其他内容类型一起列在我的内容类型列表中。我知道模块正在正确加载,因为我还创建了一个函数 amh_shop_bundles_perm() 来列出权限,并且它们按预期包含在用户权限列表中。

我错过了什么吗? (嗯,很可能是的)。 Drupal documentation 说它应该真的那么容易。

更新:

我发现一条评论提供了一个测试内容类型是否正确生成的评论 - 通过访问 /admin/content/node-type/amh-shop-flexi-bundle

这有效 - 但内容类型仍未与其他内容类型一起列出。

更新 2:

因为我可以在 /node/add/amh-shop-flexi-bundle 访问一个空白节点表单,所以我想我可以继续实现其他挂钩 - 并发现您需要实现 hook_form() 来列出内容类型.

【问题讨论】:

  • 那么你的问题通过实现 hook_form() 解决了吗?然后请在单独的答案中写下您的解决方案,并接受您自己的答案。谢谢。
  • 公平点 - 我会这样做 - 但必须在明天我面前有代码可供参考。
  • 抱歉 - 由于不再需要该模块,这段代码似乎在很久以前就被删除了,我很难在存储库中找到它。
  • :( 但是在您的“更新 2”中,可能有一个简短的答案 - 如果正确的话。
  • 我不得不从头开始尝试...但我真的没有时间,抱歉 - 你可以试一试吗?

标签: drupal drupal-6 drupal-hooks


【解决方案1】:

实现 hook_form() 的技巧对我有用!

我只添加了这些行,然后 baam:

function hook_form(){
  $form = array();
  return $form;
}

【讨论】:

    猜你喜欢
    • 2014-08-10
    • 2019-03-19
    • 1970-01-01
    • 2012-09-16
    • 2012-11-22
    • 2017-12-04
    • 1970-01-01
    • 2016-06-09
    • 1970-01-01
    相关资源
    最近更新 更多