在 octobercms

问题描述

我在显示我创建的组件的 default.htm 文件时遇到问题。我可以将组件拖放到页面或部分中,但不会显示任何内容

我目前拥有的:

  • 名为 {% component 'researchResources' %} 的组件
  • 它已在组件菜单中列出

问题: 当我将组件拖放到页面的特定部分时,它不显示任何内容

测试'author/plugin/component/default.htm'文件的步骤:

静态: <h1>Test component</h1>

动态:

<ul>
  {% for item in __SELF__.resources %}
    <li> {{ item.name }} </li>
  {% endfor %}
</ul>

任何一种方式都不会显示在已注册或放置组件的部件上。我错过了什么吗?还是我做错了?

其他文件

'作者/插件/组件/Resources.PHP'文件

<?PHP namespace Author\Researchresources\Components;

use Cms\Classes\ComponentBase;
use Author\Researchresources\Models\ResearchResource;

class Resources extends ComponentBase
{

    public function componentDetails(){
        return [
            'name' => 'Resources List','description' => 'List of Research Resources'
        ];
    }

    public function onRun(){
         $this->resources = $this->loadResources();
    }

    protected function loadResources(){
        return ResearchResource::all();
    }

    public $resources;

}

'作者/插件/Plugin.PHP'文件

<?PHP 
namespace Author\Researchresources;

use System\Classes\PluginBase;

class Plugin extends PluginBase
{
  public function registerComponents(){
    return [
      'Author\Researchresources\Components\Resources' => 'researchResources'
    ];
  }

  public function registerSettings()
  {
  }

  public function boot(){
    \Event::listen('offline.sitesearch.query',function ($query) {
      $controller = \Cms\Classes\Controller::getController() ?? new \Cms\Classes\Controller();

      $research_resources = ResearchResource::where('name','like',"%${query}%")->orWhere('description',"%${query}%")->get();

      $results = $research_resources->map(function ($item) use ($query,$controller) {

        $relevance = mb_stripos($item->name,$query) !== false ? 2 : 1;
        
        return [
            'title'     => $item->name,'text'      => $item->description,'url' => ($item->content_url != null) ? $item->content_url : "",'relevance' => $relevance,];
      });

      return [
        'provider' => 'Document',// The badge to display for this result
        'results'  => $results,];
    });
  }
}

解决方法

目录文件夹应该是小写的

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...