新创建的模块中的socialengine widget内容没有在前端出现

The socialengine widget content in the new created module is not get appear in the front end

我使用教程创建了一个新模块https://jadb.wordpress.com/2011/04/22/social-engine-4-modules/

一切正常。

后来我使用教程在新模块中创建了一个小部件。 https://jadb.wordpress.com/2011/01/17/socialengine-4-create-a-widget/

小组件文件夹不是在创建模块时创建的。所以我为小部件创建了文件夹。 我还添加了 Controller.php 和 index.tpl 文件。

将教程中提到的代码添加到 content.php 文件后,我的新小部件出现在布局编辑器的管理端。 将我的小部件添加到页面并保存后,我在页面上看不到它的内容。

我在这里添加了我的文件内容。我的模块名称是 LoginPhonenumber 小部件名称是 hione.

content.php

 <?php

    return array(
    array(
   'title' => 'Hi One',
   'description' => 'hi123',
   'category' => 'Login Phonenumber',
   'type' => 'widget',
   'name' => 'login-phonenumber.hione',
   'requirements' => array(
   'no-subject',
   ),
  ),
 ) ?>

Controller.php

<?php

 class LoginPhonenumber_Widget_HioneController extends 
 Engine_Content_Widget_Abstract
 {
  public function indexAction()
  {
   echo "hiiiiiiiiiiiiiiii";
  } 
 }
?>

index.tpl

<?php echo "Welcome";?>

谁能告诉我问题出在哪里。

我建议您更改模块名称:none 核心模块使用类似于 login-phonenumber 的命名方式。所有模块都被命名为一个单词:

如您所见,即使模块名称包含多个单词,它们也被命名为一个单词,没有破折号。如果您使用内部带有破折号的模块,您很可能会收到下一个警告:

WARN (4): exception 'Engine_Content_Exception' with message 'Widget's module is not enabled or not installed: "login-phonenumber"'

这让我们明白 SocialEngine 无法识别具有这样名称的模块,即使它在数据库中的名称为 login-phonenumber.