start_controls_section( 'section_title', [ 'label' => __( 'Title Element', 'addonnest' ) ] ); $this->add_control( 'menu_column', [ 'label' => __( 'Coulmn Number', 'addonnest' ), 'type' => \Elementor\Controls_Manager::SELECT, 'default' => '6', 'options' => [ '12' => __( 'Column 1', 'addonnest' ), '6' => __( 'Column 2', 'addonnest' ), '4' => __( 'Column 3', 'addonnest' ), '3' => __( 'Column 4', 'addonnest' ), '2' => __( 'Column 6', 'addonnest' ), ], ] ); $repeater = new \Elementor\Repeater(); $repeater->add_control( 'dishes_menu_title', [ 'label' => esc_html__( 'Menu Title', 'addonnest' ), 'type' => \Elementor\Controls_Manager::TEXT, 'default' => esc_html__( 'Grilled Angus Hamburger' , 'addonnest' ), 'label_block' => true, ] ); $repeater->add_control( 'dishes_menu_details', [ 'label' => esc_html__( 'Menu Details', 'addonnest' ), 'type' => \Elementor\Controls_Manager::TEXT, 'default' => esc_html__( 'Mushroom / Veggie / White Sources' , 'addonnest' ), 'show_label' => true, ] ); $repeater->add_control( 'dishes_menu_price', [ 'label' => esc_html__( 'Item Price', 'addonnest' ), 'type' => \Elementor\Controls_Manager::TEXT, 'default' => esc_html__( '7.00' , 'addonnest' ), 'show_label' => true, ] ); $this->add_control( 'dishes_menu_list', [ 'label' => esc_html__( 'Dishes Menu Items', 'addonnest' ), 'type' => \Elementor\Controls_Manager::REPEATER, 'fields' => $repeater->get_controls(), 'default' => [ [ 'dishes_menu_title' => esc_html__( 'Grilled Angus Hamburger', 'addonnest' ), 'dishes_menu_details' => esc_html__( 'Mushroom / Veggie / White Sources', 'addonnest' ), 'dishes_menu_price' => esc_html__( '7.00', 'addonnest' ), ], [ 'dishes_menu_title' => esc_html__( 'Grilled Angus Hamburger', 'addonnest' ), 'dishes_menu_details' => esc_html__( 'Mushroom / Veggie / White Sources', 'addonnest' ), 'dishes_menu_price' => esc_html__( '5.00', 'addonnest' ), ], ], 'title_field' => '{{{ dishes_menu_title }}}', ] ); $this->add_control( 'currency', [ 'label' => __( 'Currency', 'addonnest' ), 'type' => \Elementor\Controls_Manager::SELECT, 'options' => AddonNest_Currency_list(), 'multiple' => false, 'default' => 'USD:$', ] ); $this->add_control( 'menu_divider', [ 'type' => \Elementor\Controls_Manager::DIVIDER, ] ); $this->add_control( 'divider_color', [ 'label' => __( 'Divider Color', 'addonnest' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .restaurent-menu-item .menu' => 'border-color: {{VALUE}};', ], ] ); $this->add_responsive_control( 'border_width', [ 'label' => esc_html__( 'Border Width', 'addonnest' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'default' => [ 'size' => 1, ], 'range' => [ 'px' => [ 'min' => 1, 'max' => 10, ], ], 'selectors' => [ '{{WRAPPER}} .restaurent-menu-item .menu' => 'border-width: {{SIZE}}{{UNIT}};', ], ] ); $this->add_control( 'divider_type', [ 'label' => __( 'Border Type', 'addonnest' ), 'type' => \Elementor\Controls_Manager::SELECT, 'default' => 'dotted', 'options' => [ 'solid' => __( 'Solid', 'addonnest' ), 'dotted' => __( 'Dotted', 'addonnest' ), 'dashed' => __( 'dashed', 'addonnest' ), ], 'selectors' => [ '{{WRAPPER}} .restaurent-menu-item .menu' => 'border-style: none none {{VALUE}} none;', ], ] ); $this->end_controls_section(); # Option End # Menu style $this->start_controls_section( 'dishes_menu_style', [ 'label' => __( 'Menu Style', 'addonnest' ), 'tab' => \Elementor\Controls_Manager::TAB_STYLE, ] ); # Title color $this->add_control( 'dishes_menu_title_color', [ 'label' => __( 'Dishes Menu Color', 'addonnest' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .restaurent-menu-item .menu-item-list .menu-title' => 'color: {{VALUE}};', ], ] ); # Title typography $this->add_group_control( \Elementor\Group_Control_Typography::get_type(), [ 'label' => __( 'Dishes Menu Typography', 'addonnest' ), 'name' => 'dishes_menu_title_typorgraphy', 'selector' => '{{WRAPPER}} .restaurent-menu-item .menu-item-list .menu-title', ] ); $this->add_responsive_control( 'menu_item_gap', [ 'label' => esc_html__( 'Menu Item Spacing', 'addonnest' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'default' => [ 'size' => 5, ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} .restaurent-menu-item .menu-title' => 'margin-bottom: {{SIZE}}{{UNIT}};', '{{WRAPPER}} .restaurent-menu-item .menu-price' => 'margin-bottom: {{SIZE}}{{UNIT}};', ], ] ); $this->add_control( 'first_divider', [ 'type' => \Elementor\Controls_Manager::DIVIDER, ] ); # Details color $this->add_control( 'dishes_menu_details_color', [ 'label' => __( 'Menu Details Color', 'addonnest' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .restaurent-menu-item .menu-detail' => 'color: {{VALUE}};', ], ] ); # Details typography $this->add_group_control( \Elementor\Group_Control_Typography::get_type(), [ 'label' => __( 'Menu Details Typography', 'addonnest' ), 'name' => 'dishes_menu_details_typorgraphy', 'selector' => '{{WRAPPER}} .restaurent-menu-item .menu-detail', ] ); $this->add_responsive_control( 'dishe_menu_item_gap', [ 'label' => esc_html__( 'Menu Details Spacing', 'addonnest' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'default' => [ 'size' => 12, ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} .restaurent-menu-item .menu' => 'padding-bottom: {{SIZE}}{{UNIT}};', ], ] ); $this->add_control( 'second_divider', [ 'type' => \Elementor\Controls_Manager::DIVIDER, ] ); # Price color $this->add_control( 'dishes_menu_price_color', [ 'label' => __( 'Menu Price Text Color', 'addonnest' ), 'type' => \Elementor\Controls_Manager::COLOR, 'selectors' => [ '{{WRAPPER}} .restaurent-menu-item .menu-price' => 'color: {{VALUE}};', ], ] ); # Details typography $this->add_group_control( \Elementor\Group_Control_Typography::get_type(), [ 'label' => __( 'Price Text Typography', 'addonnest' ), 'name' => 'dishes_menu_price_typorgraphy', 'selector' => '{{WRAPPER}} .restaurent-menu-item .menu-price', ] ); $this->add_control( 'four_divider', [ 'type' => \Elementor\Controls_Manager::DIVIDER, ] ); $this->add_responsive_control( 'item_gap', [ 'label' => esc_html__( 'Menu Item Spacing', 'addonnest' ), 'type' => \Elementor\Controls_Manager::SLIDER, 'default' => [ 'size' => 20, ], 'range' => [ 'px' => [ 'min' => 0, 'max' => 100, ], ], 'selectors' => [ '{{WRAPPER}} .restaurent-menu-item .menu' => 'margin-bottom: {{SIZE}}{{UNIT}};', ], ] ); $this->end_controls_section(); } protected function render( ) { $settings = $this->get_settings(); $currency = $settings['currency']; $crcy_code = explode(':', $currency); ?>
widgets_manager->register_widget_type( new AddonNest_Widget_Restaurant_Menu() );