$subQuerySelect = [
DB::select(DB::expr('substring_index(GROUP_CONCAT(ZZ.image SEPARATOR ","), ",", 2)'))
->from(['images', 'ZZ'])
->where('ZZ.product_id', '=', DB::expr('products.id'))
->group_by('ZZ.product_id')
->limit(1),
'productImages'
];
//подгружаем товары из подкатегории по id
$subQueryWhere = DB::select('product_id')
->from('categoriesmultis')
->where('category_id', '=', 20538);
//выводим в шаблон товары и фото
$this->template->block_1 = DB::select($subQuerySelect, DB::expr('products.*'))
->from('products')
->where('status', '=', 1)
->order_by('sorts', 'DESC')
->where('id', 'IN', $subQueryWhere)
->limit(8)
->as_object('Model_ProductsTable')
->execute();
<?php foreach ($block_1 as $product_1) : ?>
<h2><?= $product_1->prname ?></h2>
<?php if ($product_1->productImages) : ?>
<?php $productImages = explode(',', $product_1->productImages); ?>
<?php foreach ($productImages as $imageName) : ?>
<img src="/media/uploads/small/small-<?= $imageName ?>" />
<?php endforeach ?>
<?php else : ?>
<img src="/media/uploads/nofoto.jpg" alt="Нет фото на товаре" title="Нет фото" />
<?php endif; ?>
<?php endforeach ?>
<?php
foreach ($categories as $category) :
if ($category['id'] == '21108') :
if (!isset($category['children'])) {
?>
<?
}
?>
<!-- вывод уровень 2 -->
<?php
foreach ($category["children"] as $childfirst) :
if ($childfirst['show_cat'] == '1') {
if (!isset($childfirst['children'])) {
?>
<li><a href="/uborka-zdaniy/<?= $childfirst['alias'] ?>/" title="<?= $childfirst['name'] ?>"><?= $childfirst['name'] ?></a></li>
<?
}
}
endforeach;
?>
<?
endif;
endforeach;
?>
<script>
var recaptcha1;
var recaptcha2;
function recaptchaCallback() {
recaptcha1 = grecaptcha.render('recaptcha-1', {
'sitekey': '00000000000000000000000000000'
});
recaptcha2 = grecaptcha.render('recaptcha-2', {
'sitekey': '00000000000000000000000000000'
});
}
</script>
var captcha = grecaptcha.getResponse(recaptcha2);
$(".valpro").each(function() {
if (!$(this).val()) {
$(this).addClass('validform');
errors = true;
alert('Заполните все важные поля.');
} else {
$(this).removeClass('validform');
}
});
<ul class="ac-custom ac-radio crzsm">
<input type="hidden" id="deliveryCost" name="deliveryCost" value="">
<?php foreach (ORM::factory('Delivery')->find_all() as $del) : ?>
<li><input type="radio" name="delivery" id="radio<?= $del->id ?>" data-price="<?= $del->cost ?>" value="<?= $del->name ?>"><label for="radio<?= $del->id ?>"><?= $del->name ?>
<?php if ($del->cost): ?>
- <b><?= $del->cost ?></b> руб
<?php endif ?></label>
</li>
<?php endforeach ?>
</ul>
<script>
const $deliveryCost = data => document.querySelector('#deliveryCost').value = data;
let $selectors = document.querySelectorAll('.crzsm input[type="radio"]');
$selectors.forEach($radio => {
$radio.addEventListener('change', function() {
$deliveryCost(this.getAttribute('data-price'));
});
});
</script>
onsubmit="send(event, this, '--------------.com/sendsertf.php')"
function send(event, form, php) { // добавил form
и ниже в вывод вариантов добавил form
if (json.result == "success") {
$(form).find('.ax-result').removeClass('validdone validerror').addClass('validdone').html('Сообщение отправлено, в ближайшее время с вами свяжется менеджер.');
$(form).find('.ax-form').hide();
} else {
$(form).find('.ax-result').removeClass('validdone validerror').addClass('validerror').html('Сообщение не отправлено, попробуйте повторить действия позднее.');
$(form).find('.ax-form').show();
}
<?
$IBLOCK_ID = 6;
$arSelect = array("ID", "IBLOCK_ID", "NAME", "url", "DATE_ACTIVE_FROM", "PROPERTY_*", "PREVIEW_PICTURE");
$arFilter = array("IBLOCK_ID" => $IBLOCK_ID, "ACTIVE_DATE" => "Y", "ACTIVE" => "Y");
$res = CIBlockElement::GetList(array('SORT' => 'ASC'), $arFilter, false, false, $arSelect);
while ($ob = $res->GetNextElement()) {
$arFields = $ob->GetFields();
$arProps = $ob->GetProperties();
$img = CFile::GetPath($arFields['PREVIEW_PICTURE']);
$arPrp = array_column($arProps, null, 'NAME');
?>
<div class="carousel__item">
<a href="<? echo $arPrp["url"]['VALUE']; ?>">
<img class="carosel__img" src="<?= $img ?>" alt="">
</a>
</div>
<?
}
?>
$start.datepicker({
minDate: new Date(), //запрещает выбор прошедшей даты
onSelect: function(fd, date) {
var date_from = toDate(fd);
var date_to = toDate($end.val());
var days_count = Math.abs(date_to - date_from) / 86400000;
if (!isNaN(days_count)) {
$("#days_count").text(days_count);
$('#datedney').val(days_count);
}
var numberOfDaysToAdd = 5;
date_from.setDate(date_from.getDate() + numberOfDaysToAdd);
$end.data("datepicker").update("minDate", date_from);
$end.focus(); //перекидывает на вторую дату
}
});
var numberOfDaysToAdd = 5;
date_from.setDate(date_from.getDate() + numberOfDaysToAdd);
d.image.forEach(function(item) {//append/prepend
if (!item.main) {
$('#photoBox').prepend('<div class="fotoadmin"><div class="fotoadminnn"><a href="/media/uploads/prozhivanie/' + item.filename + '" target="_blank"><img src="/media/uploads/prozhivanie/small/small-' + item.filename + '" width="150px"></a><br><a href="/admin/prozhivanie/delimg/' + item.id + '">Удалить</a> | <a href="/admin/prozhivanie/mainimg/' + item.id + '">Главная</a></div></div>');
} else {
$('#photoBox').prepend('<div class="fotoadmin"><div class="fotoadminnn"><a href="/media/uploads/prozhivanie/' + item.filename + '" target="_blank"><img src="/media/uploads/prozhivanie/small/small-' + item.filename + '" width="150px"></a><br><a href="/admin/prozhivanie/delimg/' + item.id + '">Удалить</a> | <b>Главная</b></div></div>');
}
});
}
$start.datepicker({
minDate: new Date(), //запрещает выбор прошедшей даты
onSelect: function(fd, date) {
$end.data('datepicker')
.update('minDate', date);
$end.focus();
}
})
$images = ORM::factory('Image')
->order_by('pos', 'ASC')
->where('fotogalereja_id', '=', $fotogalerejas->id)
->find_all();
$content = View::factory('index/main/fotogalereja')
->set('fotogalerejas', $fotogalerejas)
->set('images_all', $images);
<?php foreach ($images_all as $image) : ?>
<?php echo $image->image ?>
<?php endforeach ?>
"highlight-matching-tag.styles": {
"opening": {
"name": {
"highlight": "rgb(255, 243, 78)"
}
}
}