Олег Захаров

Олег Захаров

С нами с 14 октября 2017; Место в рейтинге пользователей: #64
Олег Захаров
25 июня 2026, 01:17
1
0
Кстати вопрос возник. Раздражало что для базовой локализации надо было делать версию ru — т.е. создавать дублирование информации из полей и доп.полей. Это приводило к путанице. Могли записать в Content или доп. поля базовые, а на сайте информация не обновлялась. И приходилось делать проверки и условия Fenom чтобы для ru версии брать содержимое из основных полей, а не из локализации ru — а ее нельзя было не создавать. Как в новой версии будет? Тоже дублировать в ru локализацию? Можно ли сделать режим выбора использовать ru локализацию (или ту которая по умолчанию в localizator3_default_language) или брать для базовой локализации информацию из базовых полей и доп.полей/опций? Вижу что есть getLocalizedField который «если перевода нет, вернёт default или значение из modResource.» Вот это прям огонь.
И еще вижу из описания что есть переводы полей, TV-полей (MIGX тоже может переводить?) и опций товаров — вот это прям огонь огонь!
Олег Захаров
25 июня 2026, 01:09
1
0
Огонь! Я ставил Localizator на несколько своих сайтов. Были сложности и приходилось как-то обходить. Но сам компонент вполне был рабочий.
Потестим.
Олег Захаров
02 октября 2021, 22:12
1
0
В файле /core/components/shopstats/model/shopstats/minishop2.class.php есть код
$q_stats_month->select('status,`createdon`, month(`createdon`) AS `order_month`, count(*) AS `order_count`, SUM(cart_cost) AS order_cost');
я его исправил на
$q_stats_month->select('status,`createdon`, month(`createdon`) AS `order_month`, count(*) AS `order_count`, SUM(cost) AS order_cost');
т.к. cart_cost это стоимость товаров в корзине. А по факту к стоимости заказа может быть добавлена стоимость доставки delivery_cost или скидка (если у вида доставки в настройках Minishop поставить в поле «Доп. стоимость:» отрицательное значение например -15% то будет добавляться скидка). cost — это итоговая стоимость товара.
Спасибо за виджет. Можно кастомизировать под себя.
Жаль не обновляете — хотелось бы вывод сделать по сумме и количеству заказов не только за годы, но и например выводить стоимость заказов за последний месяц, добавить возможность фильтрации и выбора отображения сведений за разные периоды, статусу — как это сделано в основном экране заказов магазина Minishop 2.
Олег Захаров
22 сентября 2021, 04:01
1
0
Еще момент — иногда возникают ошибки расчета стоимости когда например пользователь ввел один адрес, стоимость доставки посчиталась и запомнилась в форме. Затем пользователь меняет адрес доставки, но стоимость уже остается посчитанной для предыдущего адреса. Т.е. получается не пересчитывается доставка. Так можно сделать обман пользователем чтобы доставка посчиталась по минимуму а затем уже выбирается реальный адрес, а стоимость может остаться старой.
Или же пользователь ввел заново название города, а улицу не указал (есть адреса типа железнодорожная станция и она не сохраняется как улица), или она не подставилась, и доставка точно не посчиталась/ не обновилась. У меня происходит так что если указать просто Новосибирск — то выводится Новосибирск, и тогда считается доставка в центр или даже оставляет старый маршрут (карта не перерисовывается) и стоимость доставки не меняется. Для указания просто города наверное вообще надо делать чтобы доставка не считалась правильно указанной и посчитанной.
Вижу решение проблемы чтобы через js проверять чтобы улица (поле street, делаю у себя скрытым, заполняется после заполнения через поле mscdistance_delivery_to_point) была заполнена.
Но были также ошибки когда не считается переменная mscdistance_delivery_distance. И доставка не считается. Как быть в этом случае? Приходится думать в сторону написания JS кода для проверки наличия заполнения mscdistance_delivery_distance (ну и mscdistance_delivery_to_point соответственно).
Олег Захаров
22 сентября 2021, 01:45
1
0
Еще хотелось бы настраивать отображение карты, задавать возможность отображения маркера, масштаба показа в начальный момент экрана загрузки карты.
Еще очень хотелось бы чтобы пользователь мог выбрать точку на карте (кликнуть по зданию) и указать что-то типа доставить сюда.

