Дмитрий

Дмитрий

С нами с 27 января 2021; Место в рейтинге пользователей: #1119
Дмитрий
29 января 2022, 07:45
0
Может я что то не так делаю?)
Код напрямую копировал с оригинальной статьи)
Вот подключение css

Дмитрий
27 января 2022, 17:20
0
Добрый день. Можете пожалуйста подсказать по моему вопросу, что я не так делаю? modx.pro/help/22620
Дмитрий
12 августа 2021, 17:34
0
ты был прав, спасибо огромное :D
Дмитрий
12 августа 2021, 17:28
0
в том то и дело, что консоль чистая)
и до и после пробовал
Достаточно прописать в консоле строку: $('.fotorama').fotorama();
fotorama сразу перезагружается.
Дмитрий
12 августа 2021, 17:08
0
Вставил в конец страницы, не помогло) выручай)
<script>
    $(document).on('mse2_load', function(e, data) {
    $('.fotorama').fotorama().destroy();
    $('.fotorama').fotorama();
});
</script>
Если просто в консоле написать:
$('.fotorama').fotorama().destroy();
    $('.fotorama').fotorama();
работает)
Дмитрий
27 июля 2021, 10:26
0
Чистил кеш.
msocfilters.class.php
<?php

class msocFilters extends mse2FiltersHandler
{

    public function getMsocValues(array $tmp, array $ids)
    {
        $filters = $fields = $keys = array();
        foreach ($tmp as $v) {
            $v = explode('~', $v);
            $fields[array_shift($v)] = implode('~', $v);
            $keys = array_merge($keys, $v);
        }
        $keys = array_keys(array_flip($keys));
        $keys = array_merge(array('rid', 'key', 'value'), $keys);

        $classColor = 'msocColor';
        $classProductOption = 'msProductOption';
        $q = $this->modx->newQuery($classColor);
        $q->innerJoin($classProductOption, $classProductOption,
            "{$classProductOption}.key = {$classColor}.key AND {$classProductOption}.value = {$classColor}.value AND {$classProductOption}.product_id = {$classColor}.rid AND {$classColor}.active = 1");
        $q->where(array(
            "{$classColor}.rid:IN"         => $ids,
            "{$classProductOption}.key:IN" => array_keys($fields),
        ));

        $q->select($this->modx->getSelectColumns($classColor, $classColor, '', $keys, false));
        $tstart = microtime(true);
        if ($q->prepare() && $q->stmt->execute()) {
            $this->modx->queryTime += microtime(true) - $tstart;
            $this->modx->executedQueries++;
            while ($row = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
                $key = strtolower($row['key']);

                //$value = str_replace(array_keys($row), array_values($row), $fields[$key]);

                $value = implode('~', array_intersect_key($row, array_flip(explode('~', $fields[$key]))));

                if (!is_array($filters[$key])) {
                    $filters[$key] = array();
                }
                if (isset($filters[$key][$value])) {
                    $filters[$key][$value][$row['rid']] = $row['rid'];
                } else {
                    $filters[$key][$value] = array($row['rid'] => $row['rid']);
                }
            }
        } else {
            $this->modx->log(modX::LOG_LEVEL_ERROR,
                "[mSearch2] Error on get filter params.\nQuery: " . $q->toSql() . "\nResponse: " . print_r($q->stmt->errorInfo(),
                    1));
        }

        return $filters;
    }
}
Дмитрий
26 июля 2021, 17:20
0
— вызов в mFilter2
Необходимо положить кастомный класс фильтрации msocfilters.class.php в папку и указать в настройке mse2_filters_handler_class класс msocFilters
/core/components/msearch2/custom/filters/
Спасибо. Всё сделал, сайт упал. «Не может обработать запрос»
Дмитрий
14 апреля 2021, 10:55
0
Спасибо) с первым примерно понятно.
А вот с расширением класса корзины, можешь хотя бы тыкнуть на какой из пунктов смотреть в документации?
Буду пробовать все способы…
Дмитрий
14 апреля 2021, 09:59
0
Спасибо, идея хорошая, но при добавлении из каталога наверное не будет срабатывать?)
Дмитрий
26 февраля 2021, 07:51
0
Спасибо, помогло!
Дмитрий
24 февраля 2021, 19:27
0
Дружище!!! Спасибо, я месяц мучился))
Дмитрий
23 февраля 2021, 23:18
0
Наверное верстальщик не рассчитывал, что будет проверка начинки)
Дмитрий
06 февраля 2021, 18:50
0
Да, все таки очень странно. На странице товара реально выводит нормально: 0,4398, через [[+price]]
А в корзине округляет в такой формат: 0.4400 через {$product.price}
Дмитрий
06 февраля 2021, 16:24
0
Причем заметил, в самом товаре выводит нормально (через [[+price]]), а в корзине округляет {$product.price}
Дмитрий
06 февраля 2021, 15:45
0
Тестирую на пустом шаблоне, скорее всего плагины. Конечно автор хорошо спрятал, что аж не знаю куда лезть
Дмитрий
06 февраля 2021, 14:52
0
Попробовал, кеш почистил, не получилось))
array (
      'dbtype' => 'decimal',
      'precision' => '12,4',
      'phptype' => 'float',
      'null' => true,
      'default' => 0.0,
    ),

В админке цена так:
В корзине так:

Округляет последние 2 цифры и всё… Накинули версию, что возможно CSS, но прям сомнения.((
Дмитрий
06 февраля 2021, 13:42
0
В Итого Стоимость убрались нули)) т.е. опять до сотых))
Так как я пробовал отключать /assets/components/minishop2/js/web/default.js, наверное дело не в скрипте(( Либо внутренность плагина minishop, либо в БД...((
Дмитрий
06 февраля 2021, 13:16
0
В таком случае он просто перестает считать общую сумму. Ради интереса попробовал вообще убрать default.js, относительно работает, но сумму так же в корзине округляет 0.4400, хотя в БД 0.4389 и в админке тоже правильно))
Такое ощущение, что берет из Бд, хотя я уже везде там выставил у cost и price decimal(12,4) ((
Есть еще версии?)
Дмитрий
06 февраля 2021, 12:54
0
В админке получилось сделать, а вот на сайте, точнее в самой в корзине всё равно округляет((((. Например, вместо 0.4389 ставит 0.4400.
Хотя проверил в БД, стоит значение 0.4389.
Дмитрий
06 февраля 2021, 09:15
0
В /assets/components/minishop2/js/web/default.js нашел такое, оно?:
miniShop2.Utils = {
        empty: function (val) {
            return (typeof(val) == 'undefined' || val == 0 || val === null || val === false || (typeof(val) == 'string' && val.replace(/\s+/g, '') == '') || (typeof(val) == 'object' && val.length == 0));
        },
        formatPrice: function (price) {
            var pf = miniShop2Config.price_format;
            price = this.number_format(price, pf[0], pf[1], pf[2]);

            if (miniShop2Config.price_format_no_zeros && pf[0] > 0) {
                price = price.replace(/(0+)$/, '');
                price = price.replace(/[^0-9]$/, '');
            }

            return price;
        },
Т.е. в админке теперь всё норм, даже сохраняет. А на самом сайте, например в корзине — округляет))