Алексей Шумаев

Алексей Шумаев

С нами с 30 ноября -0001; Место в рейтинге пользователей: #24
Алексей Шумаев
19 февраля 2019, 20:12
0
Николай, глобально ты прав, но не совсем. Помимо описанной ТС проблемы, есть и другие случаи.
Например, пользователь может менять группу. А от группы зависит разное, например цена на сайте. Бывают таки ситуации, когда желательно бы принудительно завершить сессию.
Банально отвечать на однообразные вопросы «Я вот сейчас на сайте! Почему вы мне дали скидку, а я её не вижу?» — тяжко (то, что необходимость переавторизации везде прописана — «всем как всегда»). И вот тут-то как раз удобно при смене группы выбрасывать с морды заставляя перелогиниваться с новыми правами.
Алексей Шумаев
19 февраля 2019, 19:44
0
Ну какие обиды, Сергей? ) Буду благодарен, если пояснишь свою мысль и предложишь своё решение.
Кстати, вопрос на самом деле достаточно часто возникает и актуален для любого более-менее серьёзного сайта.
Алексей Шумаев
19 февраля 2019, 16:56
+1
$ssid = $user->get('sessionid');
    if(!empty($ssid)) {
        if($session = $this->modx->getObject('modSession',array('id' => $ssid))) {
            $session->remove();
        }
}
Алексей Шумаев
19 февраля 2019, 09:29
0
Попробуйте заменить getCollection на getIterator
Алексей Шумаев
10 февраля 2019, 23:34
+1
В своём js примерно что-то такое сделайте:
$(selector).keyup(function(event) {
     if (event.keyCode == ...) {
            $(selector).trigger('change or blur');
     }
});
Это просто навскидку, скорее всего поможет.
Алексей Шумаев
10 февраля 2019, 19:27
0
У меня на minishop2.com/cart всё меняется. Посмотрите в консоли js — нет ли каких ошибок.
Вообще проблем никогда не было с корзиной ни в одном браузере.
Не кастомизирован ли файл default.js у вас случайно?

Хотя, похоже вы ожидаете смены значений до потери фокуса у поля количество. Так, да, не будет работать — нужно в js поменять событие на нажатие цифровых клавиш.
Алексей Шумаев
10 февраля 2019, 02:08
0
Изменение суммы для товара, как-то так:
1. добавляем в корзине элемент с суммой и назначаем ему класс, например: total-price
1. расширяем класс корзины, добавляем в метод change сумму, например назовём элемент: total
public function change($key, $count) {
		$packing_desc = '';
		if (array_key_exists($key, $this->cart)) {
			$data = $this->cart[$key];
		}
		$res = parent::change($key, $count);
		
		$add = array(
			'total' => $this->cart[$key]['price'] * $this->cart[$key]['count']
		);

		return $this->response($res, '', $add);
	}
документация: docs.modx.pro/komponentyi/minishop2/razrabotka/sluzhbyi/podklyuchenie
2. на фронде в js добавляем:
if (typeof miniShop2 != 'undefined') {
miniShop2.Callbacks.Cart.change.response.success = function(response) {
            if (response.success) {
		        var total = $('#' + response.data['key']).find('.total-price');
		        total.text(miniShop2.Utils.formatPrice(response.data.total));              
            }
        };
}
Алексей Шумаев
10 февраля 2019, 01:45
0
Это дефолтный функционал, итоговая сумма пересчитывается: смотрите на minishop2.com.
Вероятно, у вас ошибка в разметке (например нет класса для элемента): prntscr.com/miy9s3
Алексей Шумаев
10 февраля 2019, 01:40
0
Компонент обновлён до версии 1.1.7.
Если возникнут какие-то проблемы, пишите через поддержку в магазине.
Алексей Шумаев
09 февраля 2019, 21:47
+4
Хорошие новости. Спасибо всем разработчикам.

закрыты XSS уязвимости (Спасибо @Agel_Nash)
За это — отдельная благодарность!
Алексей Шумаев
06 февраля 2019, 20:06
+1
https://modstore.pro/packages/users/mvtusers
Там именно такой основной функционал, т.к. делалось как раз под подобные задачи.
Сейчас нет только выбора группы, в которую нужно добавить/переместить пользователя.
Я могу добавить этот функционал в течении нескольких дней.

Компонент выложен платно только ради того, чтобы был стимул его развивать.
Вы можете купить дополнение, я сделаю для вас новую версию, заодно можно ещё что-то нужное добавить.
Алексей Шумаев
15 января 2019, 16:13
0
Да, есть такое. Проявляется, например, в появлении пустых заказов.
Перепроверил за некоторое время — крэш сессий только на странице оформления заказа.
У меня выявлено минимум на 2 сайтах. Пока не было времени разобраться, если раскопаю — отпишусь.
Теперь уж придётся разбираться, проблема быстро прогрессирует с увеличением посещаемости сайта.

Пока лечится на время очисткой кэша.
Аналогичная проблема с mSearch2 — постоянно на большинстве сайтов отваливается быстрый поиск с той же ошибкой, лечится также очисткой кэша. Правки таблиц, обновления и т.д. не помогают. Не выявлено зависимости от версии modx/расширений (в разумных проеделах). В логах ошибка не всегда есть, места на сервере много.

Если у кого ещё есть такое — отпишитесь. Надо разобраться.
Алексей Шумаев
23 декабря 2018, 13:38
0
А тут пример фильтра с mSearch2. Это дополнением к 1 комментарию.
Алексей Шумаев
18 декабря 2018, 13:14
0
Это зависит от модуля оплаты, который вы используете.
Рецепта на все случаи нет )
Алексей Шумаев
10 ноября 2018, 12:00
0
При импорте можно использовать варианты:
  • артикул
  • TV-поле
  • расширить modResource или msProduct, добавив своё поле. Я использую extID.
id таблиц modx использовать нельзя, иначе всегда будут «сюрпризы».