Array
(
    [id] => 73
    [type] => document
    [contentType] => text/html
    [pagetitle] => Брусчатка Английский булыжник
    [longtitle] => 
    [description] => 
    [alias] => bulyzhnik
    [link_attributes] => 
    [published] => 1
    [pub_date] => 0
    [unpub_date] => 0
    [parent] => 13
    [isfolder] => 
    [introtext] => 
    [content] => 
    [richtext] => 1
    [template] => 8
    [menuindex] => 12
    [searchable] => 1
    [cacheable] => 1
    [createdby] => 1
    [createdon] => 2019-02-13 15:38:36
    [editedby] => 1
    [editedon] => 2019-03-06 13:13:06
    [deleted] => 
    [deletedon] => 0
    [deletedby] => 0
    [publishedon] => 2019-02-13 15:38:00
    [publishedby] => 1
    [menutitle] => 
    [donthit] => 
    [privateweb] => 
    [privatemgr] => 
    [content_dispo] => 0
    [hidemenu] => 
    [class_key] => msProduct
    [context_key] => web
    [content_type] => 1
    [uri] => produktsiya/bulyzhnik
    [uri_override] => 1
    [hide_children_in_tree] => 0
    [show_in_tree] => 0
    [properties] => 
    [article] => 
    [price] => 530
    [old_price] => 0
    [weight] => 100
    [image] => /assets/images/products/73/angliskiy.jpg
    [thumb] => /assets/images/products/73/small/angliskiy.jpg
    [vendor] => 0
    [made_in] => 
    [new] => 
    [popular] => 
    [favorite] => 
    [tags] => 
    [color] => 
    [size] => 
    [source] => 2
    [seo_title] => 
    [seo_h1] => 
    [seo_description] => 
    [is_calc] => Array
        (
            [0] => 1
        )

    [is_calc.id] => 1
    [is_calc.key] => is_calc
    [is_calc.caption] => Калькулятор
    [is_calc.description] => Если "Да", то включить калькулятор
    [is_calc.measure_unit] => 
    [is_calc.category] => 15
    [is_calc.type] => combo-boolean
    [is_calc.properties] => 
    [is_calc.product_id] => 73
    [is_calc.value] => 1
    [is_calc.category_name] => Характеристики
    [is_counter] => Array
        (
            [0] => м2
        )

    [is_counter.id] => 2
    [is_counter.key] => is_counter
    [is_counter.caption] => Единица измерения
    [is_counter.description] => 
    [is_counter.measure_unit] => 
    [is_counter.category] => 15
    [is_counter.type] => combo-options
    [is_counter.properties] => 
    [is_counter.product_id] => 73
    [is_counter.value] => м2
    [is_counter.category_name] => Характеристики
    [char_arm] => Array
        (
            [0] => нет
        )

    [char_arm.id] => 4
    [char_arm.key] => char_arm
    [char_arm.caption] => Армирование
    [char_arm.description] => 
    [char_arm.measure_unit] => 
    [char_arm.category] => 15
    [char_arm.type] => combo-options
    [char_arm.properties] => 
    [char_arm.product_id] => 73
    [char_arm.value] => нет
    [char_arm.category_name] => Характеристики
    [char_class] => Array
        (
            [0] => В30
        )

    [char_class.id] => 5
    [char_class.key] => char_class
    [char_class.caption] => Класс бетона
    [char_class.description] => 
    [char_class.measure_unit] => 
    [char_class.category] => 15
    [char_class.type] => combo-options
    [char_class.properties] => 
    [char_class.product_id] => 73
    [char_class.value] => В30
    [char_class.category_name] => Характеристики
    [type_product] => Array
        (
            [0] => Плитка
        )

    [type_product.id] => 8
    [type_product.key] => type_product
    [type_product.caption] => Тип товара
    [type_product.description] => 
    [type_product.measure_unit] => 
    [type_product.category] => 15
    [type_product.type] => combobox
    [type_product.properties] => {"values":["\u041f\u043b\u0438\u0442\u043a\u0430","\u0411\u043e\u0440\u0434\u044e\u0440","\u0414\u0440\u0443\u0433\u043e\u0435"]}
    [type_product.product_id] => 73
    [type_product.value] => Плитка
    [type_product.category_name] => Характеристики
    [size_H] => Array
        (
            [0] => 5.5см
        )

    [size_H.id] => 9
    [size_H.key] => size_H
    [size_H.caption] => Размер В
    [size_H.description] => 
    [size_H.measure_unit] => см
    [size_H.category] => 15
    [size_H.type] => textfield
    [size_H.properties] => 
    [size_H.product_id] => 73
    [size_H.value] => 5.5см
    [size_H.category_name] => Характеристики
    [size_W] => Array
        (
            [0] => 12см
        )

    [size_W.id] => 10
    [size_W.key] => size_W
    [size_W.caption] => Размер Д
    [size_W.description] => 
    [size_W.measure_unit] => см
    [size_W.category] => 15
    [size_W.type] => textfield
    [size_W.properties] => 
    [size_W.product_id] => 73
    [size_W.value] => 12см
    [size_W.category_name] => Характеристики
    [size_SH] => Array
        (
            [0] => 25см
        )

    [size_SH.id] => 11
    [size_SH.key] => size_SH
    [size_SH.caption] => Размер Ш
    [size_SH.description] => 
    [size_SH.measure_unit] => см
    [size_SH.category] => 15
    [size_SH.type] => textfield
    [size_SH.properties] => 
    [size_SH.product_id] => 73
    [size_SH.value] => 25см
    [size_SH.category_name] => Характеристики
    [char_weight] => Array
        (
            [0] => 100
        )

    [char_weight.id] => 12
    [char_weight.key] => char_weight
    [char_weight.caption] => Вес (кг)
    [char_weight.description] => 
    [char_weight.measure_unit] => кг
    [char_weight.category] => 15
    [char_weight.type] => numberfield
    [char_weight.properties] => 
    [char_weight.product_id] => 73
    [char_weight.value] => 100
    [char_weight.category_name] => Характеристики
    [char_count_in_m2] => Array
        (
            [0] => 32
        )

    [char_count_in_m2.id] => 14
    [char_count_in_m2.key] => char_count_in_m2
    [char_count_in_m2.caption] => Кол-во в м2
    [char_count_in_m2.description] => 
    [char_count_in_m2.measure_unit] => шт
    [char_count_in_m2.category] => 15
    [char_count_in_m2.type] => textfield
    [char_count_in_m2.properties] => 
    [char_count_in_m2.product_id] => 73
    [char_count_in_m2.value] => 32
    [char_count_in_m2.category_name] => Характеристики
    [vendor.id] => 
    [vendor.name] => 
    [vendor.resource] => 0
    [vendor.country] => 
    [vendor.logo] => 
    [vendor.address] => 
    [vendor.phone] => 
    [vendor.fax] => 
    [vendor.email] => 
    [vendor.description] => 
    [vendor.properties] => 
    [_content] => {include 'header'}
<div id="msProduct" class="main-content">
    <div style="display: none;">
        {$_modx->resource|print}
    </div>
	<div class="row">
		<div class="col-xl-3 col-lg-4">
			{include 'sidebar'}
		</div>
		<div class="col-xl-9 col-lg-8">
			{include 'breadCrumbs'}
			<div class="content">
				<div class="sub-header">
                	<h1 class="text-center">{$_modx->resource.seo_h1?$_modx->resource.seo_h1:$_modx->resource.pagetitle}</h1>
				</div>
				<div class="content-body">
					<div class="product-primary">
						<div class="row">
							<div class="col-xl-5 col-lg-12">
								<div class="product-left">
									<div class="product-gallery">
										<div class="product-content tab-content">
										    {'!msGallery'|snippet}
										</div>
									</div>
									<!-- Форма отпраки товара в корзину -->
                                    <div id="appGetCart" class="product-left_info">
                                        {ignore}
                                        <form class="ms2_form" method="post">
                                            <input type="hidden" name="id" value="73"/>
                                            <div class="product-config text-center">
                                                <div class="product-price">
                                                    <strong>Стоимость:</strong> <span class="text-orange font-weight-bold">{{ price }}</span> руб/{/ignore}{$_modx->resource['is_counter'][0]}{ignore}
                                                </div>
                                                <div class="product-count">
                                                    <div class="label">Количество:</div>
                                                    <input id="product_price" type="number" name="count" value="1" v-model="count" class="my_count" min="0"/>
                                                    
                                                </div>
                                            </div>
                                            <div class="product-action text-center">
                                                <div class="total-price">
                                                    <strong>Всего к оплате:</strong><br/>
                                                    <span class="text-orange font-weight-bold">{{ price * count }}</span> <i class="fas fa-ruble-sign"></i>
                                                </div>
                                                <button type="submit" name="ms2_action" value="cart/add" class="btn btn-primary">
                                                    <svg width='25' height='24' class='svg-icon icon-left'><use xlink:href='assets/template/icons/icons.svg#cart_2'/></svg>
                                                    В корзину
                                                </button>
                                            </div>
                                        </form>
                                        {/ignore}
                                    </div>
                                    {ignore}
                                    <script>
                                        var app = new Vue({
                                            el: '#appGetCart',
                                            data: {
                                                count: 1,
                                                price: {/ignore}{$_modx->resource.price}{ignore}
                                            }
                                        })
                                    </script>
                                    <script>
                                        $(".my_count").on("change blur keyup focus", function(){
                                            if($(this).val()<=0) {
                                                $(this).val("1");
                                            }
                                        })
                                    </script>
                                    {/ignore}
        
									<!-- /Форма отпраки товара в корзину --> 
								</div>
							</div>
							<div class="col-xl-7 col-lg-12">
								<div class="desc">
									{$id|resource:'content'}
								</div>
								<div class="characters mt-25">
									<h3>Характеристики</h3>
								    {'msProductOptions'|snippet:[
								    'tpl' => 'tpl__product_options',
								    'ignoreOptions' => 'is_calc, type_product, is_counter',
								    'sortby' => 'menuindex'
								    ]}
									
									{*'!msProductOptions'|snippet*}
								</div>
							</div>
						</div>
					</div>
					{if ($_modx->resource.is_calc is not empty)}
					<hr class="fluid"/>
					<!-- Calculator -->
					<div id="appCalculator">
    				    <div class="product-calc mb-5">
    						<div class="title text-center">Рассчитать стоимость по площади</div>
    						<div class="row">
    						    <div class="col-xl-9 col-lg-12">
									<div class="calc-primary">
										<div class="calc-item">
											<div class="label">Ширина <br>участка, м</div>
											<input  name="width"
    										    type="number"
    										    min="0"
    										    v-model="width"
    									    	v-on:input="area = width * lenght">
											<div class="variants">
												<span>и</span>
												<i class="fas fa-chevron-down"></i>
												<span>или</span>
											</div>
										</div>
										<div class="calc-item">
											<div class="label">Длина <br>участка, м</div>
											<input  name="lenght"
    										    type="number"
    										    min="0"
    										    v-model="lenght"
    									    	v-on:input="area = width * lenght">
										</div>
										<div class="calc-item">
											<div class="label">Наименование плитки</div>
											<select v-model="selected">
    										<option v-for="option in options" :value="option">
    										    {ignore}
    										    {{ option.text }}
    										    {/ignore}
    										</option>
										</select>
										</div>
									</div>
									<div class="calc-secondary">
										<div class="calc-item">
											<div class="label">Площадь участка, м2</div>
											<input  name="area"
    										    type="number"
    										    min="0"
    										    v-model="area">
										</div>
										<div class="calc-item d-block d-md-none">
											<div class="label">Наименование плитки</div>
											<select name="" id="">
												<option value="Паутинка 300х300х30">Паутинка 300х300х30</option>
												<option value="Паутинка 300х300х30">Паутинка 400х300х30</option>
											</select>
										</div>
										<div class="calc-item">
											<div class="label">Вид бордюра</div>
											<select v-model="selected2">
											<option v-for="option2 in options2" :value="option2">
    											{ignore}
    										    {{ option2.text }}
    										    {/ignore}
										    </option>
										</select>
										</div>
									</div>
								</div>
    						    <div class="col-xl-3 col-lg-12">
    						        <div class="calc-item">
        						        <div class="label text-center">Бордюры</div>
    										<div class="border-config">
    										    <!-- Checkbox top -->
    											<input  type="checkbox" 
    											        class="border-checkbox" 
    											        data-pos="b-top" 
    											        name="top" 
    											        v-model="top"
    											        true-value="1"
                                                        false-value="0">
    											<div class="border-block">
    											    <!-- Checkbox left -->
    												<input  type="checkbox" 
    												        class="border-checkbox"
    												        data-pos="b-left"
    												        name="left"
    												        v-model="left"
    												        true-value="1"
                                                            false-value="0">
    												<div class="element-border">
    													<svg width='100%' height='100%' class='svg-icon'>
    														<use xlink:href='assets/template/icons/icons.svg#border'/>
    													</svg>
    													<div class="b-left"></div>
    													<div class="b-top"></div>
    													<div class="b-bottom"></div>
    													<div class="b-right"></div>
    												</div>
    												<!-- Checkbox right -->
    												<input type="checkbox"
    												        class="border-checkbox"
    												        data-pos="b-right"
    												        name="right"
    												        v-model="right"
    												        true-value="1"
                                                            false-value="0">
    											</div>
    											<!-- Checkbox bottom -->
    											<input  type="checkbox" 
    											        class="border-checkbox"
    											        data-pos="b-bottom"
    											        name="bottom"
    											        v-model="bottom"
    											        true-value="1"
                                                        false-value="0">
    										</div>
    									</div>
    						    </div>
    						</div>
    					</div>
    					<!-- /Calculator -->
    					<!-- Calculator Info -->
    				    <div class="product-total">
    						<div class="row">
    							<div class="col-xl-5 col-md-6">
    								<div class="element">
    									<div class="element-body">
    										<div class="title text-center">
    											<h3>Итог расчета</h3>
    										</div>
    										<ul>
    										    {ignore}
    										    <li v-if="width != 0"><strong>Ширина участка:</strong> {{ width }} метров</li>
    											<li v-if="lenght != 0"><strong>Длина участка:</strong> {{ lenght }} метров</li>
    											<li><strong>Площадь мощения:</strong> {{ area }} м2</li>
    											<li><strong>Плитка:</strong> {{ selected.text }}</li>
    											<li><strong>Цена плитки:</strong> {{ selected.price }} руб/м2</li>
    											
    											<li><strong>Бордюр:</strong> {{ selected2.text }}</li>
    											<li><strong>Цена бордюра:</strong> {{ selected2.price }} руб/шт</li>
    											{/ignore}
    										</ul>
    									</div>
    									{*
    									<div class="element-button">
    										<a href="/" class="btn btn-secondary d-block">Рассчитать</a>
    									</div>
    									*}
    								</div>
    							</div>
    							<div class="col-xl-7 col-md-6">
    								<div class="element fix">
    								    {ignore}
    									<div class="element-body">
    										<div class="element-primary">
    											<div class="title text-center">
    												<h3>Итог общего расчета</h3>
    											</div>
    											<div class="total-body">
    												<div class="total-item">
    													<strong>Расчетное количество плитки: {{ area }} м2</strong><br/>
    													<strong>Стоимость:</strong> <span><span class="text-orange font-weight-bold">{{ getCost }}</span> руб.</span>
    												</div>
    												<div class="total-item">
    													<strong v-if="getCountBorder != Infinity">Расчетное количество бордюров: {{ getCountBorder }} шт</strong>
    													<strong v-else style="color: red;">Извините! Модератор допустил ошибку в настройках, мы исправим это быстрее, если вы сообщите нам.</strong><br/>
    													<strong>Стоимость:</strong> <span><span class="text-orange font-weight-bold">{{ getCostBorder }}</span> руб.</span>
    												</div>
    											</div>
    										</div>
    										<div class="total-summ text-center">
    											<strong>Итог:</strong> <span class="text-orange font-weight-bold">{{ getTotalCost }}</span> руб.
    										</div>
    									</div>
    									{/ignore}
    									{*
    									<div class="element-button">
    										<a href="/" class="btn btn-primary d-block">В корзину</a>
    									</div>
    									*}
    								</div>
    							</div>
    						</div>
    					</div>
					</div>
					<!--Список для Плиток-->
					{'!msProducts'|snippet:[
                        'parents'=>'2',
                        'optionFilters'=>'{"type_product":"Плитка"}',
                        'tpl'=>'tpl_calc_option_item',
                        'toPlaceholder'=>'list_option_plitka',
                        'limit' => '100'
                    ]}
                    <!-- Список для бордюров -->
                    {'!msProducts'|snippet:[
                        'parents'=>'2',
                        'optionFilters'=>'{"type_product":"Бордюр"}',
                        'tpl'=>'tpl_calc_option_item2',
                        'toPlaceholder'=>'list_option_border',
                        'limit' => '100'
                    ]}
					{*ignore*}
					<script>
                        var calculator = new Vue({
                            el: '#appCalculator',
                            data() {
                                return {
                                    item: '',
                                    text1: 'Площадь: ',
                                    text2: 'Колличество: ',
                                    width: 0,
                                    lenght: 0,
                                    area: 0,
                                    count: 0,
                                    cost: 0,
                                    
                                    top: 0,
                                    left: 0,
                                    right: 0,
                                    bottom: 0,
                                    perimeter: 0,
                                    
                                    selected: { },
                                    options: [
                                        [[+list_option_plitka]]
                                    ],
                                    selected2: { },
                                    options2: [
                                        [[+list_option_border]]
                                    ]
                                    
                                }
                            },
                            computed: {
                                getName1() {
                                    return this.selected.text;
                                },
                                getArea() {
                                    return this.width * this.lenght  || 0;
                                },
                                getCost() {
                                    return this.area / this.selected.area * this.selected.price || 0;
                                },
                                getPerimeter(){
                                    if (this.area != 0){
                                        this.perimeter = Number(this.top);
                                        this.perimeter += Number(this.left);
                                        this.perimeter += Number(this.right);
                                        this.perimeter += Number(this.bottom);

                                        return Math.ceil(Math.sqrt(this.area)  * this.perimeter);
                                    }
                                    else return 0;
                                },
                                getCountBorder(){
                                    return this.getPerimeter / this.selected2.size || 0;
                                },
                                getCostBorder(){
                                    return this.getCountBorder * this.selected2.price || 0;
                                },
                                getTotalCost(){
                                    return this.getCost + this.getCostBorder;
                                }
                            },
                            created() {
                                this.selected = this.options[0];
                                this.selected2 = this.options2[0];
                            }
                        });
					</script>
					{*/ignore*}
					<!-- /Calculator Info-->
					{/if}
				</div>
			</div>
		</div>
	</div>
</div>
{include 'footer'}
    [_isForward] => 
)

