Денис

Денис

С нами с 11 января 2017; Место в рейтинге пользователей: #594

mspReceiptAccount как добавить свой шаблон и автоматически отправить письмо при смене статуса

Тут написано, что это за зверь.

Я напишу как создать свой шаблон.

Может показаться, что для этого достаточно зайти в меню компонента и создать там новый элемент. Однако уже там видно что требуется указать класс-обработчик, поскольку под мои задачи подходил стандартный я его просто скопировал и положил рядом со стандартными в папку core/components/mspreceiptaccount/model/payments/. И казалось бы все, но нет.

Если посмотреть в логи, там будет написано что не найден какой-то класс и будет написано его название. Так сходу непонятно что это за класс и где он должен быть, но я разгадал эту загадку))). Копируем название класса, которое есть в логах и создаем вот такой файл
core/components/mspreceiptaccount/custom/item/receiptaccountact.class.php
, я туда скопировал код из соседнего класса
core/components/mspreceiptaccount/custom/item/receiptaccountsh.class.php
.

Всё, теперь можно создавать свой шаблон, например для акта выполненных работ.
Артур Шевченко
03 марта 2021, 16:36
modx.pro
1
1 160
+3

mfilter2 - вывод значений фильтра в алфавитном порядке, с группировкой по первой букве

Добрый день, давно не писал ничего, вот делюсь рабочим вариантом группировки значений фильтра по первой букве.
Как это должно выглядеть:


Евгений Webinmd
26 января 2021, 00:17
modx.pro
18
1 817
+27

[СДЕЛАЙ САМ] Личный кабинет своими руками. Редактирование персональных данных.

После того как авторизация и регистрация сделаны нужно дать возможность пользователям редактировать свои персональные данные. Для этого создаем ресурс Редактирование данных, в котором вызываем AjaxForm
Артур Шевченко
06 декабря 2020, 22:40
modx.pro
9
3 265
+10

Минимальная сумма заказа minishop2

Ребята, как сделать минимальную сумму заказа для выбранного способа доставки.
if ($modx->event->name == 'msOnSubmitOrder'){
        if($cart = $order->ms2->cart->status()) {
            if($cart['total_cost'] < 1000) {
                $modx->event->output('Сумма вашего заказа должна превышать 1000 руб!');
            } 
        }
}
Работает этот способ, но независимо от выбранного способа доставки.
Как сделать, например, чтобы если «самовывоз» то нет ограничения по минимальной сумме.
Андрей
14 мая 2020, 12:35
modx.pro
3
2 648
+1

Шпаргалка на все случаи жизни

Полезные ссылки, которые Вам пригодятся в некоторых ситуациях.
Михаил
07 февраля 2020, 21:42
modx.pro
71
2 299
+35

Скидка в зависимости от суммы заказа

Добрый день.
Направьте, что делаю не так.
Пытаюсь сделать скидку в зависимости от суммы заказа (если более 2500, то 20% скидка)
Что-то не пашет((
<?php
switch ($modx->event->name) {
	case 'msOnAddToCart':
    case 'msOnChangeInCart':
    case 'msOnRemoveFromCart':
    	
    	$cartArray = $cart->get();
        $cartStatus = $cart->status();
        $totalCount = $cartStatus['total_count'];
    	
		if ($total_cost >= 2500) {
			
	        foreach ($cartArray as &$cartProduct) { // Обрабатываем все товары корзины
	            if ($product = $modx->getObject('msProduct', $cartProduct['id'])) { 
	                $cartProduct['price'] = $product->get('price') * 0.8; 
	            }
	        }
	 
	        $cart->set($cartArray);
		}
		
	break;

}
Андрей
10 июня 2019, 18:28
modx.pro
1
814
0

Избавляемся от ошибки «modAction support is deprecated» в старых пакетах

Если у вас есть дополнение, которое вы делали ещё на первой версии modExtra, то при его установке сейчас вы будете видеть такое сообщение об ошибке:

modAction support is deprecated since version 2.3.0.
Support for modAction has been replaced with routing based
on a namespace and action name. Please update the extra
with the namespace simpleupdater to the routing based system.

Исправить её не сложно, но раньше всё не доходили руки.
Илья Уткин
25 марта 2019, 11:43
modx.pro
11
11 107
+13

Конвертация валюты в старой цене

Всем привет!
Когда-то Володя помог реализовать автоматическую конвертацию валюты с помощью такого плагина:
<?php
$curs_global = $modx->getOption('eur_uah');
$product = $modx->getObject('msProduct', $product->id);
$curs = $product->get('vendor.phone') ?: $curs_global;

switch($modx->event->name) {
    case 'msOnGetProductPrice':
     
        $returned = $modx->getPlaceholder('_returned_price');
        if (is_array($returned)) {
            $price = $returned['price'];
        }
        $price = $price * $curs;
        
        $values = $modx->Event->returnedValues;
        $values['price'] = $price;
        $modx->event->returnedValues = $values;
        break;
}
который вешается на событие msOnGetProductPrice

Можно ли с помощью данного плагина конвертировать валюту еще и в старой цене?
Владимир
11 марта 2019, 12:15
modx.pro
2
835
0

Дилерский раздел на MODX

Добрый день!

Ситуация следующая…

Необходим закрытый раздел для дилеров.

На сайте есть розничные цены для всех посетителей, если человек логиниться в личном кабинете для дилеров, то розничные цены пропадают ( не отображаются) и на их месте появляются цены оптовые и кнопка корзины.

При этом пароль для входа должен создавать админ сайта через админку, т.е. регистрации на сайте нет, только страница для входа.

Натолкните на мысль куда смотреть, может готовые решения есть?

Спасибо за помощь!
Алексей
02 февраля 2018, 09:46
modx.pro
3
1 182
0

msProductOptions в minishop2, вопрос по стилизации

Здравствуйте
Создал множественный список, в опциях. Заполнил его в админке, включил его в категории, но на сайте выводится перечислением через запятую всех значений из этого списка. Когда в админке заполняешь "свойства товара — цвет/размер", то на сайте список, из которого можно выбрать.
Как сделать, чтобы на сайте можно было выбирать эти значения из списка и для "опций товаров"?
вот чанк tpl.msOptions
{foreach $options as $name => $values}
    <div class="form-group">
        <label class="col-md-2 control-label" for="option_{$name}">{('ms2_product_' ~ $name) | lexicon}:</label>
        <div class="col-md-10">
            <select name="options[{$name}]" class="input-sm form-control" id="option_{$name}">
                {foreach $values as $value}
                    <option value="{$value}">{$value}</option>
                {/foreach}
            </select>
        </div>
    </div>
{/foreach}
и в нем работают селекты

а вот чанк tpl.msProductOptions
{foreach $options as $option}
    <div class="form-group">
        <label class="col-md-2 control-label">{$option.caption}:</label>
        <div class="col-md-10 form-control-static">
            {if $option.value is array}
                {$option.value | join : ', '}
            {else}
                {$option.value}
            {/if}
        </div>
    </div>
{/foreach}
а тут нет
Сильно не бейте, я начинающий
Александр
26 января 2018, 14:25
modx.pro
2
2 934
0