FEATURE: add functionality for rendering widgets via shortcode [widget]

This commit is contained in:
Michal Kváček
2016-10-11 19:10:03 +02:00
parent d5f9e1fc2b
commit 625bdbb2e2
14 changed files with 217 additions and 43 deletions
+1 -1
View File
@@ -15,7 +15,7 @@ interface WidgetRenderer
*
* @return mixed
*/
public static function render($settings);
public static function render(Widget $settings);
/**
* Display form for creating new instance of widget
+4 -3
View File
@@ -12,14 +12,15 @@ class HtmlCode implements WidgetRenderer
*
* This method renders some HTML code for displaying.
*
* @param object $settings
* @param Widget $widget
*
* @return mixed
*/
public static function render($settings)
public static function render(Widget $widget)
{
$settings = $widget->settings;
$code = '
<div class="html-code-widget ' . $settings->containerClass . '">
<div class="html-code-widget ' . $widget->container_class . '">
' . $settings->code . '
</div>';
+9 -3
View File
@@ -18,12 +18,13 @@ class Menu implements WidgetRenderer
*
* This method renders some HTML code for displaying.
*
* @param object $settings
* @param Widget $widget
*
* @return mixed
*/
public static function render($settings)
public static function render(Widget $widget)
{
$settings = $widget->settings;
$links = (array)$settings->links;
$pageIds = array_keys($links);
@@ -40,7 +41,12 @@ class Menu implements WidgetRenderer
$parameters = Route::current()
->parameters();
$code = '<ul class="menu ' . $settings->containerClass . '">';
$code = '<ul class="menu ' . $widget->container_class . '"';
if ($widget->container_id)
$code .= ' id="'.e($widget->container_id).'"';
$code .= '>';
foreach ($links as $pageId => $link) {
if (!isset($pages[$pageId])) {
@@ -26,12 +26,13 @@ class OrbitSlider implements WidgetRenderer
*
* This method renders some HTML code for displaying.
*
* @param object $settings
* @param Widget $widget
*
* @return mixed
*/
public static function render($settings)
public static function render(Widget $widget)
{
$settings = $widget->settings;
$directoryId = $settings->directoryId;
$images = File::where('directory_id', $directoryId)