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;
}
}