Вопросы

Правильное построение параметров в WHERE

Приветствую!

в общем такое дело, есть такой запрос в Where:
['moder_pub' => 0, 'class_key:=' => 'msProduct',]
Он тип как бы работает, НО мне дополнительно надо, чтобы они проверял и выводил еще ресурсы с классом Ticket.
Делаю такой запрос:
['moder_pub' => 0, 'class_key:=' => 'msProduct','OR:class_key:=' => 'Ticket',]
В общем сложности (не буду приводить весь вывод сниппета, тобы не пугать никого), выглядит так:
{$_modx->runSnippet('!pdoPage', [
        'where' => ['moder_pub' => 0, 'class_key:=' => 'msProduct','OR:class_key:=' => 'Ticket',] | json_encode,
        'showLog' => 1,
])}
В общем как я ни крутил (нашел старые заметки), подставлял обычный вызов без фенома, ни к чему не пришел, прошу помощи, куда копать, шо делать!
Andrey
08 июня 2021, 19:00
modx.pro
926
0

Добавление полей в $_modx->resource.

Подскажите может кто сталкивался. Пишу плагин почти в слепую ориентируясь на minishop2. Создал необходимы таблицы:
<object class="hdOrder" extends="modResource">
        <composite alias="Data" class="hdOrderData" local="id" foreign="id" cardinality="one" owner="local"/>
    </object>

    <object class="hdOrderData" table="hd_orders" extends="xPDOSimpleObject">
        <field key="contact" dbtype="int" precision="10" attributes="unsigned" phptype="integer" null="true"/>

        <index alias="contact" name="contact" primary="false" unique="false" type="BTREE">
            <column key="contact" length="" collation="A" null="false"/>
        </index>

        <aggregate alias="Order" class="hdOrder" local="id" foreign="id" cardinality="one" owner="foreign"/>
    </object>
Хочу вывести значения переменных из таблицы hdOrderData на странице типа $_modx->resource.article, но не выводится. Само присоединение сделано через плагин
case 'OnLoadWebDocument':
        // Set product fields as [[*resource]] tags
        if ($modx->resource->get('template') === 7) {
            if ($dataMeta = $modx->getFieldMeta('hdOrderData')) {
                unset($dataMeta['id']);
                $modx->resource->_fieldMeta = array_merge(
                    $modx->resource->_fieldMeta,
                    $dataMeta
                );
            }
        }
        break;
Нужен вывод $_modx->resource.contact
Евгений Лазарев
08 июня 2021, 18:12
modx.pro
1
948
-1

После смены контекста пользователь не может авторизоваться в закрытый раздел

Всем добрый день, есть мультиязычный сайт, поменял на нём основной язык на другой таким образом: — поменял в обоих контекстах base_url, site_url.
Поменял в плагине:
case 'uk':
/* switch the context */
$modx->switchContext('ua');
break;

default:
/* Set the default context here */
$modx->switchContext('web');
break;
На:
case 'ru':
/* switch the context */
$modx->switchContext('web');
break;

default:
/* Set the default context here */
$modx->switchContext('ua');
break;
В системных настройках установил default_context – ua, вместо web. В принципе всё хорошо работает основной язык поменялся, но на сайте есть закрытый раздел там где заходят по логину и паролю, так вот при авторизации с основного контекста сейчас не можешь зайти туда, а если перейдешь в другой язык, который был раньше основным, там можно зайти в раздел.
Авторизацию вывожу так:
[ [!Login? &loginContext=`web` &contexts=`ua,en`] ]
Может кто знает как решить этот вопрос.
Олег
08 июня 2021, 17:15
modx.pro
584
0

Login ошибка при сохранении поля address

Здравствуйте.
На одном из сайтов столкнулся со следующей проблемой:
Установлен Minishop2 и компонент Login для регистрации и авторизации.
При редактировании профиля, если заполнено поле «Улица» (address), то при сохранении вылетает белый экран и изменения не сохраняются.
На других сайтах с подобным функционалом такой проблемы нет. В чём может быть причина?

P.S. Пока сделал так: поменял поле «address» на минишоповское 'extended[street]' в формах на страницах «Профиль», «Редактирование профиля», «Оформление заказа» и в сниппете msOrder (кстати интересно, почему в самом Minishop используется «address» а не 'extended[street]'?). Но хотелось бы разобраться.
Игорь
08 июня 2021, 10:22
modx.pro
574
0

Альтернатива Sharepoint с помощью MODX Revolution

Всем привет.
Необходимо разработать альтернативу Sharepoint. Всё как обычно: есть несколько групп пользователей, они должны видеть только свои закачанные файлы, некоторые группы могут закачивать файлы, другие — нет.

