Всего 123 803 комментария

Максим
24 апреля 2024, 07:36
0
Мне вообще не нравится, что файлы дополнений раскиданы по всей системе… часть в assets/name, другая в core/name, а третья получается еще и в _build/name

Мне кажется, былоб логично, еслиб была одна папка в корне, например, components/name и уже в ней всё остальное: assets, core, build и т.п.
Олег Захаров
23 апреля 2024, 11:30
+3
Совершенно другой уровень разработки.
Теперь придется переучиваться.
Нужен новый туториал для разработки на новом подходе.
Нужна новая документация.
Примеры разработки сайтов на новом принципе.
Т.к. пока многое не понятно.

Спасибо персональное Василию за огромный вклад в развитие MODX.
Василий Наумкин
23 апреля 2024, 10:17
+5
Всё прошло очень хорошо, парни из Sterc привезли с собой оператора, который всё заснял и зафотал. Сейчас это дело смонтируют и выпустят документалку, можно будет посмотреть.

Новостей именно про развитие системы, кроме моего доклада, вроде и не было никаких. Разве что Sterc представили новый портал для поиска работы, связанной с MODX — www.workwithwander.com.

Мой доклад прошёл очень хорошо, теперь самому интересно посмотреть, как это выглядело со стороны. Особенно народ оживился на словах о том, что можно нанимать сотрудников не из мира MODX, а с более широкого рынка современной PHP разработки.

В общем, ждём документалку.
Иван Бочкарев
23 апреля 2024, 08:57
+4
Как всегда, на уровне! Спасибо!

  • Очень интересно услышать как в целом прошла конференция?
  • Что интересно из докладов было?
  • Как твой новый предложенный метод восприняли слушатели?
  • Может есть какие новости по развитию MODX?
Сергей Карпович
22 апреля 2024, 17:19
0
Я нафигачил просто несколько условий
alexandr.skyrda
22 апреля 2024, 17:16
0
я делал так-то так:

if ($modx->event->name == 'msOnGetProductFields') {
        $returned_values = & $modx->event->returnedValues;
        $values = $modx->event->params['data'];
        $product = $modx->getObject('msProduct', $values['id']);
        
        $userGroupId = $modx->user->getUserGroups()[0];
        $sale_group = [1, 2, 3]; // ИД групп, для которых другая цена
            
            if ($modx->user->isAuthenticated() && in_array($userGroupId, $sale_group)) {
                $new_price = null;
                switch($modx->user->getUserGroupNames()[0]) {
                    case 'НАЗВАНИЕ ГРУППЫ ПОЛЬЗОВАТЕЛЕЙ':
                        $new_price = $product->get('price_basovye')[0]; // Цена записана в опцию товара
                        break;
                }
                $returned_values['price'] = $new_price;
            }
}
наверное не самое элегантное решение, но работает
Сергей Карпович
22 апреля 2024, 14:29
0
А если групп пользователей несколько и каждой группы своя цена, то как будет выглядеть плагин?
Володя
22 апреля 2024, 12:57
0
Данная ошибка в логе никак не связана с проверкой доступа по модификатору pasraccess.
Можете написать в ТГ в профиле.
max
max
22 апреля 2024, 10:16
0
Я пакет покупал в 2020. С тех пор так до него руки и не дошли. Сейчас вот взялся настраивать по инструкции — не хочет работать =( Написать в ТП modstore уже не позволяет =(
В лог modx пишется следующее:
[2024-04-22 10:18:14] (ERROR @ /var/www/site.ru/core/xpdo/xpdo.class.php: 644) Could not load class: PasValidator from payandsee.pasvalidator.
Володя
22 апреля 2024, 08:56
0
Добрый день.
Дополнение работает, никто в ТП не писал о каких либо проблемах с пакетом.
Если у вас какие либо сложности пишите в ТП — решим.
max
max
21 апреля 2024, 16:49
0
Не работает дополнение.
modx 2.8.3
Minishop 2.8.3
PAS 2.0.24-beta

Поднимал на modhost разные тестовые сайты с PAS 2.0.24 и разными modx (2.6.5, 2.7.0, 2.8.0) — ни на одном хосте PAS не работает.

Например, конструкция в шаблоне:
{set $access = 1|pasraccess:0}
{* далее можно использовать для проверки доступа переменную $access *}
{if $access}
Есть доступ
{else}
Нет доступа
{/if}
{$_modx->resource.content|pasraccess:('!pas.content'|snippet:['resource'=>$_modx->resource.id])}
дает всегда один результат — Есть доступ.
Баха Волков
20 апреля 2024, 15:47
+1
{set $data = id_ресурса | resource : 'название_тв_migx' | fromJSON}

{foreach $data as $item}
    {$item.name}
    {$item.description}
{/foreach}
Ирина
19 апреля 2024, 23:47
0
Да, работает, проверяла. И окно модальное закрывается, но уведомления нет
Ирина
19 апреля 2024, 23:39
0
Так убрала AjaxFormItLogin, оставила оплату по умолчанию и тогда уведомления отрабатывают, но как только я ставлю оплату юкасса, то уведомления пропадают
Ирина
19 апреля 2024, 23:22
0
Добрый вечер. Помогите, пожалуйста, разобраться. Поставила модули SendIt и MiniShop2. Создала снипет, прописала пресет в файле, добавила js, вывела окно с формой — заказ оформляется — письмо приходит, но нет уведомления. Если делать как написано + к этому с вызовом AjaxFormItLogin — то работает все, но заказ оформляется дважды, выводятся дважды уведомления. Для чего нужно использовать и SendIt и AjaxFormItLogin? Я только начала разбираться с этими модулями, подскажите, пожалуйста, что я не так делаю?!
Баха Волков
19 апреля 2024, 12:48
+2
Постараюсь в свободное время это сделать, спасибо за предложение
Наумов Алексей
19 апреля 2024, 11:49
1
0
Самое лучшее решение в данной ситуации — это сделать отдельный файл для работы с этим API, например:
/assets/components/mycomponent/api.php
ну или просто попроще
/api.php
внутри этого файла инициализируем MODX в API режиме, читаем, например:
modx.pro/development/3163

А далее просто получаем данные, как нам нужно и выводим в json:
$query = $modx->newQuery('modResource');
$query->where([
'parent' => 2,
]);

$resources = $modx->getIterator('modResource', $query);
$data = [];
foreach($resources as $resource) {
$data[] = [
'pagetitle' => $resource->get('pagetitle');
];
}

header("Content-Type: application/json");
echo json_encode($data);
exit();
да, если нужны TV поля, то запрос будет сложнее. Но эта информация тоже есть на форуме.
Если уж совсем лень писать запрос — то можно внутри скрипта вызвать сниппет pdoresources:
$data = $modx->runSnippet('pdoResources', [ПАРАМЕТРЫ]);