File manager - Edit - /home/verseaumee/zenit/components/com_sppagebuilder/addons/pricelist/site.php
Back
<?php /** * @package SP Page Builder * @author JoomShaper https://www.joomshaper.com * @copyright Copyright (c) 2010 - 2021 JoomShaper * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or later */ //no direct accees defined ('_JEXEC') or die ('Restricted access'); class SppagebuilderAddonPricelist extends SppagebuilderAddons { public function render() { $settings = $this->addon->settings; $class = (isset($settings->class) && $settings->class) ? $settings->class : ''; $title = (isset($settings->title) && $settings->title) ? $settings->title : ''; //Options $text = (isset($settings->text) && $settings->text) ? $settings->text : ''; $price_position = (isset($settings->price_position) && $settings->price_position) ? $settings->price_position : 'right-to-title'; $price = (isset($settings->price) && $settings->price) ? $settings->price : '$20.00'; $discount_price = (isset($settings->discount_price) && $settings->discount_price) ? $settings->discount_price : ''; $add_line = (isset($settings->add_line) && $settings->add_line) ? $settings->add_line : 0; $line_style = (isset($settings->line_style) && $settings->line_style) ? $settings->line_style : 'solid'; $line_position = (isset($settings->line_position) && $settings->line_position) ? $settings->line_position : 'center'; $add_number_or_image = (isset($settings->add_number_or_image) && $settings->add_number_or_image) ? $settings->add_number_or_image : 0; $number_or_image_left = (isset($settings->number_or_image_left) && $settings->number_or_image_left) ? $settings->number_or_image_left : 'image'; $image = (isset($settings->image) && $settings->image) ? $settings->image : ''; $image_src = isset($image->src) ? $image->src : $image; $image_width = (isset($image->width) && $image->width) ? $image->width : ''; $image_height = (isset($image->height) && $image->height) ? $image->height : ''; $image_tag = (isset($settings->image_tag) && $settings->image_tag) ? $settings->image_tag : ''; $image_tag_text = (isset($settings->image_tag_text) && $settings->image_tag_text) ? $settings->image_tag_text : ''; $image_tag_radius = (isset($settings->image_tag_radius) && $settings->image_tag_radius) ? $settings->image_tag_radius : ''; $number_text = (isset($settings->number_text) && $settings->number_text) ? $settings->number_text : 1; //Lazy load image $placeholder = $image_src == '' ? false : $this->get_image_placeholder($image_src); if(strpos($image_src, "http://") !== false || strpos($image_src, "https://") !== false){ $image = $image_src; } else { $image = JURI::base() . $image_src; } $content_alignment = ''; if($price_position == "content-bottom"){ $content_alignment = 'sppb-text-alignment'; } $split_price = preg_split("/[\.]+/", $price); $price_text = ''; $price_zero = ''; if($split_price){ $price_text = isset($split_price[0]) ? $split_price[0] : ''; $price_zero = isset($split_price[1]) ? '.'.$split_price[1] : ''; } $dis_split_price = preg_split("/[\.]+/", $discount_price); $dis_price_text = ''; $dis_price_zero = ''; if($dis_split_price){ $dis_price_text = isset($dis_split_price[0]) ? $dis_split_price[0] : ''; $dis_price_zero = isset($dis_split_price[1]) ? '.'.$dis_split_price[1] : ''; } //Building price $price_output = ''; $dis_price_output = ''; $line_style_output = ''; $discount_class = ''; if($price_position && $discount_price){ $discount_class = 'discounted-price'; } if($price_position && $price){ $price_output = '<span class="pricelist-price '.$discount_class.'">'.$price_text.'<span class="pricelist-point-zero">'.$price_zero.'</span></span>'; } if($price_position && $discount_price){ $dis_price_output = '<span class="pricelist-price">'.$dis_price_text.'<span class="pricelist-point-zero">'.$dis_price_zero.'</span></span>'; } if($add_line && $line_style){ if($line_position == 'title-bottom'){ $line_style_output .= '<span class="pricelist-line title-bottom"><span class="pricelist-line-style-'.$line_style.'"></span></span>'; } else{ $line_style_output .= '<span class="pricelist-line"><span class="pricelist-line-style-'.$line_style.'"></span></span>'; } } //Output $output = ''; $output .= '<div class="sppb-addon sppb-addon-pricelist ' . $class . '">'; if($add_number_or_image){ $output .= '<div class="pricelist-left-image">'; if($number_or_image_left == 'image'){ $alt_text = ($title) ? $title : ''; $output .= '<img '.($placeholder ? 'class="sppb-element-lazy"' : '').' src="' . ($placeholder ? $placeholder : $image) . '" alt="'.$alt_text.'" '.($placeholder ? 'data-large="'.$image.'"' : '').' '.($image_width ? 'width="'.$image_width.'"' : '').' '.($image_height ? 'height="'.$image_height.'"' : '').' loading="lazy">'; if($image_tag && $image_tag_text){ $tag_class = ($image_tag_radius) ? 'tag-radius' : ''; $output .= '<span class="pricelist-tag '.$tag_class.'">'.$image_tag_text.'</span>'; } } else { $output .= '<div class="pricelist-left-number">'; $output .= $number_text; $output .= '</div>'; } $output .= '</div>'; } $output .= '<div class="pricelist-text-content '.$content_alignment.'">'; if ($title) { $output .= '<div class="sppb-addon-title">'; $output .= '<span class="pricelist-title-content">'; $output .= '<span class="pricelist-title">' . $title; if($price_position == 'with-title'){ $output .= '<span class="pricelist-price-with-title">' .$price_output.' '.$dis_price_output.'</span>'; } $output .= '</span>'; if($line_position != 'title-bottom' && $price_position == 'right-to-title'){ $output .= $line_style_output; } if($price_position == 'right-to-title'){ $output .= '<span class="pricelist-price-content">'.$price_output.' '.$dis_price_output.'</span>'; } $output .= '</span>'; $output .= '</div>'; } if($line_position == 'title-bottom'){ $output .= $line_style_output; } $output .= '<div class="sppb-addon-content">'; $output .= $text; $output .= '</div>'; if($price_position == 'content-bottom'){ $output .= '<span class="pricelist-price-content bottom-of-content">'.$price_output.' '.$dis_price_output.'</span>'; } if($line_position != 'title-bottom' && $price_position == 'content-bottom'){ $output .= $line_style_output; } $output .= '</div>'; $output .= '</div>'; return $output; } public function css() { $css = ''; $settings = $this->addon->settings; $style = ''; $style_sm = ''; $style_xs = ''; $style .= (isset($settings->text_fontsize) && $settings->text_fontsize) ? "font-size: " . $settings->text_fontsize . "px;" : ""; $style_sm .= (isset($settings->text_fontsize_sm) && $settings->text_fontsize_sm) ? "font-size: " . $settings->text_fontsize_sm . "px;" : ""; $style_xs .= (isset($settings->text_fontsize_xs) && $settings->text_fontsize_xs) ? "font-size: " . $settings->text_fontsize_xs . "px;" : ""; $style .= (isset($settings->text_lineheight) && $settings->text_lineheight) ? "line-height: " . $settings->text_lineheight . "px;" : ""; $style_sm .= (isset($settings->text_lineheight_sm) && $settings->text_lineheight_sm) ? "line-height: " . $settings->text_lineheight_sm . "px;" : ""; $style_xs .= (isset($settings->text_lineheight_xs) && $settings->text_lineheight_xs) ? "line-height: " . $settings->text_lineheight_xs . "px;" : ""; if($style){ $css .= '#sppb-addon-' . $this->addon->id . ' .sppb-addon-content { ' . $style . ' }'; } if($style_sm){ $css .= '@media (min-width: 768px) and (max-width: 991px) {#sppb-addon-' . $this->addon->id . ' .sppb-addon-content { ' . $style_sm . ' }}'; } if($style_xs){ $css .= '@media (max-width: 767px) {#sppb-addon-' . $this->addon->id . ' .sppb-addon-content { ' . $style_xs . ' }}'; } $add_line = (isset($settings->add_line) && $settings->add_line) ? $settings->add_line : 0; $line_size = (isset($settings->line_size) && $settings->line_size) ? $settings->line_size : ''; $line_color = (isset($settings->line_color) && $settings->line_color) ? $settings->line_color : ''; $line_position = (isset($settings->line_position) && $settings->line_position) ? $settings->line_position : 'center'; $line_top_gap = (isset($settings->line_top_gap) && $settings->line_top_gap) ? $settings->line_top_gap : ''; $line_bottom_gap = (isset($settings->line_bottom_gap) && $settings->line_bottom_gap) ? $settings->line_bottom_gap : ''; if($add_line){ $css .= '#sppb-addon-' . $this->addon->id . ' .pricelist-line span {'; if($line_size){ $css .= 'border-bottom-width:' . $line_size . 'px;'; } if($line_color){ $css .= 'border-bottom-color:' . $line_color . ';'; } $css .= '}'; if($line_position){ $css .= '#sppb-addon-' . $this->addon->id . ' .pricelist-line {'; $css .= '-webkit-box-align: '.$line_position.';'; $css .= '-ms-flex-align: '.$line_position.';'; $css .= 'align-items: '.$line_position.';'; $css .= '}'; } if($line_position == 'title-bottom'){ $css .= '#sppb-addon-' . $this->addon->id . ' .pricelist-line.title-bottom {'; if($line_top_gap){ $css .= 'margin-top: '.$line_top_gap.'px;'; } if($line_bottom_gap ){ $css .= 'margin-bottom: '.$line_bottom_gap .'px;'; } $css .= '}'; } } $image = (isset($settings->image) && $settings->image) ? $settings->image : ''; $image_width = (isset($settings->image_width) && $settings->image_width) ? $settings->image_width : ''; $image_width_sm = (isset($settings->image_width_sm) && $settings->image_width_sm) ? $settings->image_width_sm : ''; $image_width_xs = (isset($settings->image_width_xs) && $settings->image_width_xs) ? $settings->image_width_xs : ''; $image_border_radius = (isset($settings->image_border_radius) && $settings->image_border_radius) ? $settings->image_border_radius : ''; $add_number_or_image = (isset($settings->add_number_or_image) && $settings->add_number_or_image) ? $settings->add_number_or_image : 0; $number_or_image_left = (isset($settings->number_or_image_left) && $settings->number_or_image_left) ? $settings->number_or_image_left : 'image'; $image_gutter = (isset($settings->image_gutter) && $settings->image_gutter) ? $settings->image_gutter : 15; $image_gutter_sm = (isset($settings->image_gutter_sm) && $settings->image_gutter_sm) ? $settings->image_gutter_sm : ''; $image_gutter_xs = (isset($settings->image_gutter_xs) && $settings->image_gutter_xs) ? $settings->image_gutter_xs : ''; $price_color = (isset($settings->price_color) && $settings->price_color) ? $settings->price_color : ''; $discount_price_color = (isset($settings->discount_price_color) && $settings->discount_price_color) ? $settings->discount_price_color : ''; $price_fontsize = (isset($settings->price_fontsize) && $settings->price_fontsize) ? $settings->price_fontsize : ''; $price_fontsize_sm = (isset($settings->price_fontsize_sm) && $settings->price_fontsize_sm) ? $settings->price_fontsize_sm : ''; $price_fontsize_xs = (isset($settings->price_fontsize_xs) && $settings->price_fontsize_xs) ? $settings->price_fontsize_xs : ''; $price_fontweight = (isset($settings->price_fontweight) && $settings->price_fontweight) ? $settings->price_fontweight : 700; $price_top_gap = (isset($settings->price_top_gap) && $settings->price_top_gap) ? $settings->price_top_gap : ''; $price_bottom_gap = (isset($settings->price_bottom_gap) && $settings->price_bottom_gap) ? $settings->price_bottom_gap : ''; $number_style = ''; $number_style_sm = ''; $number_style_xs = ''; $number_style .= (isset($settings->number_bg_color) && $settings->number_bg_color) ? 'background-color:'. $settings->number_bg_color .';' : ''; $number_style .= (isset($settings->number_color) && $settings->number_color) ? 'color:'. $settings->number_color .';' : ''; $number_style .= (isset($settings->number_fontsize) && $settings->number_fontsize) ? 'font-size:'. $settings->number_fontsize .'px;' : ''; $number_style .= (isset($settings->number_fontweight) && $settings->number_fontweight) ? 'font-weight:'. $settings->number_fontweight .';' : ''; $number_style .= (isset($settings->number_fontstyle) && $settings->number_fontstyle) ? 'font-style:'. $settings->number_fontstyle .';' : ''; $number_style .= (isset($settings->number_top_padding) && $settings->number_top_padding) ? 'padding-top:'. $settings->number_top_padding .'px;' : ''; $number_style .= (isset($settings->number_bottom_padding) && $settings->number_bottom_padding) ? 'padding-bottom:'. $settings->number_bottom_padding .'px;' : ''; $number_style_sm .= (isset($settings->number_fontsize_sm) && $settings->number_fontsize_sm) ? 'font-size:' . $settings->number_fontsize_sm . 'px;' : ''; $number_style_xs = (isset($settings->number_fontsize_xs) && $settings->number_fontsize_xs) ? 'font-size:'. $settings->number_fontsize_xs .'px;' : ''; $zero_position = (isset($settings->zero_position) && $settings->zero_position) ? $settings->zero_position : ''; $discount_price_position = (isset($settings->discount_price_position) && $settings->discount_price_position) ? $settings->discount_price_position : ''; $tag_style = ''; $tag_style .= (isset($settings->image_tag_bg) && $settings->image_tag_bg) ? 'background-color:'.$settings->image_tag_bg.';' : 'background-color:#000000'; $tag_style .= (isset($settings->image_tag_radius) && $settings->image_tag_radius) ? 'border-radius:' .$settings->image_tag_radius.'px;' : ''; $tag_style .= (isset($settings->image_tag_top_margin) && $settings->image_tag_top_margin) ? 'top:' .$settings->image_tag_top_margin.'px;' : ''; $tag_style .= (isset($settings->image_tag_left_margin) && $settings->image_tag_left_margin) ? 'left:' .$settings->image_tag_left_margin.'px;' : ''; if($price_top_gap || $price_bottom_gap){ $css .= '#sppb-addon-' . $this->addon->id . ' .pricelist-price-content.bottom-of-content {'; $css .= 'display: block;'; if($price_top_gap){ $css .= 'margin-top:' .$price_top_gap. 'px;'; } if($price_bottom_gap){ $css .= 'margin-bottom:' .$price_bottom_gap. 'px;'; } if($settings->font_family){ $css .= 'font-family: ' .$settings->font_family. ';'; } $css .= '}'; } if($zero_position){ $css .= '#sppb-addon-' . $this->addon->id . ' .pricelist-point-zero {'; $css .= 'vertical-align: ' .$zero_position. ';'; $css .= '}'; } if($discount_price_position){ $css .= '#sppb-addon-' . $this->addon->id . ' .pricelist-price.discounted-price {'; $css .= 'vertical-align: ' .$discount_price_position. ';'; $css .= '}'; } if($price_color || $price_fontsize || $price_fontweight || $discount_price_color){ $css .= '#sppb-addon-' . $this->addon->id . ' .pricelist-price-content {'; if($price_color){ $css .= 'color:' .$price_color. ';'; } if($price_fontsize){ $css .= 'font-size:' .$price_fontsize. 'px;'; } if($price_fontweight){ $css .= 'font-weight:' .$price_fontweight. ';'; } $css .= '}'; $css .= '#sppb-addon-' . $this->addon->id . ' .pricelist-price.discounted-price {'; if($discount_price_color){ $css .= 'color:' .$discount_price_color. ';'; } $css .= '}'; } if(isset($settings->content_position) && $settings->content_position){ $css .= '#sppb-addon-' . $this->addon->id . ' .sppb-text-alignment {'; if($settings->content_position == 'left'){ $css .= 'text-align: left;'; } elseif( $settings->content_position == 'right' ){ $css .= 'text-align: right;'; } elseif( $settings->content_position == 'center' ){ $css .= 'text-align: center;'; } $css .= '}'; if($settings->content_position == 'left'){ $css .= '#sppb-addon-' . $this->addon->id . ' .sppb-text-alignment .pricelist-title-content{ -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }'; } elseif( $settings->content_position == 'right' ){ $css .= '#sppb-addon-' . $this->addon->id . ' .sppb-text-alignment .pricelist-title-content{ -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }'; } elseif( $settings->content_position == 'center' ){ $css .= '#sppb-addon-' . $this->addon->id . ' .sppb-text-alignment .pricelist-title-content{ -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }'; } } if($add_number_or_image){ $css .= '#sppb-addon-' . $this->addon->id . ' .pricelist-left-image {'; if($image_width){ $css .= '-ms-flex: 0 0 ' .$image_width. '%;'; $css .= 'flex: 0 0 ' .$image_width. '%;'; $css .= 'max-width:' .$image_width. '%;'; } if($image_gutter){ $css .= 'padding-right: '.$image_gutter.'px;'; } $css .= '}'; $css .= '#sppb-addon-' . $this->addon->id . ' .pricelist-text-content {'; if($image_width){ $css .= '-ms-flex: 0 0 ' .(100-$image_width). '%;'; $css .= 'flex: 0 0 ' .(100-$image_width). '%;'; $css .= 'max-width:' .(100-$image_width). '%;'; } if($image_gutter){ $css .= 'padding-left: '.$image_gutter.'px;'; } $css .= '}'; if($image_border_radius){ $css .= '#sppb-addon-' . $this->addon->id . ' .pricelist-left-number,'; $css .= '#sppb-addon-' . $this->addon->id . ' .pricelist-left-image img {'; $css .= 'border-radius:' .$image_border_radius. '%;'; $css .= '}'; } if($tag_style){ $css .= '#sppb-addon-' . $this->addon->id . ' .pricelist-tag {'; $css .= $tag_style; $css .= '}'; } if($number_style){ $css .= '#sppb-addon-' . $this->addon->id . ' .pricelist-left-number {'; $css .= $number_style; $css .= '}'; } } $css .= '@media (min-width: 768px) and (max-width: 991px) {'; if($add_number_or_image || $number_style_sm){ $css .= '#sppb-addon-' . $this->addon->id . ' .pricelist-left-image {'; if($image_width_sm){ $css .= '-ms-flex: 0 0 ' .$image_width_sm. '%;'; $css .= 'flex: 0 0 ' .$image_width_sm. '%;'; $css .= 'max-width:' .$image_width_sm. '%;'; } if($image_gutter_sm){ $css .= 'padding-right: '.$image_gutter_sm.'px;'; } $css .= '}'; $css .= '#sppb-addon-' . $this->addon->id . ' .pricelist-text-content {'; if($image_width_sm){ $css .= '-ms-flex: 0 0 ' .(100-$image_width_sm). '%;'; $css .= 'flex: 0 0 ' .(100-$image_width_sm). '%;'; $css .= 'max-width:' .(100-$image_width_sm). '%;'; } if($image_gutter_sm){ $css .= 'padding-left: '.$image_gutter_sm.'px;'; } $css .= '}'; if($number_style_sm){ $css .= '#sppb-addon-' . $this->addon->id . ' .pricelist-left-number {'; $css .= $number_style_sm; $css .= '}'; } } if(isset($settings->content_position_sm) && $settings->content_position_sm){ $css .= '#sppb-addon-' . $this->addon->id . ' .sppb-text-alignment {'; if($settings->content_position_sm == 'left'){ $css .= 'text-align: left;'; } elseif( $settings->content_position_sm == 'right' ){ $css .= 'text-align: right;'; } elseif( $settings->content_position_sm == 'center' ){ $css .= 'text-align: center;'; } $css .= '}'; if($settings->content_position_sm == 'left'){ $css .= '#sppb-addon-' . $this->addon->id . ' .sppb-text-alignment .pricelist-title-content{ -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }'; } elseif( $settings->content_position_sm == 'right' ){ $css .= '#sppb-addon-' . $this->addon->id . ' .sppb-text-alignment .pricelist-title-content{ -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }'; } elseif( $settings->content_position_sm == 'center' ){ $css .= '#sppb-addon-' . $this->addon->id . ' .sppb-text-alignment .pricelist-title-content{ -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }'; } } if($price_fontsize_sm){ $css .= '#sppb-addon-' . $this->addon->id . ' .pricelist-price-content {'; $css .= 'font-size:' .$price_fontsize_sm. 'px;'; $css .= '}'; } $css .= '}'; $css .= '@media (max-width: 767px) {'; if($add_number_or_image || $number_style_xs){ $css .= '#sppb-addon-' . $this->addon->id . ' .pricelist-left-image {'; if($image_width_xs){ $css .= '-ms-flex: 0 0 ' .$image_width_xs. '%;'; $css .= 'flex: 0 0 ' .$image_width_xs. '%;'; $css .= 'max-width:' .$image_width_xs. '%;'; } if($image_gutter_xs){ $css .= 'padding-right: '.$image_gutter_xs.'px;'; } $css .= '}'; $css .= '#sppb-addon-' . $this->addon->id . ' .pricelist-text-content {'; if($image_width_xs){ $css .= '-ms-flex: 0 0 ' .(100-$image_width_xs). '%;'; $css .= 'flex: 0 0 ' .(100-$image_width_xs). '%;'; $css .= 'max-width:' .(100-$image_width_xs). '%;'; } if($image_gutter_xs){ $css .= 'padding-left: '.$image_gutter_xs.'px;'; } $css .= '}'; if($number_style_xs){ $css .= '#sppb-addon-' . $this->addon->id . ' .pricelist-left-number {'; $css .= $number_style_xs; $css .= '}'; } } if(isset($settings->content_position_xs) && $settings->content_position_xs){ $css .= '#sppb-addon-' . $this->addon->id . ' .sppb-text-alignment {'; if($settings->content_position_xs == 'left'){ $css .= 'text-align: left;'; } elseif( $settings->content_position_xs == 'right' ){ $css .= 'text-align: right;'; } elseif( $settings->content_position_xs == 'center' ){ $css .= 'text-align: center;'; } $css .= '}'; if($settings->content_position_xs == 'left'){ $css .= '#sppb-addon-' . $this->addon->id . ' .sppb-text-alignment .pricelist-title-content{ -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; }'; } elseif( $settings->content_position_xs == 'right' ){ $css .= '#sppb-addon-' . $this->addon->id . ' .sppb-text-alignment .pricelist-title-content{ -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }'; } elseif( $settings->content_position_xs == 'center' ){ $css .= '#sppb-addon-' . $this->addon->id . ' .sppb-text-alignment .pricelist-title-content{ -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; }'; } } if($price_fontsize_xs){ $css .= '#sppb-addon-' . $this->addon->id . ' .pricelist-price-content {'; $css .= 'font-size:' .$price_fontsize_xs. 'px;'; $css .= '}'; } $css .= '}'; return $css; } public static function getTemplate() { $output = ' <# let split_price = _.split(data.price, "."); let price_text = ""; let price_zero = ""; if(split_price){ price_text = !_.isEmpty(split_price[0]) ? split_price[0] : ""; price_zero = !_.isEmpty(split_price[1]) ? "."+split_price[1] : ""; } let dis_split_price = _.split(data.discount_price, "."); let dis_price_text = ""; let dis_price_zero = ""; if(dis_split_price){ dis_price_text = !_.isEmpty(dis_split_price[0]) ? dis_split_price[0] : ""; dis_price_zero = !_.isEmpty(dis_split_price[1]) ? "."+dis_split_price[1] : ""; } let discount_class = ""; let price_output = ""; let dis_price_output = ""; let line_style_output = ""; if(data.price_position && data.discount_price){ discount_class = "discounted-price"; } if(data.price_position && data.price){ price_output = \'<span class="pricelist-price \' + discount_class + \'">\'+ price_text + \'<span class="pricelist-point-zero">\'+price_zero+\'</span></span>\'; } if(data.price_position && data.discount_price){ dis_price_output = \'<span class="pricelist-price">\'+dis_price_text+\'<span class="pricelist-point-zero">\'+dis_price_zero+\'</span></span>\'; } if(data.add_line && data.line_style){ if(data.line_position == "title-bottom"){ line_style_output += \'<span class="pricelist-line title-bottom"><span class="pricelist-line-style-\'+data.line_style+\'"></span></span>\'; } else { line_style_output += \'<span class="pricelist-line"><span class="pricelist-line-style-\'+data.line_style+\'"></span></span>\'; } } let content_alignment = ""; if(data.price_position == "content-bottom"){ content_alignment = "sppb-text-alignment"; } #> <style type="text/css"> #sppb-addon-{{ data.id }} .sppb-addon-content { <# if(_.isObject(data.text_fontsize)){ #> font-size: {{ data.text_fontsize.md }}px; <# } else { #> font-size: {{ data.text_fontsize }}px; <# } #> <# if(_.isObject(data.text_lineheight)){ #> line-height: {{ data.text_lineheight.md }}px; <# } else { #> line-height: {{ data.text_lineheight }}px; <# } #> <# if(data.text_fontweight){ #> font-weight: {{ data.text_fontweight}}; <# } #> } @media (min-width: 768px) and (max-width: 991px) { #sppb-addon-{{ data.id }} .sppb-addon-content{ <# if(_.isObject(data.text_fontsize)){ #> font-size: {{ data.text_fontsize.sm }}px; <# } #> <# if(_.isObject(data.text_lineheight)){ #> line-height: {{ data.text_lineheight.sm }}px; <# } #> } } @media (max-width: 767px) { #sppb-addon-{{ data.id }} .sppb-addon-content { <# if(_.isObject(data.text_fontsize)){ #> font-size: {{ data.text_fontsize.xs }}px; <# } #> <# if(_.isObject(data.text_lineheight)){ #> line-height: {{ data.text_lineheight.xs }}px; <# } #> } } <# if(data.add_line || data.price_position){ #> #sppb-addon-{{data.id}} .pricelist-line span { <# if(data.line_size){ #> border-bottom-width:{{data.line_size}}px; <# } #> <# if(data.line_color){ #> border-bottom-color:{{data.line_color}}; <# } #> } <# if(data.line_position){ #> #sppb-addon-{{data.id}} .pricelist-line { -webkit-box-align: {{data.line_position}}; -ms-flex-align: {{data.line_position}}; align-items: {{data.line_position}}; } <# } if(data.line_position == "title-bottom"){ #> #sppb-addon-{{data.id}} .pricelist-line.title-bottom { <# if(data.line_top_gap){ #> margin-top: {{data.line_top_gap}}px; <# } if(data.line_bottom_gap){ #> margin-bottom: {{data.line_bottom_gap}}px; <# } #> } <# } } if(data.price_top_gap || data.price_bottom_gap){ #> #sppb-addon-{{data.id}} .pricelist-price-content.bottom-of-content { display: block; <# if(data.price_top_gap){ #> margin-top:{{data.price_top_gap}}px; <# } #> <# if(data.price_bottom_gap){ #> margin-bottom:{{data.price_bottom_gap}}px; <# } if(data.font_family){ #> font-family: {{data.font_family}}; <# } #> } <# } if(data.price_color || data.price_fontsize || data.price_fontweight || data.discount_price_color){ #> #sppb-addon-{{data.id}} .pricelist-price-content { <# if(data.price_color){ #> color:{{data.price_color}}; <# } #> <# if(_.isObject(data.price_fontsize)){ #> font-size:{{data.price_fontsize.md}}px; <# } else {#> font-size:{{data.price_fontsize}}px; <# } #> <# if(data.price_fontweight){ #> font-weight:{{data.price_fontweight}}; <# } #> } #sppb-addon-{{data.id}} .pricelist-price.discounted-price{ <# if(data.discount_price_color){ #> color:{{data.discount_price_color}}; <# } #> } <# } if(data.number_text && data.number_or_image_left=="number"){ #> #sppb-addon-{{data.id}} .pricelist-left-number { <# if(data.number_bg_color){ #> background-color:{{data.number_bg_color}}; <# } #> <# if(data.number_color){ #> color:{{data.number_color}}; <# } #> <# if(_.isObject(data.number_fontsize)){ #> font-size: {{data.number_fontsize.md}}px; <# } else { #> font-size: {{data.number_fontsize}}px; <# } #> <# if(data.number_fontweight){ #> font-weight:{{data.number_fontweight}}; <# } #> <# if(data.number_fontstyle){ #> font-style:{{data.number_fontstyle}}; <# } #> <# if(data.number_top_padding){ #> padding-top:{{data.number_top_padding}}px; <# } #> <# if(data.number_bottom_padding){ #> padding-bottom:{{data.number_bottom_padding}}px; <# } #> } <# } if(data.add_number_or_image){ if(data.image_width){ #> #sppb-addon-{{data.id}} .pricelist-left-image { <# if(_.isObject(data.image_width)){ #> -ms-flex: 0 0 {{data.image_width.md}}%; flex: 0 0 {{data.image_width.md}}%; max-width: {{data.image_width.md}}%; <# } else { #> -ms-flex: 0 0 {{data.image_width}}%; flex: 0 0 {{data.image_width}}%; max-width: {{data.image_width}}%; <# } if(_.isObject(data.image_gutter)){ #> padding-right: {{data.image_gutter.md}}px; <# } else { #> padding-right: {{data.image_gutter}}px; <# } #> } #sppb-addon-{{data.id}} .pricelist-text-content { <# if(_.isObject(data.image_width)){ #> -ms-flex: 0 0 {{100-data.image_width.md}}%; flex: 0 0 {{100-data.image_width.md}}%; max-width: {{100-data.image_width.md}}%; <# } else { #> -ms-flex: 0 0 {{100-data.image_width}}%; flex: 0 0 {{100-data.image_width}}%; max-width: {{100-data.image_width}}%; <# } if(_.isObject(data.image_gutter)){ #> padding-left: {{data.image_gutter.md}}px; <# } else { #> padding-left: {{data.image_gutter}}px; <# } #> } <# } if(data.image_border_radius){ #> #sppb-addon-{{data.id}} .pricelist-left-number, #sppb-addon-{{data.id}} .pricelist-left-image img { border-radius:{{data.image_border_radius}}%; } <# } if(data.image_tag_bg || data.image_tag_radius || data.image_tag_top_margin || data.image_tag_left_margin){ #> #sppb-addon-{{data.id}} .pricelist-tag { background-color:{{data.image_tag_bg}}; border-radius:{{data.image_tag_radius}}px; top:{{data.image_tag_top_margin}}px; left:{{data.image_tag_left_margin}}px; } <# } #> <# } if(data.content_position){ if(_.isObject(data.content_position) && data.content_position.md){ #> #sppb-addon-{{data.id}} .sppb-text-alignment { <# if(data.content_position.md == "left"){ #> text-align: left; <# } else if( data.content_position.md == "right" ){ #> text-align: right; <# } else if( data.content_position.md == "center" ){ #> text-align: center; <# } #> } <# if(data.content_position.md == "left"){ #> #sppb-addon-{{data.id}} .sppb-text-alignment .pricelist-title-content{ -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } <# } else if( data.content_position.md == "right" ){ #> #sppb-addon-{{data.id}} .sppb-text-alignment .pricelist-title-content{ -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } <# } else if( data.content_position.md == "center" ){ #> #sppb-addon-{{data.id}} .sppb-text-alignment .pricelist-title-content{ -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } <# } } } #> <# if(data.zero_position){ #> #sppb-addon-{{data.id}} .pricelist-point-zero { vertical-align: {{data.zero_position}}; } <# } #> <# if(data.discount_price_position){ #> #sppb-addon-{{data.id}} .pricelist-price.discounted-price { vertical-align: {{data.discount_price_position}}; } <# } #> @media (max-width: 991px) { <# if(data.add_number_or_image){ #> <# if((_.isObject(data.image_width) && data.image_width.sm) || _.isObject(data.image_gutter)){ #> #sppb-addon-{{data.id}} .pricelist-left-image { -ms-flex: 0 0 {{data.image_width.sm}}%; flex: 0 0 {{data.image_width.sm}}%; max-width:{{data.image_width.sm}}%; <# if(_.isObject(data.image_gutter)){ #> padding-right: {{data.image_gutter.sm}}px; <# } #> } #sppb-addon-{{data.id}} .pricelist-text-content { -ms-flex: 0 0 {{100-data.image_width.sm}}%; flex: 0 0 {{100-data.image_width.sm}}%; max-width: {{100-data.image_width.sm}}%; <# if(_.isObject(data.image_gutter)){ #> padding-left: {{data.image_gutter.sm}}px; <# } #> } <# } if(_.isObject(data.number_fontsize) && data.number_fontsize.sm){ #> #sppb-addon-{{data.id}} .pricelist-left-number { font-size: {{data.number_fontsize.sm}}px; } <# } } if(_.isObject(data.content_position) && data.content_position.sm){ #> #sppb-addon-{{data.id}} .sppb-text-alignment { <# if(data.content_position.sm == "left"){ #> text-align: left; <# } else if( data.content_position.sm == "right" ){ #> text-align: right; <# } else if( data.content_position.sm == "center" ){ #> text-align: center; <# } #> } <# if(data.content_position.sm == "left"){ #> #sppb-addon-{{data.id}} .sppb-text-alignment .pricelist-title-content{ -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } <# } else if( data.content_position.sm == "right" ){ #> #sppb-addon-{{data.id}} .sppb-text-alignment .pricelist-title-content{ -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } <# } else if( data.content_position.sm == "center" ){ #> #sppb-addon-{{data.id}} .sppb-text-alignment .pricelist-title-content{ -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } <# } } #> <# if(_.isObject(data.price_fontsize)){ #> #sppb-addon-{{data.id}} .pricelist-price-content { font-size:{{data.price_fontsize.sm}}px; } <# } #> } @media (max-width: 767px) { <# if(data.add_number_or_image){ #> <# if((_.isObject(data.image_width) && data.image_width.xs) || _.isObject(data.image_gutter)){ #> #sppb-addon-{{data.id}} .pricelist-left-image { -ms-flex: 0 0 {{data.image_width.xs}}%; flex: 0 0 {{data.image_width.xs}}%; max-width: {{data.image_width.xs}}%; <# if(_.isObject(data.image_gutter)){ #> padding-right: {{data.image_gutter.xs}}px; <# } #> } #sppb-addon-{{data.id}} .pricelist-text-content { -ms-flex: 0 0 {{100-data.image_width.xs}}%; flex: 0 0 {{100-data.image_width.xs}}%; max-width: {{100-data.image_width.xs}}%; <# if(_.isObject(data.image_gutter)){ #> padding-left: {{data.image_gutter.xs}}px; <# } #> } <# } if(_.isObject(data.number_fontsize) && data.number_fontsize.xs){ #> #sppb-addon-{{data.id}} .pricelist-left-number { font-size: {{data.number_fontsize.xs}}px; } <# } #> <# } if(_.isObject(data.content_position) && data.content_position.xs){ #> #sppb-addon-{{data.id}} .sppb-text-alignment { <# if(data.content_position.xs == "left"){ #> text-align: left; <# } else if( data.content_position.xs == "right" ){ #> text-align: right; <# } else if( data.content_position.xs == "center" ){ #> text-align: center; <# } #> } <# if(data.content_position.xs == "left"){ #> #sppb-addon-{{data.id}} .sppb-text-alignment .pricelist-title-content{ -webkit-box-pack: start; -ms-flex-pack: start; justify-content: flex-start; } <# } else if( data.content_position.xs == "right" ){ #> #sppb-addon-{{data.id}} .sppb-text-alignment .pricelist-title-content{ -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; } <# } else if( data.content_position.xs == "center" ){ #> #sppb-addon-{{data.id}} .sppb-text-alignment .pricelist-title-content{ -webkit-box-pack: center; -ms-flex-pack: center; justify-content: center; } <# } } #> <# if(_.isObject(data.price_fontsize)){ #> #sppb-addon-{{data.id}} .pricelist-price-content { font-size:{{data.price_fontsize.xs}}px; } <# } #> } </style> <div class="sppb-addon sppb-addon-pricelist {{data.class}}"> <# if(data.add_number_or_image){ #> <div class="pricelist-left-image"> <# if(data.number_or_image_left=="image") { var priceListImg = {} if (typeof data.image !== "undefined" && typeof data.image.src !== "undefined") { priceListImg = data.image } else { priceListImg = {src: data.image} } if(priceListImg.src?.indexOf("http://") == -1 && priceListImg.src?.indexOf("https://") == -1){ #> <img class="sppb-img-responsive" src=\'{{ pagebuilder_base + priceListImg.src }}\'> <# } else { #> <img class="sppb-img-responsive" src=\'{{ priceListImg.src }}\'> <# } if(data.image_tag && data.image_tag_text){ let tag_class = ""; if (data.image_tag_radius !== undefined && data.image_tag_radius) { tag_class = "tag-radius"; }; #> <span class="pricelist-tag {{tag_class}}">{{data.image_tag_text}}</span> <# } } else { #> <div class="pricelist-left-number"> {{data.number_text}} </div> <# } #> </div> <# } #> <div class="pricelist-text-content {{content_alignment}}"> <# if (data.title) { #> <div class="sppb-addon-title"> <span class="pricelist-title-content"> <span class="pricelist-title"> <span class="sp-inline-editable-element" data-id={{data.id}} data-fieldName="title" contenteditable="true">{{{data.title}}}</span> <# if(data.price_position=="with-title"){ #> <span class="pricelist-price-with-title">{{{price_output}}} {{{dis_price_output}}}</span> <# } #> </span> <# if(data.line_position !== "title-bottom" && data.price_position=="right-to-title"){ #> {{{line_style_output}}} <# } #> <# if(data.price_position=="right-to-title"){ #> <span class="pricelist-price-content">{{{price_output}}} {{{dis_price_output}}}</span> <# } #> </span> </div> <# } if(data.line_position == "title-bottom"){ #> {{{line_style_output}}} <# } #> <div class="sppb-addon-content sp-editable-content" id="addon-text-{{data.id}}" data-id={{data.id}} data-fieldName="text"> {{{data.text}}} </div> <# if(data.price_position=="content-bottom"){ #> <span class="pricelist-price-content bottom-of-content">{{{price_output}}} {{{dis_price_output}}}</span> <# } #> <# if(data.line_position !== "title-bottom" && data.price_position=="content-bottom"){ #> {{{line_style_output}}} <# } #> </div> </div>'; return $output; } }
| ver. 1.4 |
Github
|
.
| PHP 8.5.7 | Generation time: 0 |
proxy
|
phpinfo
|
Settings