getMessage(); throw new \ErrorException($msg); } if ($widget_instance->enable()){ $widgets_markup .= self::render_admin_addon_item([ 'addon_name' => $widget_instance->addon_name(), 'addon_namespace' => $widget_instance->addon_namespace(), // new added 'addon_title' => $widget_instance->addon_title(), 'preview_image' => $widget_instance->get_preview_image($widget_instance->preview_image()) ]); } } return $widgets_markup; } private static function render_admin_addon_item($args): string { return '
  • '.$args['addon_title'].$args['preview_image'].'

  • '; } public static function render_widgets_by_name_for_admin($args){ $widget_class = $args['namespace']; $instance = new $widget_class($args); if ($instance->enable()){ return $instance->admin_render(); } } public static function render_widgets_by_name_for_frontend($args){ $widget_class = $args['namespace']; $instance = new $widget_class($args); if ($instance->enable()){ return $instance->frontend_render(); } } public static function render_frontend_pagebuilder_content_by_location($location): string { $output = ''; $all_widgets = PageBuilder::where(['addon_location' => $location])->orderBy('addon_order', 'ASC')->get(); foreach ($all_widgets as $widget) { $output .= self::render_widgets_by_name_for_frontend([ 'name' => $widget->addon_name, 'namespace' => $widget->addon_namespace, 'location' => $location, 'id' => $widget->id, 'column' => $args['column'] ?? false ]); } return $output; } public static function get_saved_addons_by_location($location): string { $output = ''; $all_widgets = PageBuilder::where(['addon_location' => $location])->orderBy('addon_order','asc')->get(); foreach ($all_widgets as $widget) { $output .= self::render_widgets_by_name_for_admin([ 'name' => $widget->addon_name, 'namespace' => $widget->addon_namespace, 'id' => $widget->id, 'type' => 'update', 'order' => $widget->addon_order, 'page_type' => $widget->addon_page_type, 'page_id' => $widget->addon_page_id, 'location' => $widget->addon_location ]); } return $output; } public static function get_saved_addons_for_dynamic_page($page_type,$page_id): string { $output = ''; $all_widgets = PageBuilder::where(['addon_page_type' => $page_type,'addon_page_id' => $page_id])->orderBy('addon_order','asc')->get(); foreach ($all_widgets as $widget) { $output .= self::render_widgets_by_name_for_admin([ 'name' => $widget->addon_name, 'namespace' => $widget->addon_namespace, 'id' => $widget->id, 'type' => 'update', 'order' => $widget->addon_order, 'page_type' => $widget->addon_page_type, 'page_id' => $widget->addon_page_id, 'location' => $widget->addon_location ]); } return $output; } public static function render_frontend_pagebuilder_content_for_dynamic_page($page_type,$page_id): string { $output = ''; $all_widgets = PageBuilder::where(['addon_page_type' => $page_type,'addon_page_id' => $page_id])->orderBy('addon_order','asc')->get(); foreach ($all_widgets as $widget) { $output .= self::render_widgets_by_name_for_frontend([ 'name' => $widget->addon_name, 'namespace' => $widget->addon_namespace, // 'location' => $location, 'id' => $widget->id, 'column' => $args['column'] ?? false ]); } return $output; } }