Смысл — файлообмен после логина на сайт.

Вот думаю как это лучше сделать — через фронт и компонент Login или через бэкэнд, в админке (сделать источники файлов, позакрывать лишнее и т.д.)?

Хотелось бы на фронте.

Есть советы/идеи?

Спасибо.
Anton
07 июня 2021, 18:11
modx.pro
1 027
0

Фильтр для разных категорийтоваров mFilter2

Доброго времени суток, такой вопрос: есть фильтр товаров:
[[!mFilter2?
    &parents=`[[*id]]`
    &element=`msProducts`
    &class=`msProduct`
    &tpl=`productCatalog.tpl`
    &filters=`msoption|size:size`
    &aliases=`resource|parent==parent`
    &tplFilter.outer.default=`tpl.mFilter2.filter.outer`
    &tplFilter.row.default=`tpl.mFilter2.filter.checkbox`
    &tplFilter.outer=`tpl.mFilter2.outer`
]]
он выводит по размеру одежды и обуви, а как сделать так чтобы был фильтр для обуви отдельно, и для одежды отдельно, как здесь 12storeez.com/catalog/new?
star007
07 июня 2021, 17:16
modx.pro
589
0

Не создается подписчик при попытке подписаться Sendex

Привет. Установил компонент Sendex для рассылки. Сделал все по стандарту. Установил компонент. Шаблон письмо создан. Подписка так же создана (id=1). Вывожу так —
[[!Sendex? &id=`1`]]
. Компонент выводиться на фронт. Все нормально, но когда я ввожу адрес почты и нажимаю на кнопку, то получаю сообщение — Не могу отправить email. Подписчик соответственно не добавляется. Что я делаю не так? Подскажите, пожалуйста. В чем примерно может заключатся ошибка? Спасибо.

Максим
07 июня 2021, 17:00
modx.pro
1 108
0

Изменение значения поля после сохранения Товара.

Приветствую сообщество!

Предыстория. На фронте есть форма которая добавляет и сохраняет новые Товары, вот собственно мне нужно, чтобы только у модераторов была возможность ставить галочку нужного мне поля, а если Товар сохраняет кто либо, но НЕ модератор, то сбрасывать поле на 0.
В общем такой вопрос, нужно при сохранении документа сбрасывать (устанавливать) значение одного поля на дефолтное (допустим было 1, надо при сохранении на 0).

Собственно я создал плагин вот такой:
<?php
$eventName = $modx->event->name;
switch($eventName) {
    case 'OnDocFormSave':
        $resource->set('moder_pub', 0);
        break;
}
Да да, тут нет проверки на то, принадлежит ли пользователь группе модераторы или нет, но суть не в этом, я это сделал, только чтобы проверить работает это вообще или нет, ну собственно не работает… При этом не меняет вообще никакое поле, какое бы не ставил.

Вот вопросик, куда копать, как сделать так, чтобы это работало :D

UPD.РЕШЕНИЕ
Не знаю на сколько правильно, НО вот такое решение помогло, спасибо @Евгений Webinmd
<?php
if ($modx->event->name == "OnDocFormSave") {
	if ($modx->user->isMember('Moderator')) return;
    $id = $resource->get('id');
    $res = $modx->getObject('msProduct', $id);
    $res->set('moder_pub', 0); 
    $res->save();
}
Andrey
07 июня 2021, 16:28
modx.pro
1
752
0

Сортировка mfilter2 по проценту скидки [РЕШЕНО]

Можно ли как-то сделать так, что бы сортировалось по размеру скидки?
Что-то вроде такого хочу получить:
<a type="button" class="sort btn" href="#" data-sort="ms|discount" data-dir="desc" class="sort sort_name">Скидке<span></span></a>
Поля discount не существует (я простокак пример привел). Хочется что бы процент где-то там высчитывался автоматически.

Спасибо заранее
Ivan
05 июня 2021, 16:45
modx.pro
2
906
0

ошибка при обновлении до версии modx revo 2.8.3

у когонибудь было такое?

при обновлении до версии modx revo 2.8.3

появляется ошибка

Parse error: syntax error, unexpected '::' (T_PAAMAYIM_NEKUDOTAYIM), expecting ']'

ошибка проявляется при попытке зайти в

manager/reports/System Ifo

залогинившись в manager под admin

minishop2-2.5.0

pdotools-2.12.10

подскажите как поправить, или нужно ждать обновления новой версии modx revo?

Спасибо заранее
Кирилл
05 июня 2021, 10:57
modx.pro
930
0