我创建了一个从SocialEngine下载并上传到那里的模块,而不对源代码进行任何更改。
控制器代码:
// Controllers/IndexController.php
class Likecounter_IndexController extends Core_Controller_Action_Standard
{
public function indexAction()
{
$this->view->someVar = 'someVal';
}
}
观看代码: // views / scripts / index / index.tpl 骨架模块索引:Likecounter
someVar : <?php echo $this->someVar; ?>
和Bootstrap.php代码:
// Root of Likecounter(module name) directory
class Likecounter_Bootstrap extends Engine_Application_Bootstrap_Abstract
{
}
但是没有输出:( 你猜怎么着?为什么它不打印任何东西?
由于
答案 0 :(得分:0)
它将与/ likecounter或您在manifest.php中设置的路径下的链接一起工作。
答案 1 :(得分:0)
您的模块是否包含必要的文件/文件夹,例如public class SecurityTrimmingTagHelper : TagHelper
{
[ViewContext]
public ViewContext Context { get; set; }
public override void Process(TagHelperContext context, TagHelperOutput output)
{
output.TagName = null;
if (!Context.HttpContext.User.Identity.IsAuthenticated)
{
output.SuppressOutput();
}
if (Context.HttpContext.User.IsInRole("Admin"))
{
return;
}
output.SuppressOutput();
}
}
?如果是这样,您是否可以检查您的模块是否已在您的软件包管理器中启用(可以在yoursite.com/install/manage上找到)?
接下来,您可以将/application/modules/Likecounter/settings/manifest.php
之类的内容放在控制器的echo "it works"; die();
中。然后,当您访问indexAction()
时,它应该显示空白页面,其中包含“it works”文本。
如果没有,您应该检查yoursite.com/likecounter
中日志文件的结尾部分。希望这会有所帮助。