Hello world

Этот урок показывает, как создать новый плагин, состоящий из новой страницы с текстом «Hello world».

Прежде всего, вам необходимо установить Elgg.

В этом уроке мы будем предполагать, что URL вашего сайта — https://elgg.example.com.

Сначала создайте директорию, которая будет содержать файлы плагина. Она должна находиться в директории mod/, которая расположена в директории установки Elgg. Таким образом, в данном случае создайте mod/hello/.

Файл Composer

Elgg требует, чтобы ваш плагин имел файл composer, содержащий информацию о плагине. Поэтому в только что созданной директории создайте файл composer.json и скопируйте в него этот код:

{
            "name": "elgg/hello",
            "type": "elgg-plugin",
            "description": "Hello World plugin",
            "license": "GPL-2.0-only",
    }

Регистрация маршрута

Следующим шагом является регистрация маршрута, предназначенного для обработки запросов пользователей к URL https://elgg.example.com/hello.

Обновите elgg-plugin.php следующим образом:

<?php

return [
    'routes' => [
                'default:hello' => [
                        'path' => '/hello',
                        'resource' => 'hello',
                ],
        ],
];

Эта регистрация сообщает Elgg, что следует вызывать представление ресурса hello, когда пользователь переходит по адресу https://elgg.example.com/hello.

Файл представления

Создайте mod/hello/views/default/resources/hello.php со следующим содержимым:

<?php

echo elgg_view_page('Hello', [
    'title' => 'Hello world!',
    'content' => 'My first page!',
]);

Код создаёт массив параметров для передачи в функцию elgg_view_layout(), включая:

  • Заголовок страницы

  • Содержимое страницы

  • Фильтр, который остаётся пустым, потому что в настоящее время нечего фильтровать

Это создаёт базовую разметку страницы. Затем разметка передаётся через elgg_view_page(), которая собирает и выводит полную страницу.

Последний шаг

Наконец, активируйте плагин через страницу администратора Elgg: https://elgg.example.com/admin/plugins (новый плагин появится внизу).

Теперь вы можете перейти по адресу https://elgg.example.com/hello/ и увидеть вашу новую страницу!