Ведь это было удобно для пользователя.
Плюс еще есть потребность чтобы если пользователь авторизован, адрес доставки можно хранить в настройках пользователя и при оформлении заказа у авторизованного пользователя была возможность выбирать адрес доставки по умолчанию — и тогда при оформлении заказа чтобы доставка рассчитывалась для этого адреса, выбранного по умолчанию (или даже хранить несколько адресов у пользователей и была возможность выбирать в момент оформления заказа.)
И еще вопрос за что отвечает mscDistance.product.cost (не уверен входит ли он в стандартную поставку компонента — на исправляемом сайте клиента компонент уже стоял, возможно этот сниппет был создан другим программистом)? Как его использовать? Посмотрел код, можно разобраться. Но было бы правильно указать его описание на странице компонента — сейчас там о нем нет описания.
Олег Захаров
22 сентября 2021, 01:26
1
0
Вопрос — у последних версий нет системных настроек?
Например на mscDistance
есть указание возможности задания настроек.
Например не нашел в настройках способа доставки (задаваемого в настройках Minishop) возможность ограничить:
Город доставки — указать город в пределах которого осуществляется доставка товаров
Регион доставки — указать регион в пределах которого осуществляется доставка товаров
Вот хочу я например ограничить доставку одним городом, чтобы не выводил адреса из других городов. Сейчас можно указать адрес доставки другие города что мешает.
Сейчас в системных настройках по mscdistance пусто. Пробовал переустановить, все равно пусто.
Или можно указанные настройки вручную создать. Как они будут работать. Почему нельзя было вывести в системные настройки? Или это баг?
Олег Захаров
04 сентября 2021, 23:55
1
0
Нужен не просто стоимость доставки который выводится через "
Стоимость доставки: {$total.delivery_cost}
", а именно величина скидки/наценки от стоимости в зависимости от выбранного способа доставки, которое задается из настроек способа доставки из поля «Доп. Стоимость». В этом поле «Доп. Стоимость» значение может задаваться как абсолютом, так и в процентах, в том числе и с минусом (таким образом получим Скидку при выборе способа доставки.
Хотим выводить что вроде «Скидка при самовывозе -15% от стоимости: ХХ рублей»
Олег Захаров
04 сентября 2021, 23:40
1
0
Как отобразить скидку на самовывоз в карточке заказа в админке и в уведомлении письмом менеджеру сайта, а также вывести на странице оформления заказа?
Так чтобы брать из поля настроек способа доставки (сегодня могут поставить -15%, а завтра поставят -12% — хотелось бы брать установленное значение скидки из настроек доставки из поля Доп. Стоимость — в обработчике msdeliveryhandler.class.php это судя по всему берется с помощью $delivery->get('price'))
public function getCost(msOrderInterface $order, msDelivery $delivery, $cost = 0.0)
    {
       ...
        $add_price = $delivery->get('price');
        if (preg_match('/%$/', $add_price)) {
            $add_price = str_replace('%', '', $add_price);
            $add_price = $cost / 100 * $add_price;
        }
        $cost += $add_price;

        return $cost;
    }
Иван Бочкарев
23 сентября 2020, 23:30
1
+1
Первый вариант вызывать в шаблоне:

{$_modx->regClientScript("
    <script>
        miniShop2.Callbacks.add('Order.add.response.success', 'add_response_success' , function(response) {
            miniShop2.Order.getcost();
        });
    </script>
", true)}

Второй вариант вызывать в js файле или в теге script:

$(document).ready(function () {
        miniShop2.Callbacks.add('Order.add.response.success', 'add_response_success' , function(response) {
            miniShop2.Order.getcost();
        });
})
SEQUEL.ONE
16 июня 2020, 18:29
1
0
Круто! Огромное спасибо, работает! А вот по этому https://modx.pro/help/20443 тикетсу не подскажите как настроить вывод значений в окне редактирования?