Брусчатка Английский булыжник

Стоимость: {{ price }} руб/м2
Количество:
Всего к оплате:
{{ price * count }}

Характеристики

Армирование:
нет
Класс бетона:
В30
Размер В:
5.5см
Размер Д:
12см
Размер Ш:
25см
Вес (кг):
100
Кол-во в м2:
32

Рассчитать стоимость по площади
Ширина
участка, м
и или
Длина
участка, м
Наименование плитки
Площадь участка, м2
Наименование плитки
Вид бордюра
Бордюры

Итог расчета

  • Ширина участка: {{ width }} метров
  • Длина участка: {{ lenght }} метров
  • Площадь мощения: {{ area }} м2
  • Плитка: {{ selected.text }}
  • Цена плитки: {{ selected.price }} руб/м2
  • Бордюр: {{ selected2.text }}
  • Цена бордюра: {{ selected2.price }} руб/шт

Итог общего расчета

Расчетное количество плитки: {{ area }} м2
Стоимость: {{ getCost }} руб.
Расчетное количество бордюров: {{ getCountBorder }} шт Извините! Модератор допустил ошибку в настройках, мы исправим это быстрее, если вы сообщите нам.
Стоимость: {{ getCostBorder }} руб.
Итог: {{ getTotalCost }} руб.