Вопросы
Replace для знака =
Добрый день! Подскажите, как можно сделать замену непосредственно самого знака = в выражении replace. Например в выражении =2 нужно сделать замену примерно :replace=`=2==2`. Но тот знак, который нужно заменить, воспринимается как разделитель
Обязательный поля в msOrder
Добрый день.
Можно ли как-то с помощью jquery менять обязательные поля формы в msOrder?
Задача вот какая, по нажатию на checkbox нужно делать обязательным поле Улица.
Попробовал input'у Улица добавить класс required, но это не помогло.
Можно ли как-то с помощью jquery менять обязательные поля формы в msOrder?
Задача вот какая, по нажатию на checkbox нужно делать обязательным поле Улица.
Попробовал input'у Улица добавить класс required, но это не помогло.
Помощь с всплывающим окном -закрытие после отправки данных
Всем привет. Помогите пожалуйста с формой. Есть форма на сайте
Пытаюсь сделать что бы окно закрывалось после отправки формы, либо страница перезагружалась. никак не выходит.
Код html
Пытаюсь сделать что бы окно закрывалось после отправки формы, либо страница перезагружалась. никак не выходит.
Код html
<div class="popup">
<!--div class="popup_close"></div-->
<!--div class="popup_title"></div-->
<div class="popup_content">
<div class="popup_text">Заполните простую форму ниже для того чтобы получить актуальную цену<h1></h1></div>
<form action="/_mzbi/popup_tovar.php" method="POST" name="form_popup">
<input type="tel" placeholder="+7(999)999-99-99" name="phone" required>
<input type="email" placeholder="Введите Вашу почту" name="email" required>
<input class="tovar2" name="tovar2" value="<?= $f_title ?>" hidden>
<input type="hidden" name="token" id="token">
<input type="hidden" name="action" id="action">
<input type="submit" class="popup_submit" value="Узнать актуальную цену">
</form>
<script>
let captcha_action = 'add_comment';
grecaptcha.ready(function() {
grecaptcha.execute('API', {action: captcha_action})
.then(function(token) {
if (token) {
document.getElementById('token').value = token;
document.getElementById('action').value = captcha_action;
}
});
});
</script>
<script>
$(document).on('af_complete', function(event, response) {
if (response.success) {
// 1. Просто закрыть
$('.popup').hide();
// 2. Или с анимацией
$('.popup').fadeOut();
}
});
</script>
<div class="popup_text2">Нажимая на кнопку, Вы даёте согласие на обработку персональных данных и соглашаетесь с политикой конфидециальности</div>
</div>
</div>
<div class="bg_popup"></div>Код php<?php
if (isset($_POST['token']) && isset($_POST['action'])) {
$captcha_token = $_POST['token'];
$captcha_action = $_POST['action'];
} else {
die('Капча работает некорректно. Обратитесь к администратору!');
}
$url = 'https://www.google.com/recaptcha/api/siteverify';
$params = [
'secret' => 'API',
'response' => $captcha_token,
'remoteip' => $_SERVER['REMOTE_ADDR']
];
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch);
if(!empty($response)) $decoded_response = json_decode($response);
$success = false;
if ($decoded_response && $decoded_response->success && $decoded_response->action == $captcha_action && $decoded_response->score > 0) {
$success = $decoded_response->success;
$email = $_POST['email'];
$phone = $_POST['phone'];
$tovar2 = $_POST['tovar2'];
mail("ostrovskijj@ya.ru","Запрос цены","На сайте был сделан запрос цены. \nEmail клиента: $email \nТелефон клиента: $phone \nТовар: $tovar2"); // обрабатываем данные формы, которая защищена капчей
} else {
// прописываем действие, если пользователь оказался ботом
}
$result = $success ? 'Капча пройдена успешно!' : 'Неверная капча!';
echo json_encode($success);Код js$(function() {
$('.open_popup').click(function(){
$('.popup .popup_text h1').text($(this).data('tovar'));
$('.popup').fadeIn();
$('.bg_popup').fadeIn();
$('.bg_popup, .popup_close').click(function(){
$('.popup').fadeOut();
$('.bg_popup').fadeOut();
});
return false
});
}); Выборка ресурсов по значению тв параметра множественный выбор
Нужно сделать выборку ресурсов, значения Тв которых содержит $team. Тв множественный выбор. В тв хранятся id документов, их может быть один или два (разделитель ||).
Мой сниппет находит ресурсы у которых в значении только один id.
Подскажите, как поправить?
Мой сниппет находит ресурсы у которых в значении только один id.
Подскажите, как поправить?
<?php
//ид TV по которому нужно сделать отбор ресурсов
$team_home = 19;
//массив для ID ресурсов
$output = array();
// выбираем все TV с ID=19
$tvs = $modx->getCollection('modTemplateVarResource', array(
'tmplvarid'=>$team_home
));
//перебираем TV
foreach ($tvs as $tv) {
//если значение нашего TV = $team тогда
if ($tv->value==$team)
//добавляем ID ресурса в массив
$output[] = $tv->contentid;
}
// возвращаем строку где ID ресурсов разделены ,
return implode(',',$output); Ошибка сразу после установки
Здравствуйте.
Пытаюсь поставить себе локально MODX. Установил, все проверки прошли успешно перед установкой. Страница авторизации в панель управления появилась. Ввожу логин с паролем и попадаю на пустую белую страницу. Догадываюсь включить отображение ошибок в файле /var/www/html/manager/index.php и пустая страница сменяется длинной ошибкой:
Пытаюсь поставить себе локально MODX. Установил, все проверки прошли успешно перед установкой. Страница авторизации в панель управления появилась. Ввожу логин с паролем и попадаю на пустую белую страницу. Догадываюсь включить отображение ошибок в файле /var/www/html/manager/index.php и пустая страница сменяется длинной ошибкой:
На могу запустить Localizator
Всем привет
чувствую себя полным дебилом,
но ни как не получается настроить Localizator, и судя по комментариям к пакету такой я один,
у всех получается не вызывая при этом проблем, ПОМОГИТЕ разобраться, в чем может быть проблема?
Сделал демо сайт
чувствую себя полным дебилом,
но ни как не получается настроить Localizator, и судя по комментариям к пакету такой я один,
у всех получается не вызывая при этом проблем, ПОМОГИТЕ разобраться, в чем может быть проблема?
Сделал демо сайт
доступы:
s22374.h10.modhost.pro/manager/
Логин s22374
Пароль s22374s22374 Как в mFilter2 вывести модификации с ненулевым остатком
Имеются товары с модификациями подобного вида — prntscr.com/scgm57
Проделал манипуляции с кастомным классом, чтобы фильтровать по модификациям, но в фильтре выводит все доступные модификации — prntscr.com/scgo3c.
А я бы хотел выводить только те, у которых ненулевой остаток. Подскажите, как прописать это условие. Вот вызов mFilter2:
Проделал манипуляции с кастомным классом, чтобы фильтровать по модификациям, но в фильтре выводит все доступные модификации — prntscr.com/scgo3c.
А я бы хотел выводить только те, у которых ненулевой остаток. Подскажите, как прописать это условие. Вот вызов mFilter2:
Проблемы с авторизацией через Яндекс в HybridAuth
Добрый день!
У всех нормально работает авторизация через Яндекс в HybridAuth?
У меня с сегодняшнего дня (07.05.2020) начала вываливаться ошибка в логах:
PS Ну соответственно слетела авторизация через Яндекс на всех моих сайтах.
У всех нормально работает авторизация через Яндекс в HybridAuth?
У меня с сегодняшнего дня (07.05.2020) начала вываливаться ошибка в логах:
[HybridAuth] Provider returned an error: invalid_scope Не удалось определить список запрашиваемых доступовСоответственно Яндекс пишет:
Не удалось определить список запрашиваемых доступов (invalid_scope)Проблема, по всей видимости, с GET-параметром scope, сейчас в нем передаются пустые данные "scope=". В документации указано «Если параметры scope и optional_scope не переданы, то токен будет выдан с правами, указанными при регистрации приложения.». Проверил, права в приложении указаны, но авторизация не проходит. Если в GET-параметре вручную указать "scope=login:birthday login:email login:info login:avatar", то авторизация проходит норм.
PS Ну соответственно слетела авторизация через Яндекс на всех моих сайтах.
Проблемы с дополнением Login
Всем привет! Кто может подсказать что с дополнением Login?