Xpressengine3 \ Lightning
위젯 박스 (Widget Box) 생성하기
위젯박스(Widget Box) 는 말 그대로 위젯을 담는 박스라고 생각할 수 있습니다.
위젯박스(Widget Box) 는 사이트의 화면에 출력됩니다.
사이트 관리자는 위젯박스의 편집 페이지에서 다수의 위젯을 생성한 다음, 생성된 위젯들을 위젯박스에 배치할 수 있습니다.
사이트 관리자나 개발자는 위젯박스 삽입 코드를 사용하여 화면 어디에나 위젯박스를 출력할 수 있습니다.
(출처: https://www.xpressengine.com/guide/xe-service/service-widget_box)
작성된 코드는 migrations\\WidgetboxMigration.php
에 있습니다.
PHP Code
$widgetBoxHandler = app('xe.widgetbox');
$dashboard = $handler->find('dashboard');
if($dashboard === null)
{
$handler->create([
'id'=>'dashboard',
'title'=>'dashboard',
'content'=> $this->getDefaultDashboard(),
'options' => ['presenter' => \\Xpressengine\\Widget\\Presenters\\XEUIPresenter::class]
]);
}
$userProfile = $handler->find('user-profile');
if($userProfile === null)
{
$handler->create([
'id'=>'user-profile',
'title'=>'User Profile'
]);
}
/**
* Get the widget-box data for the dashboard.
*
* @return array
*/
private function getDefaultDashboard()
{
return json_decode('[[{"grid":{"md":6,"xs":"12"},"rows":[],"widgets":[{"@attributes":{"id":"widget\\/xpressengine@systemInfo","title":"System Info","skin-id":"widget\\/xpressengine@systemInfo\\/skin\\/xpressengine@default"},"skin":""}]},{"grid":{"md":6,"xs":"12"},"rows":[],"widgets":[{"@attributes":{"id":"widget\\/xpressengine@storageSpace","title":"Storage \\uc0ac\\uc6a9\\ub7c9","skin-id":"widget\\/xpressengine@storageSpace\\/skin\\/xpressengine@default"},"limit":"5","skin":""}]}],[{"grid":{"md":"6","xs":"12"},"rows":[],"widgets":[{"@attributes":{"id":"widget\\/xpressengine@contentInfo","title":"Content Info","skin-id":"widget\\/xpressengine@contentInfo\\/skin\\/xpressengine@default"}}]},{"grid":{"md":"6","xs":"12"},"rows":[],"widgets":[{"@attributes":{"id":"widget\\/news_client@news","title":"News","skin-id":"widget\\/news_client@news\\/skin\\/news_client@default"}}]}]]', true);
}
Blade PHP Code
<!--//기본프로필 -->
@if($widgetbox)
<div class="card-wrap">
<div class="xe-container">
{{ uio('widgetbox', ['id' => 'user-profile', 'link'=> xe_trans('xe::edit')]) }}
</div>
</div>
@endif
0개 댓글