Только в статистике? По сути я ей не пользуюсь здесь, вся статистика через CRM
Из ченджлога
[*] Статусы заказа: В статусы заказа добавлен новый параметр «Считать заказ оплаченным». Только заказ с этим параметром будет рассматриваться в статистике как оплаченный заказ.
Здравствуйте.
Подскажите, как в аднминке при оформлении заказа можно реализовать добавление услуги грузчика 1,2 или 3? Или добавить список всех опций и услуг? 2023-04-02_15-13-50.png — Яндекс.Диск
Либо добавлять в заказ как товар через промоакцию по весу товаров, либо использовать модуль “Персональные варианты опций для товара и его вариаций CMS CS-Cart” если необходимо для разных товаров покупателю давать выбор или не давать его выбирать, но заводить условие для товара по умолчанию.
Дело в том, что не всегда покупателю нужна услуга грузчика, часто так бывает, что покупатель справляется своими силами. Было бы удобно, если в админке был список с опциями и при необходимости грузчика ты просто его добавил в заказ.
Если я правильно понял, модуль добавляет опции в карточке товара, а мне надо возможность добавления с админки.
Ещё так себе вариант, если добавить услугу как товар и при необходимости добавлять в заказ.
Вы неправильно поняли посыл с опциями - Вы заводите опцию “Требуется грузчик” и задаете варианты “Нет, один, два, три, четыре, пять, шесть” и для одного товара настраиваете доступные варианты “Нет, два”, а для другого “Нет, три” потому что в одного не упереть. Или допустим “Нет, два+есть лифт”, “Нет, три, три+лифт” и таким образом на опцию уже под условие выставлять цену клиенту более точечную и то что будет нужен минимум для выполнения заказа.
ВАРИАНТЫ ОПЦИЙ ДЛЯ ТОВАРА И ВАРИАЦИЙ ТОВАРОВ
Модуль расширяет возможности настройки персональных опций для отдельных товаров и его вариаций товаров.
ТОЧЕЧНАЯ НАСТРОЙКА ОПЦИЙ
Некоторые группы товаров предполагают возможность оказания дополнительных услуг: подъем на этаж, сборка, установка и настройка. Эти услуги можно оформить, как отдельные товары, однако удобнее сделать их опциями к товару. В настройках опций можно указать стоимость услуги в твердой денежной сумме или в процентах от стоимости товара.
Вот только в стандартном функционале крайне ограничены возможности точечной настройки. В итоге чуть ли не для каждого товара придется создавать отдельную опцию, чтобы учесть разницу в стоимости, например, сборки небольшой тумбочки и сборки большого платяного шкафа.
Чтобы упростить работу и уменьшить количество опций, мы создали для вас модуль «Варианты опций для товара или вариаций товара».
ФУНКЦИОНАЛ МОДУЛЯ
Модуль позволяет создавать различные варианты опций и точечно добавлять их отдельным товарам или группам вариаций товаров.
Так вы можете задать для опции «Установка оборудования» варианты «Требуется подключение к водоснабжению» для стиральных машинок, «Требуется сборка и настройка» для компьютера, и так далее. В итоге у вас остается одна опция для разных групп товаров, и вам остается только добавить конкретные варианты в отдельные товары.
Сделать это предельно просто. В карточке товара появляется новая вкладка – «Опции». Нужно просто перейти в нее, выбрать нужную опцию и установить подходящие для этого товара варианты опций.
В карточке товара уже есть большой список опций, и я не хочу туда добавлять услугу грузчика. Мне надо, что во время оформления заказа по телефону у менеджера была возможность добавить услугу грузчика. Если с помощью вашего модуля можно добавить опцию в админке и при этом она не будет отображаться в карточке товара, то подойдет.
Возможно, нужно завтра попробовать. Напишите в телеграмм, дам демку
Можно создать два разных способа доставки - с грузчиком и без. И покупатель сможет делать выбор при оформлении заказа, и через админку можно менять способ доставки, ее стоимость. Если услуга универсальная и не зависит от специфики товара, то нет и смысла ее как-то привязывать к товарам.
Надо вывести новое поле профиля для модуля уведомлений. Вот часть кода из модуля (607 строка):
Pastebin
Вот что я добавил:
if (!empty($order['req_source'])) {
$message .= 'Запрос: ' . '<b>' . $order['req_source'] . '</b>' . "\r\n";
}
req_source - уник. код поля профиля, и его значение пустое в уведомлениях, однако в самом заказе значение поля отображается. Возможно что-то упускаю?
Посмотрите в коде, каким образом отображаются значения полей там, где они отображаются.
Функция fn_get_order_info достает это поле из базы? В уведомлениях какой код используете?
Если я правильно понял, этот метод я тоже пробовал и он не выводит ничего:
$message .= 'Запрос: ' . '<b>' . fn_get_order_info($order['req_source']) . '</b>' . "\r\n";
вообще-то
fn_get_order_info($order['order_id'])
и результат вызова - массив (смотрите исходный код)
Коллеги, подскажите решал ли кто то такую проблему.
Есть комбинация товаров сделанная через модуль АБ «Вместе дешевле» например 4 товара со скидкой 5% каждый.
Есть акция для корзины через Промокод еще на 5%.
И 2 из 4х товаров комбинации попадают под нее по бренду, например.
И вот при применении Промокода он применяется на эти 2 товара. И общая скидка на них уже 10% получается.
Что слишком много.
Как сделать, чтобы:
- Если на товар в комбинации уже есть скидка, то промокод на него не применялся?
- Чтобы на все Комбинации не применялись промокоды?
Ниже правильно написали. И что за уведомление?
если это поле профиля - то это уже не order, а user_info
у вас функция
function fn_sw_telegram_add_discussion_post_post($post_data, $send_notifications)
то есть ничего в нее не передается из того, что вы пытаетесь использовать.
дальше по коду тоже нет никакого присваивания, а потом вы пытаетесь
if (!empty($order['req_source'])) {
$message .= 'Запрос: ' . '<b>' . $order['req_source'] . '</b>' . "\r\n";
}
// Это тоже не работает
$message .= 'Запрос: ' . '<b>' . $order_info['req_source'] . '</b>' . "\r\n";
$message .= 'Запрос: ' . '<b>' . $user_data['req_source'] . '</b>' . "\r\n";
$message .= 'Запрос: ' . '<b>' . $order['req_source'] . '</b>' . "\r\n";
$message .= 'Запрос: ' . '<b>' . $product_data_full['req_source'] . '</b>' . "\r\n";
$message .= 'Запрос: ' . '<b>' . $get_profile['req_source'] . '</b>' . "\r\n";
при этом массив order (как и все остальные) нигде ранее в функции не определен и неинициализирован
@sweetcode ваш код во всеобщее обозрение?
Здравствуйте.
Оригинал функции в модуле выглядит так:
/** Discussion send notice
*/
function fn_sw_telegram_add_discussion_post_post($post_data, $send_notifications)
{
$tg_rewiew_notification = Registry::get('addons.sw_telegram.tg_rewiev_notification');
$tg_review_vendor_notification = Registry::get('addons.sw_telegram.tg_review_vendor_notification');
if (AREA == 'C') {
$site = Registry::get('config.current_host');
$post_disqus = __('sw_telegrame_get_new_post_disqus');
$rating_value_stars = __('sw_telegrame_rating_value_stars');
$message = $post_disqus . "\r\n";
$product_id = db_get_field('SELECT object_id FROM ?:discussion WHERE thread_id = ?i', $post_data['thread_id']);
$product_data = fn_get_product_data($product_id, $_SESSION['auth']);
$message .= __('product') . ': ' . $product_data['product'] . "\r\n";
if (!empty($product_data['product_code'])) {
$message .= __('sku') . ': ' . $product_data['product_code'] . "\r\n";
}
if (fn_allowed_for('MULTIVENDOR')) {
$message .= __('vendor') . ': ' . fn_get_company_name($product_data['company_id']) . "\r\n";
}
if (isset($post_data['name'])) {
$message .= __('first_name') . ': ' . $post_data['name'] . "\r\n";
}
if (isset($post_data['rating_value'])) {
$message .= $rating_value_stars . ' ' . $post_data['rating_value'] . "\r\n";
}
if (isset($post_data['message'])) {
$message .= __('message') . ': ' . $post_data['message'] . "\r\n";
}
if (isset($_REQUEST['redirect_url'])) {
$message .= __('url') . ': ' . $_SERVER['HTTP_REFERER'] . "\r\n";
}
if (isset($post_data['email'])) {
$message .= __('email_user') . ': ' . $post_data['email_user'] . "\r\n";
}
if ($tg_rewiew_notification == "Y") {
fn_sw_telegram_send_tg('sendMessage', $chat_id = '', $message);
}
if (
fn_allowed_for('MULTIVENDOR')
&& $tg_review_vendor_notification == "Y"
) {
$vendor_chats = fn_sw_telegram_get_vendor_chats($product_data['company_id']);
if (!empty($vendor_chats)) {
foreach ($vendor_chats as $vendor_chat_id) {
if (empty($vendor_chat_id) || $vendor_chat_id == false) {
continue;
}
fn_sw_telegram_send_tg('sendMessage', trim($vendor_chat_id), $message);
}
}
}
}
}