Денис
С нами с 11 января 2017; Место в рейтинге пользователей: #594mspReceiptAccount как добавить свой шаблон и автоматически отправить письмо при смене статуса
Тут написано, что это за зверь.
Я напишу как создать свой шаблон.
Может показаться, что для этого достаточно зайти в меню компонента и создать там новый элемент. Однако уже там видно что требуется указать класс-обработчик, поскольку под мои задачи подходил стандартный я его просто скопировал и положил рядом со стандартными в папку core/components/mspreceiptaccount/model/payments/. И казалось бы все, но нет.
Если посмотреть в логи, там будет написано что не найден какой-то класс и будет написано его название. Так сходу непонятно что это за класс и где он должен быть, но я разгадал эту загадку))). Копируем название класса, которое есть в логах и создаем вот такой файл
Всё, теперь можно создавать свой шаблон, например для акта выполненных работ.
Я напишу как создать свой шаблон.
Может показаться, что для этого достаточно зайти в меню компонента и создать там новый элемент. Однако уже там видно что требуется указать класс-обработчик, поскольку под мои задачи подходил стандартный я его просто скопировал и положил рядом со стандартными в папку core/components/mspreceiptaccount/model/payments/. И казалось бы все, но нет.
Если посмотреть в логи, там будет написано что не найден какой-то класс и будет написано его название. Так сходу непонятно что это за класс и где он должен быть, но я разгадал эту загадку))). Копируем название класса, которое есть в логах и создаем вот такой файл
core/components/mspreceiptaccount/custom/item/receiptaccountact.class.php
, я туда скопировал код из соседнего класса core/components/mspreceiptaccount/custom/item/receiptaccountsh.class.php
. Всё, теперь можно создавать свой шаблон, например для акта выполненных работ.
mfilter2 - вывод значений фильтра в алфавитном порядке, с группировкой по первой букве
Добрый день, давно не писал ничего, вот делюсь рабочим вариантом группировки значений фильтра по первой букве.
Как это должно выглядеть:
Как это должно выглядеть:
[СДЕЛАЙ САМ] Личный кабинет своими руками. Редактирование персональных данных.
После того как авторизация и регистрация сделаны нужно дать возможность пользователям редактировать свои персональные данные. Для этого создаем ресурс Редактирование данных, в котором вызываем AjaxForm
Минимальная сумма заказа minishop2
Ребята, как сделать минимальную сумму заказа для выбранного способа доставки.
Как сделать, например, чтобы если «самовывоз» то нет ограничения по минимальной сумме.
if ($modx->event->name == 'msOnSubmitOrder'){
if($cart = $order->ms2->cart->status()) {
if($cart['total_cost'] < 1000) {
$modx->event->output('Сумма вашего заказа должна превышать 1000 руб!');
}
}
}
Работает этот способ, но независимо от выбранного способа доставки.Как сделать, например, чтобы если «самовывоз» то нет ограничения по минимальной сумме.
Шпаргалка на все случаи жизни
Полезные ссылки, которые Вам пригодятся в некоторых ситуациях.
Скидка в зависимости от суммы заказа
Добрый день.
Направьте, что делаю не так.
Пытаюсь сделать скидку в зависимости от суммы заказа (если более 2500, то 20% скидка)
Что-то не пашет((
Направьте, что делаю не так.
Пытаюсь сделать скидку в зависимости от суммы заказа (если более 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;
}
Избавляемся от ошибки «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.
Исправить её не сложно, но раньше всё не доходили руки.
Конвертация валюты в старой цене
Всем привет!
Когда-то Володя помог реализовать автоматическую конвертацию валюты с помощью такого плагина:
Можно ли с помощью данного плагина конвертировать валюту еще и в старой цене?
Когда-то Володя помог реализовать автоматическую конвертацию валюты с помощью такого плагина:
<?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Можно ли с помощью данного плагина конвертировать валюту еще и в старой цене?
Дилерский раздел на MODX
Добрый день!
Ситуация следующая…
Необходим закрытый раздел для дилеров.
На сайте есть розничные цены для всех посетителей, если человек логиниться в личном кабинете для дилеров, то розничные цены пропадают ( не отображаются) и на их месте появляются цены оптовые и кнопка корзины.
При этом пароль для входа должен создавать админ сайта через админку, т.е. регистрации на сайте нет, только страница для входа.
Натолкните на мысль куда смотреть, может готовые решения есть?
Спасибо за помощь!
Ситуация следующая…
Необходим закрытый раздел для дилеров.
На сайте есть розничные цены для всех посетителей, если человек логиниться в личном кабинете для дилеров, то розничные цены пропадают ( не отображаются) и на их месте появляются цены оптовые и кнопка корзины.
При этом пароль для входа должен создавать админ сайта через админку, т.е. регистрации на сайте нет, только страница для входа.
Натолкните на мысль куда смотреть, может готовые решения есть?
Спасибо за помощь!
msProductOptions в minishop2, вопрос по стилизации
Здравствуйте
Создал множественный список, в опциях. Заполнил его в админке, включил его в категории, но на сайте выводится перечислением через запятую всех значений из этого списка. Когда в админке заполняешь "свойства товара — цвет/размер", то на сайте список, из которого можно выбрать.
Как сделать, чтобы на сайте можно было выбирать эти значения из списка и для "опций товаров"?
вот чанк tpl.msOptions
а вот чанк tpl.msProductOptions
Сильно не бейте, я начинающий
Создал множественный список, в опциях. Заполнил его в админке, включил его в категории, но на сайте выводится перечислением через запятую всех значений из этого списка. Когда в админке заполняешь "свойства товара — цвет/размер", то на сайте список, из которого можно выбрать.
Как сделать, чтобы на сайте можно было выбирать эти значения из списка и для "опций товаров"?
вот чанк 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}
а тут нетСильно не бейте, я начинающий