$productData = $modx->getObject('msProductData', ['article' => $article]);
if (!$productData) {
// Новый товар
// остальной код
} else {
$product = $modx->getObject('msProduct', $productData->id);
//остальной код
}
$productId = $product->get('id');
if (!empty($item['images']) && is_array($item['images'])) {
foreach ($item['images'] as $imgUrl) {
$savePath = MODX_BASE_PATH . 'tmpimages/';
$filename = basename(parse_url($imgUrl, PHP_URL_PATH));
$destination = $savePath . $filename;
$imageContent = file_get_contents($imgUrl);
if ($imageContent !== false) {
file_put_contents($destination, $imageContent);
$response = $modx->runProcessor('gallery/upload',
array('id' => $productId, 'name' => $filename, 'file' => $destination),
array('processors_path' => MODX_CORE_PATH.'components/minishop2/processors/mgr/')
);
if ($response->isError()) {
echo "Ошибка загрузки изображения:" . print_r($response->getAllErrors(), true); //обработка ошибки
}
unlink($destination);
}
}
}
<?php
$phone = preg_replace('/[\s\-\(\)]/', '', $hook->getValue('phone'));
if (preg_match('/^\+7[9483]\d{9}$/', $phone )) {
return true;
} else {
echo $AjaxForm->success('Ваше сообщение отправлено');
die();
}
document.addEventListener("DOMContentLoaded", function () {
Fancybox.bind("[data-fancybox]", {
on: {
ready: (fancybox, slide) => {
let iframe = document.querySelector(slide.$content).querySelector("iframe");
if (iframe) {
setTimeout(() => {
iframe.contentWindow.postMessage('{"type":"player:play"}', "*");
}, 500);
}
}
}
});
});
[[!tolinks?
&items=`[[+tags]]` или &items=`[[+tv.tags]]`
&tpl=`tagRowTpl`
&target=`56`
]]
отключить autoplay - скролл до 1-го слайда - включить autoplay
navList[i].addEventListener("click", (evt) => {
let currentLink = tabContainer.querySelector(
".slidersTab__tab-label.current"
);
let currentTab = tabContainer.querySelector(
".slidersTab__slidersItem.current"
);
//добавить 4 строчки -- start
let currentSlider = tabList[i].querySelector('.slidersTab__slider-body').swiper;
currentSlider.autoplay.stop();
currentSlider.slideTo(0, 0, false);
currentSlider.autoplay.start();
//-- end
currentLink.classList.remove("current");
navList[i].classList.add("current");
currentTab.classList.remove("current");
tabList[i].classList.add("current");
});
Добрый день. Подскажите, пожалуйста, форма обратной связи все равно отправляет данные, даже если капча не пройдена
и как сделать проверку, а то спам все равно продолжает сыпаться?
enctype="multipart/form-data"
Хочу научиться писать самостоятельно, скажите в какую сторону копать? Какие книги или может видеоуроки.
Если делать на фрилансе, сколько стоит подобная услуга. За сколько бы сделали ВЫ?