Наумов Алексей

Наумов Алексей

С нами с 31 марта 2013; Место в рейтинге пользователей: #13
Наумов Алексей
12 августа 2014, 08:45
0
1 или 3, в зависимости от ситуации. 2 — никогда.
Наумов Алексей
02 августа 2014, 14:19
+1
Нужно для каждого пользователя создать свою настройку с языком админки. Она переопределит системную настройку.

Безопасность — Управление пользователями — Редактировать — Настройки, там создаем manager_language
Наумов Алексей
29 июля 2014, 13:41
0
Снимай просто эти ресурсы с публикации и все.
Наумов Алексей
29 июля 2014, 13:40
0
Заморочить URI ))) настройка-огонь!)
Наумов Алексей
29 июля 2014, 10:28
0
Очень часто нужно несколько галерей на странице:

Текст текст текст
Фотоальбом, 5 фото
Текст текст текст
Фотоальбом, 3 фото
Текст текст текст
Фотоальбом 8 фото

Как это лучше всего реализовать через ms2gallery? Альбомы должен добавлять само собой менеджер сайта, а не программист.
Наумов Алексей
25 июля 2014, 13:39
0
А, немного упустил этот момент, писал по памяти.

Пункт 3 из моего комментария переделываем:
<div class="ms2_discount [[+hide_discount]]">Скидка: <span class="ms2_discount_price">[[+discount]]</span></div>
<div class="ms2_margin [[+hide_margin]]">Наценка: <span class="ms2_margin_price">[[+margin]]</span></div>

а в конце чанка еще и так:
<!--minishop2_hide_margin style="display:none;"-->
<!--minishop2_hide_discount style="display:none;"-->
Сниппет msCart копируем в msCartEx и вызываем на странице его.
в нем (в конце, после цикла foreach ($cart as $k => $v) ) добавляем примерно это:
$outer['hide_margin'] = !$outer['margin'] = $miniShop2->cart->getCartMargin();
$outer['hide_discount'] = !$outer['discount'] = $miniShop2->cart->getCartDiscount();
$outer['total_cost'] = $miniShop2->cart->calcTotalCostEx($outer['total_cost'], $outer['margin'], $outer['discount']);
Вообще вещь индивидуальная для каждого сайта, поэтому подгоняйте для себя.

т.е. тут у нас 2 действия:
1. проставляем margin и discount
2. скрываем или показываем строчку со скидкой.
Наумов Алексей
25 июля 2014, 09:37
1
+2
Да, сделал!

1. Переопределяем msCartHahdler. В частности функцию status:
public function status($data = array()) {
        $status = parent::status($data);

        // margin && discount
        $status['margin'] = $this->getCartMargin();
        $status['discount'] = $this->getCartDiscount();
        $status['total_cost'] = $this->calcTotalCostEx($status['total_cost'], $status['margin'], $status['discount']);

        return $status;
    }

public function calcTotalCostEx($total_cost, $margin, $discount){
        $result = $total_cost;
        if(!empty($margin)){
            $result = $total_cost + $margin;
        }
        if(!empty($discount)){
            $result = $total_cost - $discount;
        }
        return $result;
    }
getCartMargin, getCartDiscount — считайте скидку и наценку как хотите в них, для этого у вас есть $this->cart — корзина с товарами.

2. Копируем файл minishop2.js, указываем в настройках новый путь к нему, добавляем логику:

2.1 Метод miniShop2.Cart… setup
miniShop2.Cart.margin = '.ms2_margin';
miniShop2.Cart.discount = '.ms2_discount';
2.2. Метод status:
if(status['margin'] > 0){
                    $(miniShop2.Cart.margin).show();
                    $(miniShop2.Cart.margin + ' .ms2_margin_price').text(status['margin']);
                }
                else{
                    $(miniShop2.Cart.margin).hide();
                }
                if(status['discount'] > 0){
                    $(miniShop2.Cart.discount).show();
                    $(miniShop2.Cart.discount + ' .ms2_discount_price').text(status['discount']);
                }
                else{
                    $(miniShop2.Cart.discount).hide();
                }
3. Ну и добавляем в чанк cart.Outer строчки с наценкой и скидкой:
<div class="ms2_discount">Скидка: <span class="ms2_discount_price"></span></div>

<div class="ms2_margin">Наценка: <span class="ms2_margin_price"></span></div>
Наумов Алексей
22 июля 2014, 11:17
0
Чего только стоит механизм добавления своих полей в минишоп bezumkin.ru/modx/minishop2/classes/910/. Это гораздо удобнее и быстрее TV-шек.
Наумов Алексей
22 июля 2014, 10:54
+1
Если есть что-то типа каталога товаров/услуг с фиксированными полями типа цена/наличие, я бы однозначно сделал это через минишоп. Удобнее, возможностей больше.
Наумов Алексей
11 июля 2014, 20:57
+1
Посмотри небольшое дополнение Personalize, выводит один чанк для авторизованных, а другой для неавторизованных пользователей.
Наумов Алексей
11 июля 2014, 10:04
0
1. Увеличиваем время работы скрипта. Если есть свой VPS — вроде нормальный вариант) Я всегда так делал.
2. Делаем импорт партиями, например вызывая скрипт импорта через аякс, и импортируя то кол-во товара, которое заведомо отработает. Реализация, конечно же, посложнее.
Наумов Алексей
10 июля 2014, 10:32
0
DebugParcer попробуйте запустить, правда он немного платный)
Наумов Алексей
08 июля 2014, 10:10
0
Что некорректно работает?

Был неприятный момент с указанием w, h и опцией zc=0, картинка начинала тянуться. Решается путем добавления far=0.
Наумов Алексей
01 июля 2014, 15:02
0
При обновлении существующих сайтов проблем из-за отсутствия в текущих заказах этого поля не будет?
Наумов Алексей
23 июня 2014, 14:24
1
+3
Я обычно хук spam применяю все же, делаю поле, которое как настоящее, но скрываю его каким либо образом. Hidden поле не катит почти не когда. Часто бывает что спама нет совсем, а потом — как прорывает. То ли кто-то в ручную проверяет, какое поле не заполнять, и спамер-программе указывает это. В этом случае поле переименовываю)
Наумов Алексей
01 июня 2014, 23:01
0
Если у тебя 6 разных tv полей (set,vid,ogrn,inn,pochta,date), то вроде все так. Но если у тебя 1 TV поле типа migx, а в нем 6 полей, то совсем не так =) В этом случае, допустим, имя этого поля filed, то выводить надо вроде как [[+tv.field.set]]
Наумов Алексей
30 мая 2014, 19:25
0
А, в скрипте то да, там есть =)

Я же свой скрипт писал, ну и не сразу подумал о том, что надо ошибки сбрасывать. Подозреваю что автор топика тоже свой скрипт писал.
Наумов Алексей
30 мая 2014, 19:04
0
Да вот только сегодня делал импорт, напоролся на это, minishop2 ставил из modx.com репозитория вчера или позавчера.
Наумов Алексей
30 мая 2014, 15:13
+1
Перед импортом каждой строки добавляем
$modx->error->reset();
Это сбрасывает ошибки, накопившиеся во время импорта прошлого товара. Подозреваю, что при импорте изображений эти ошибки должны были сброситься, но почему то этого не происходит.