Всего 109 416 комментариев

Егор
30 апреля 2021, 05:35
0
а почему на модхосте до сих пор нет?
Kazbek
30 апреля 2021, 01:21
0
Спасибо
Kazbek
30 апреля 2021, 01:21
0
Спасибо!
pobnpolk
29 апреля 2021, 21:45
0
Извиняюсь, тестовом не успел посмотреть, это я туплю. завтра.
Aleksandr Huz
29 апреля 2021, 20:09
+1
Какой компонент используется для добавления товара в заказ?
pobnpolk
29 апреля 2021, 19:53
0
В существующем заказе, если добавить товар или изменить цену товара, то Стоимость заказа не меняется (только после сохранения), а по дефолту меняется.
pobnpolk
29 апреля 2021, 19:41
0
Покупки имеют опции, дополнения, для них.
Сергей
29 апреля 2021, 17:53
0
Ребята, у кого есть актуальная инструкция по настройке Paypal в минишоп?
Попробовал настроить по инструкции выше, получилось фигня какая то, после оформления заказа пишет:
Если вы случайно прервали процедуру оплаты, вы всегда можете продолжить её по этой ссылке.
А ссылка ведет на белую страницу… (url такого вида: shop.miniwarpaint.ru/assets/components/minishop2/payment/paypal.php?action=continue&msorder=11&mscode=2e7e719878ac0c8071a3e2777f84dfd3)
Артур
29 апреля 2021, 16:08
0
Обновлять пробовали и админку и ajaxForm?
Артур
29 апреля 2021, 15:58
+1
У ресурса может быть несколько стран в которые он не поставляется? Если да, то надо расширять класс фильтрации. Я делал фильтр по регионам, суть такая: у каждого ресурса есть поле, в котором хранится список в котором будем искать совпадения, сам фильтр это select с одиночным выбором.
<?php

class CustomFilter extends mse2FiltersHandler
{

    public function getPolyFieldValues(array $keys, array $ids)
    {
        $filters = array();

        $q = $this->modx->newQuery('msProductData');
        $q->where(array('id:IN' => $ids));
        $q->select('id,' . implode(',', $keys));
        $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)) {
                foreach ($row as $k => $v) {
                    $values = json_decode($v, 1);
                    if ($k == 'id') {
                        continue;
                    } elseif(is_array($values)){
                        foreach ($values as $val) {
                            $filters[$k][$val][] = $row['id'];
                        }
                    }
                }
            }
        } 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;
    }

    public function buildPolyFieldFilter(array $values, $name = '')
    {
        if (count($values) < 2 && empty($this->config['showEmptyFilters'])) {
            return array();
        }
        $results = array();
        foreach ($values as $value => $ids) {
            $results[$value] = array(
                'title' => $value
            , 'value' => $value
            , 'type' => 'default'
            , 'resources' => $ids
            );
        }

        ksort($results);
        return $results;
    }


    public function filterPolyField(array $requested, array $values, array $ids)
    {

        $matched = array();
        $tmp = array_flip($ids);
        foreach ($requested as $value) {
            if (isset($values[$value])) {
                $resources = $values[$value];
                foreach ($resources as $id) {
                    if (isset($tmp[$id])) {
                        $matched[] = $id;
                    }
                }
            }
        }

        $match = $matched;
        $matched = array();
        $count = count($requested);
        $count_values = array_count_values($match);

        foreach ($count_values as $id => $value) {
            if ($value >= $count) {
                $matched[] = $id;
            } else {
                $matched[] = 0;
            }
        }
        //$this->modx->log(1, print_r($matched,1));
        return $matched;
    }

    public function getSuggestions($ids, array $request, array $current = array()) {}

}
Виктор
29 апреля 2021, 15:54
0
Больше не поддерживается компонент? Или он с купонатором слился?
Андрей
29 апреля 2021, 12:09
0
Можно так, и get лучше проверять на пустоту
{set $userid = $.get['user']} // удобней сразу записать id в переменную

{if $userid?} //проверять, если не пустая, выводить нужные данные
    {$userid | user: 'createdon' | date : 'd.m.Y'}
{/if}

Но, имхо, лучше будет сделать что то такое — Страница пользователя как на modx.pro или Личные страницы пользователей MODX Revo.
Владислав
29 апреля 2021, 11:58
0
[13-Mar-2021 22:25:21 UTC] PHP Fatal error: Call to a member function parseProperties() on null in /home/acade131/public_html/core/model/modx/modelement.class.php on line 567
#0 /home/acade131/public_html/core/cache/includes/elements/modsnippet/30.include.cache.php(37): pdoFetch->run()
#1 /home/acade131/public_html/core/model/modx/modscript.class.php(76): include('/home/acade131/...')
#2 /home/acade131/public_html/core/model/modx/modparser.class.php(537): modScript->process(Array)
#3 /home/acade131/public_html/core/components/pdotools/model/pdotools/pdoparser.class.php(273): modParser->processTag(Array, true)
#4 /home/acade131/public_html/core/model/modx/modparser.class.php(251): pdoParser->processTag(Array, true)
#5 /home/acade131/public_html/core/components/pdotools/model/pdotools/pdoparser.class.php(65): modParser->processElementTags('', '<!DOCTYPE html>...', true, false, '[[', ']]', Array, 9)
#6 /home/acade131/public_html/core/model/modx/modresource.class.php(546): pdoParser->processElementTags('', '<!DOCTYPE ht in /home/acade131/public_html/core/components/pdotools/model/pdotools/pdofetch.class.php on line 98
[18-Mar-2021 03:25:07 UTC] PHP Fatal error: Uncaught Error: Call to a member function execute() on boolean in /home/acade131/public_html/core/components/pdotools/model/pdotools/pdofetch.class.php:98
Stack trace:
#0 /home/acade131/public_html/core/cache/includes/elements/modsnippet/30.include.cache.php(37): pdoFetch->run()
#1 /home/acade131/public_html/core/model/modx/modscript.class.php(76): include('/home/acade131/...')
#2 /home/acade131/public_html/core/model/modx/modparser.class.php(537): modScript->process(Array)
#3 /home/acade131/public_html/core/components/pdotools/model/pdotools/pdoparser.class.php(273): modParser->processTag(Array, true)
#4 /home/acade131/public_html/core/model/modx/modparser.class.php(251): pdoParser->processTag(Array, true)
#5 /home/acade131/public_html/core/components/pdotools/model/pdotools/pdoparser.class.php(65): modParser->processElementTags('', '<!DOCTYPE html>...', true, false, '[[', ']]', Array, 9)
#6 /home/acade131/public_html/core/model/modx/modresource.class.php(546): pdoParser->processElementTags('', '<!DOCTYPE ht in /home/acade131/public_html/core/components/pdotools/model/pdotools/pdofetch.class.php on line 98
[22-Mar-2021 01:25:12 UTC] PHP Fatal error: Uncaught Error: Call to a member function execute() on boolean in /home/acade131/public_html/core/components/pdotools/model/pdotools/pdofetch.class.php:98
Владислав
29 апреля 2021, 11:58
0
Мы переносили на 3 хостинга. На моем хостинге стоит 5 сайтов на MODX, ни на одном из сайтов нет такой проблемы.
Денис Мижеревич
29 апреля 2021, 10:56
0
Можете подсказать, как вывести дату регистрации пользователя?
Если авторизированного, то я бы вывел так [[+modx.user.id:userinfo=`createdon`:date=`%d.%m.%Y`]]
А таким способом {$.get['user'] | user: 'username'} не могу понять как дату регистрации вывести