По всему Invision Community элементы контента могут быть встроены в другой контент, генерируя небольшой предварительный просмотр контента. Вы можете поддерживать такой тип встраивания для своих элементов контента, позволяя им встраиваться в другие области сообщества.
Примечание. Вы должны были внедрить расширение ContentRouter для поддержки встраивания.
Как реализовать встраивание
Во-первых, вам необходимо реализовать интерфейс встаривания в вашей модели элементов контента, например:
implements \IPS\Content\Embeddable
Затем убедитесь, что URL-адреса вашего контента содержат параметр "id", который является основным идентификатором вашего контента. Если это не так, вам необходимо переопределить метод loadFromUrl() в вашем классе (это определено в \IPS\Patterns\ActiveRecord):
public function loadFromUrl( \IPS\Http\Url $url )
{
return static::load( ... );
}
Контроллер и модель автоматически поддерживают встраивание с использованием общего шаблона. Если вы хотите использовать собственный шаблон, переопределите метод embedContent() в вашей модели и верните другой HTML:
string embedContent( array $params )
- $params (array, обязательный) - Дополнительные параметры, которые были переданы во встраиваемом URL.