Всего 125 679 комментариев

Sergey
22 апреля 2021, 20:06
0
Добрый вечер! Нужна помощь.

Как получить значение (https://prnt.sc/11vqy4a) size из заказа в формате:Размер: AirPods 1/2

Пробовал {$product['size']}, {$product->size}, $product->Product->get('size')} ничего не работает (

<?php
if($modx->event->name != 'msOnCreateOrder') return;

$token = $modx->getOption('mstelegram_token', null, false);
$recipients = explode(',', $modx->getOption('mstelegram_recipients', null, ''));

$contacts = $modx->getObject('msOrderAddress', array('id'=> $msOrder->address));
$_products = $msOrder->getMany('Products');
$profile = $msOrder->getOne('UserProfile');
$properties = $msOrder->get('properties');

// Список товаров в заказе
$i = 0;
$products = '';
foreach ($_products as $product) {
    $i++;
    $products .= "{$i}. {$product->name} ({$product->count} шт.) - {$product->Product->get('price')} грн";
}

if ($msOrder->delivery == '1') {
    $deli = 'Способ доставки: Самовывоз';
    } else if ($msOrder->delivery == '2') {
        $deli = 'Курьерская доставка Деливери';
    } else {
   $deli = 'Самовывоз из Новой Почты';
}

if ($msOrder->payment == '2') {
    $pay = 'Способ оплаты: Оплата на карту ПриватБанка';
    } else {
   $pay = 'Способ оплаты: Оплата при получении';
}
// Текст сообщения
$message = "
Новый заказ #{$msOrder->num}
на сумму {$msOrder->cost} грн.
--------------------------------------
{$pay}
{$deli}
--------------------------------------
Данные доставки:

Имя: {$contacts->receiver}
Телефон: {$contacts->phone}
--------------------------------------
Товары:

{$products}
--------------------------------------
Email: {$profile->email}";



$message = urlencode($message);
foreach($recipients as $id){
	$id = trim($id);
	if(!$id) continue;
    $url = "https://api.telegram.org/bot{$token}/sendMessage?chat_id={$id}&text={$message}";
    $ch = curl_init();
    curl_setopt_array($ch, array(CURLOPT_URL => $url, CURLOPT_RETURNTRANSFER => true));
    $result = curl_exec($ch);
    curl_close($ch);
}
Виноградов Тимур
22 апреля 2021, 17:19
0
Черт возьми, заработало!
Большое спасибо!
Проблема была тут:
&docid=`[[+id]]`
А у меня в чанке было:
&docid=`[[*id]]`
Роман
22 апреля 2021, 17:07
0
Вот так попробуйте:
[[!getImageList?
  &tvname=`photos`
  &tpl=`photo-chunk`
  &limit=`20`        
  &docid=`[[+id]]`
]]
Сортировка кстати, вот так правильно.
&sortby=`[{"MIGX_id":"ASC"}]`
И &includeTVs=`photos` по-моему не нужно, так как вы его подтягиваете в getImageList запросе.
[[pdoResources
пока не кэшируйте:
[[!pdoResources
Илья Уткин
22 апреля 2021, 17:06
0
Вы как разработчик сайта лучше знаете, как пользователи будут искать друг друга. Вы можете, например, использовать сниппет pdoUsers для вывода списка всех пользователей. Тогда в чанке-шаблоне указываете просто {'remessages_page' | config | url}/id{$id}. Если у вас на сайте у каждого пользователя есть личная страница, то на ней вы так же выводите ссылку [[~[[++remessages_page]]]]/id[[+user_id]]. Я не экстрасенс, я же не знаю, какая специфика у вашего сайта.
perfkirill
22 апреля 2021, 16:28
0
также пробую делать так, тоже не выходит, в чем я не прав?

$array_ids = $modx->getChildIds($parents,6);


$criteria = $modx->newQuery('msProduct');
$criteria->sortby('menuindex', 'ASC');

$criteria->innerJoin('msProductOption', 'msProductOption', 'msProduct.id=msProductOption.product_id');
$criteria->innerJoin('msProductOption', 'msProductOption2', 'msProduct.id=msProductOption2.product_id');
$criteria->select(['msProduct.id', 'msProduct.parent']);

$criteria->where(array(
    'id:IN' => $array_ids,
    'published' => 1,
    'class_key' => 'msProduct',

    array('msProductOption.key' => "tolschina_paneli_mm", 'msProductOption.value:IN'=> array("1","1.1")),
    array('msProductOption2.key' => "ploschad_rabochaya_poleznaya_kvm", 'msProductOption2.value'=> array("0.84"))
));


$resources = $modx->getCollection('msProduct',$criteria); 
echo count($resources);
Aleksandr Huz
22 апреля 2021, 15:02
+1
Вы можете бесплатно установить пакет на modhost.pro и посмотреть админку
Валерий
22 апреля 2021, 14:44
0
Спасибо за выбор!) Можно посмотреть админку?
Денис Мижеревич
22 апреля 2021, 12:45
0
Посмотрел. Вижу, что есть чаты, с кем уже была переписка. Но мой вопрос заключается в том, видно ли тех, с кем не было переписки еще, или как их искать?
Указано, чтобы написать, нужно перейти по адресу [[~[[++remessages_page]]]]/id25
Но id же нужно еще как-то узнать. Поэтому я и спрашиваю, как пользователю найти другого пользователя? Продумано в плагине это?
Дмитрий Мансуров
22 апреля 2021, 12:33
0
<?php
if ($modx->event->name == 'mSyncOnProductOffers') {
    //$modx->log(1, 'mSyncOnProductOffers $xml ' . print_r($xml,1));
    $resource->setTVValue('edizm',(string)$xml->БазоваяЕдиница->attributes()->НаименованиеПолное);
    $resource->save();
}
Передача единиц измерения в ТВ поле в плагине для компонента mSync
Денис Мижеревич
22 апреля 2021, 12:14
0
Чтобы написать вам в техподдержку, как я понял, нужно сперва купить ваш плагин. А прежде чем его купить, нам нужно понять, подойдет ли по функционалу.
Денис Мижеревич
22 апреля 2021, 10:53
0
А пользователи видят других пользователей, это отображается каким-то списком всех пользователей сайта? Или как пользователю найти других пользователей для создания переписки?
Илья Уткин
22 апреля 2021, 10:41
0
Вам нужно создать в личном кабинете страницу, на которой вызвать сниппет reMessages. Подробности на странице компонента — modstore.pro/packages/users/remessages
Денис Мижеревич
22 апреля 2021, 10:26
0
Подскажите. После установки и настройки reMessages на сайте, во всех кабинетах зарегистрированных пользователей сайта появится чат общения между пользователями сайта? Или как это работает? Может есть сайт, где этот компонент установлен и настроен, чтобы наглядно посмотреть, как это все происходит?
PlanB
21 апреля 2021, 22:55
0
Всем привет!
Может кто-нибудь подскажет, как можно в телеграм отправлять в том числе опции товара, которые заданы через msOptionsPrice2?
Денис Мижеревич
21 апреля 2021, 20:05
0
Огромнейшее спасибо. Получилось, все работает