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

Артур Шевченко
24 ноября 2021, 23:39
0
Не знаю как ты создавал дополнительные поля, но предположу, что по инструкции из сети, и тогда, скорее всего, данные сохраняются в поле properties в формате json, в этом случае можно из получить так
$extFields = json_decode($order->get('properties'),1); // в результате получишь массив
alexandr.skyrda
24 ноября 2021, 23:33
0
мне надо было вытащить именно доп поля extfld, которые я создавал
Тодор
24 ноября 2021, 23:23
0
Абсолютно все данные о заказе (вроде):
$order = $modx->getObject('msOrder', $orderID);
$output = array(
    'order' => $order->toArray(),
    'user' => $order->User->toArray(),
    'profile' => $order->UserProfile->toArray(),
    'address' => $order->Address->toArray(),
    'delivery' => $order->Delivery->toArray(),
    'payment' => $order->Payment->toArray(),
    'status' => $order->Status->toArray(),
    'products' => []
);
foreach($order->Products as $product){
    $output['products'][] = $product->toArray();
}

print_r($output);
Артур Шевченко
24 ноября 2021, 22:02
0
Во-первых, если ты укажешь несуществующий чанк письма, скорее всего ничего не придёт, а в логах будет ошибка о том, что ты пытаешься отправить пустое письмо.
Во-вторых, если ты не используешь Fenom, то именовать поля нужно так email1, email2 и т.д., а в чанке письма выводить так [[$email1]], [[$email2]] и т.д.
Если ты используешь fenom, то можно именовать так emails[], phones[], а в чанке можно выводить так {$emails[0]}, {$emails[1]}, {$phones[0]}, {$phones[1]} и т.д. Или именовать так fields[0][email], fields[0][phone], fields[1][email], fields[1][phone], а в чанке выводить так
{foreach $fields as $field index=$i}
{$field[phone]}
{$field[email]}
{/foreach}
Іван Клімчук
24 ноября 2021, 20:04
0
Ну, дело даже не в деньгах. У меня сейчас такие задачи, что я даже и в отпуск уйти не могу, даже если мне оплатить 10к часов. И это я даже код не пишу, а немного по другому работаю.
Николай Савин
24 ноября 2021, 20:02
0
Для этого кто-то должен оплатить, скажем 10 тысяч человеко-часов. И уже завтра можно начинать писать админку.
Іван Клімчук
24 ноября 2021, 20:02
0
Желание то может и есть, а ресурсов такой объем работы провернуть — нет. Просто объявить — давайте сделаем, недостаточно. Люди может и соберутся, но каждый со своим мнение и это будет напоминать басню про рака, щуку и лебедя. Нужно, чтобы кто-то затащил если не MVP, то хотя бы PoC, описал минимально правила и дальше уже все гурьбой кинулись делать. Такое сделать в силах единицы, включая наверное и меня, хотя в во фронт уже давно не лазил, но времени на это нет абсолютно.
Александр Мельник
24 ноября 2021, 19:17
+1
Скажите пожалуйста, а нет желания создать ответвление modx без extjs?
Пусть это будет ваша российская разработка, в которой хоть и хороший, но малопопулярный extJs заменен на vue? Чтобы так же скачал, установил, но у тебя админка на vue.
Мне кажется это сильно бы увеличило популярность modx. Я вот люблю modx потому что после джумлы (но ее я искренне ненавижу) он был у меня первый, я как дурак смотрел на эти квадратные скобочки и говорил, что в учебнике по php такого не было.
Но учить extJs вот прям не хочу. А vue3 относительно прост и перспективен.
Дмитрий
24 ноября 2021, 18:05
+1
Чтобы работало, надо в коде сниппета заменить
'select' => '{
        "Ticket": "Ticket.*",
на
'select' => '{
        "Ticket": "Ticket.id as id, Ticket.parent as parent, Ticket.pageTitle as pagetitle",
Тодор
24 ноября 2021, 17:50
0
Не такое естетическое решение как у вас, но можно воспользоваться стандарными полями MODX

В результате можно обращаться к этим полям вот так:
$profile = $modx->getObject('modUserProfile', $userID);
print_r($profile->get('extended'));
/*
array(
    [2021-11-09] => array(
        [0] => +10
        [1] => -7
        [2] => -3
    )

    [2021-11-09 16:05:56] => -7
    [2021-11-09 18:59:03] => -3
    [2021-11-09 22:18:32] => +10
)
*/
Тодор
24 ноября 2021, 17:13
0
Вроде пропущено закрыкающие скобки после :date=`%d.%m.%Y`
[[+price_bron
    :is=`0`:then=``
    :else=`<a href="[[~[[pdoResources?&parents=`[[*goraID]]` &depth=`0` &templates=`61` &returnIds=`1`]]]]?date_start=[[+start:strtotime:date=`%d.%m.%Y`]]&date_end=[[+finish:strtotime:date=`%d.%m.%Y`]]" target="_blank" class="button button-green">Забронировать</a>`]]
Тодор
24 ноября 2021, 17:05
0
У твоих инпутов очень странные нейми.
Должно быть чтото типа:
Name: [[+field.0.name.0]]
Email: [[+field.1.email.0]]
Phone 1: [[+field.2.phone.0]]
Phone 2: [[+field.3.phone.0]]
Data Start: [[+date_start]]
Date End: [[+date_end]]
Не уверен что все правильно, но date_start и date_end точно должно работать (если они конечно не пустые).
Еще можно попробовать в emailTpl поставить несущесвующий чанк і посмотреть на то что прийдет на почту, там должны быть все доступные в чанке переменные
Дмитрий
24 ноября 2021, 16:45
0
Не работает, не показывает названия ресурсов и хлебные крошки.
Константин Ильин
24 ноября 2021, 16:16
0
а где можно проверить компонент, точнее говоря где такой же вызов компонента?

Например здесь норм
prnt.sc/20s66rs

Видимо модальное окно выше по z-index
Николай Савин
24 ноября 2021, 16:12
0
Это компонент extJS встроенный в modx — по идее не к минишопу вопросы. ms2 просто вызывает компонент
Константин Ильин
24 ноября 2021, 16:03
0
miniShop2 2.9.3-pl
MODX Revolution 2.8.3-pl
Google Chrome последний
ctrl+F5 нажимал

Что-то с z-index у списка выбора опции, не могу выбрать опции

prnt.sc/20s4etp
Алексей Смирнов
23 ноября 2021, 21:34
0
Допустим submitVar = 'belka'. Если используется button, то:
<button type="submit" name="belka" value="123">Отправить</button>

Если сабмит input, то:
<input name="belka" value="Отправить">
Просто запомите и проблем с этим submitVar не будет.
Для каждой отдельной формы нужно прописать.
т.е. важно чтобы при сабмит — поле как бы небыло пустым. тогда все будет норм.
iWatchYouFromAfar
23 ноября 2021, 19:15
0
submitVar надо вообще убрать при использовании ajaxForm.