default.html не отображается при создании компонента в 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', 'like', "%${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,
      ];
    });
  }
}

1 ответ

Папка каталога должна быть в нижнем регистре

Другие вопросы по тегам