Как получить айди пользователя при смене а так же при создании заказа в плагине?
Как получить айди пользователя при смене заказа а так же при создании в плагине?
Пока что плагин такой
Пока что плагин такой
<?php
switch ($modx->event->name) {
case "msOnChangeOrderStatus":
// 1001
if($status == 1001){
$modx->log(1, 'ЗАКАЗ ЗАВЕРШЁН');
}
$modx->log(1, var_dump($order));
break;
}
Пытался вывести объект $order но генерит вообще всё вместо того что нужно, пытался из этого объекта получить айди пользователя "$order->getOne('User')
" но просто получаю ошибку Как добавить поле галочку в заказ любой, а потом изменять её плагином?
Нужно добавить в каждый заказ, чекбокс, и потом допустим при заказе если это более 5 заказ, в текущем и каждом последующем заказе указывать данный чекбокс как активный для этого пользователя.
Пытался так:
Так же создал само поле в базе данных в этой таблице "
Но когда перехожу в заказы в админке, там не вижу моего поля.
Само поле создавал так через sql "
Пытался так:
<?php
switch ($modx->event->name) {
case 'OnMODXInit':
$modx->loadClass('msOrder');
$modx->map['msOrder']['fields']['regular_customer'] = 0;
$modx->map['msOrder']['fieldMeta']['regular_customer'] = array(
'dbtype' => 'tinyint',
'precision' => 1,
'attributes' => 'unsigned',
'phptype' => 'boolean',
'null' => false,
'default' => 0,
);
break;
}
П.С ставил на событие «OnMODXInit»Так же создал само поле в базе данных в этой таблице "
modx_ms2_orders
".Но когда перехожу в заказы в админке, там не вижу моего поля.
Само поле создавал так через sql "
ALTER TABLE `modx_ms2_orders` ADD `regular_customer` TINYINT(1) UNSIGNED NOT NULL DEFAULT '0' ;
" Вывести значения только используемых TV в ресурсах по двум параметрам
Здравствуйте, делаю Ajax фильтр, с поиском по TV полям выглядит это так:
Опции формируются сниппетом, который собирает только используемые значения TV полей со всех ресурсов, объединяя дубли, вот код сниппета:
Подскажите пожалуйста как для этого изменить сниппет? Догадываюсь что в запрос
Опции формируются сниппетом, который собирает только используемые значения TV полей со всех ресурсов, объединяя дубли, вот код сниппета:
<?php
// $tvid = 7; // id нужного ТВ параметра
$res = array(); // Сюда забиваем результаты
$counter = 1;
$output = '';
$q = $modx->newQuery('modTemplateVarResource', array('tmplvarid' => $tvid, ));
$q->select('value');
$q->groupby('value'); // исключаем дубли
if ($q->prepare() && $q->stmt->execute()) {
while ($row = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
$res[$counter] = $row['value'];
$counter++;
}
}
foreach($res as $val){
$output .= '<option value="'.$val.'">'.$val.'</option>';
}
echo $output;
Все работало нормально до тех пор как не было добавлено новое TV поле с двумя значениями Аренда==1||Продажа==2 и теперь фильтр для аренды должен отобразить только значения используемых TV ресурсов согласно этому новому полю, т.е. идея в том чтобы фильтр не показывал опции ресурсы которых «для продажи» и наоборот. Подскажите пожалуйста как для этого изменить сниппет? Догадываюсь что в запрос
$q = $modx->newQuery('modTemplateVarResource', array('tmplvarid' => $tvid, ));
нужно подставить еще один параметр — со значением Аренды или Продажи… Но своих знаний маловато как это сделать… Буду благодарен за любую помощь ) в плагине не правильная группа у пользователя
регистрирую пользователя через компонент Office в группу «Users» с ID=2, потом вручную меняю пользователю группу, например на «РРЦ» с ID=41.
при вызове в плагине
в чем может быть проблема? как будто закешировались данные
при вызове в плагине
$modx->user->getUserGroups()
отображается все равно старая группа с ID=2, хотя в БД все поменялось как надо. в чем может быть проблема? как будто закешировались данные
как установить/зарегистрировать плагин не из транспортного архива?
если плагин в таком виде
как его установить правильно? транспортного архива нет
как его установить правильно? транспортного архива нет
ms2form не создает товары
Здравствуйте,
Не могу сделать чтоб создовались товары из фронтенда. Усановил miniShop2 4.0.0 и ms2Form 1.4.5-beta2
Добавил «Доступ к контекстам» группе «Users» «ms2formUserPolicy» и «miniShopManagerPolicy»
Создал в шаблоне
На сайте выводится форма но форма не отпровляется. Не пойму в чем проблема. Может кто сталкиволся с таким поведением.
Выскакивает ошибка:
Не могу сделать чтоб создовались товары из фронтенда. Усановил miniShop2 4.0.0 и ms2Form 1.4.5-beta2
Добавил «Доступ к контекстам» группе «Users» «ms2formUserPolicy» и «miniShopManagerPolicy»
Создал в шаблоне
[[!ms2form?
&parent=`13`
&template=`8`
&allowedFields=`parent,pagetitle,content`
&requiredFields=`parent,pagetitle,content`
&tplCreate=`my.tpl.ms2form.create`
]]
В чанке my.tpl.ms2form.create<form class="well create" method="post" action="" id="ms2form" role="form" data-reset="true">
<input type="hidden" id="ms2formFormKey" name="form_key" value="[[+formKey]]">
<input type="hidden" name="pid" value="0">
<input type="hidden" name="parent" value="[[+parent]]">
<input type="hidden" name="published" value="1"/>
<input type="hidden" name="hidemenu" value="0"/>
<input type="hidden" name="redirectPublished" value="[[+redirectPublished]]"/>
<input type="hidden" id="ms2formTagsNew" value="[[+tagsNew]]"/>
<div class="form-group">
<label>[[%ms2form_pagetitle]]</label>
<span class="text-danger">*</span>
<input type="text" class="form-control" placeholder="[[%ms2form_pagetitle]]" name="pagetitle" value="" maxlength="50" id="ms2formPagetitle"/>
</div>
<div class="form-group popover-help" id="formGroupContent">
<input id="content" name="content" type="hidden" value="[[+content]]"/>
[[$tpl.ms2form.editor.[[+editor]]]]
</div>
<div class="form-group">
<div class="ticket-form-files">
[[+files]]
</div>
</div>
<div class="form-actions">
<input type="submit" id="ms2formSubmit" class="btn btn-primary submit" value="[[%ms2form_save]]"/>
</div>
</form>
Авторизуюсь под «users»На сайте выводится форма но форма не отпровляется. Не пойму в чем проблема. Может кто сталкиволся с таким поведением.
Выскакивает ошибка:
/core/components/ms2form/model/ms2form/ms2form.class.php : 348) PHP warning: Undefined array key "tags"
перестали показывается новые тв дополнительные поля
помогите разобраться, перестали показываться новые тв дополнительные поля, в базе данные прописываются, а на сайте не отображаются, куда копать не пойму, проблема именно с новыми полями старые работают без проблем
SQL запрос
Есть ресурс 5 ресурсов и все они имеют свой уникальный шаблон и пару TV.
catalogs и price это TV
Кто знает, можно ли одним SQL-запросом извлечь список этих ресурсов с TV-полями.
По итогу нужно будет получить вот такой json
catalogs и price это TV
Кто знает, можно ли одним SQL-запросом извлечь список этих ресурсов с TV-полями.
По итогу нужно будет получить вот такой json
{
"id": 1,
"pagetitle": "Название №1",
"catalogs": "Дымоходы для печей",
"price": "100"
},
{
"id": 2,
"pagetitle": "Название №2",
"catalogs": "Дымоходы для печей",
"price": "100"
},
{
"id": 3,
"pagetitle": "Название №3",
"catalogs": "Дымоходы для печей",
"price": "100"
},
{
"id": 4,
"pagetitle": "Название №4",
"catalogs": "Дымоходы для печей",
"price": "100"
},
{
"id": 5,
"pagetitle": "Название №5",
"catalogs": "Дымоходы для печей",
"price": "100"
}
Как вывести в шаблоне ресурса TV поле типа List c Options/Values
Здравствуйте, я недавно с Modx поэтому прошу совета знатоков
В документации про типы TV полей сказано что я могу для типа ввода List указать раздельно значения Options/Values таким образом:
Я начал велосипедить и в сниппете получать сначала все значения поля List, затем получать выбранное значение, затем путем сравнивавания циклом проходить по массиву и тд, и все это только чтобы получить одно значение value.
В документации про типы TV полей сказано что я могу для типа ввода List указать раздельно значения Options/Values таким образом:
Option 1==value1||Option 2==value2
Однако по умолчанию плейсхолдер [[*FieldTV]] выводит название опции, и я ни как не могу найти информацию про то как получить именно value выбранной опции.Я начал велосипедить и в сниппете получать сначала все значения поля List, затем получать выбранное значение, затем путем сравнивавания циклом проходить по массиву и тд, и все это только чтобы получить одно значение value.
<?php
function searchValue($option, $array) {
foreach ($array as $key => $val) {
if (strpos($val, $option) !== false) {
$el = explode('==',$val);
echo $el[1];
}
}
return null;
}
$tvtag = 'MyFieldTV';
$pageid = '38';
$tv = $modx->getObject('modTemplateVar',array('name'=>$tvtag));
// все опции
$options = explode('||',$tv->get('elements'));
// ключ опции выбранный в ресурсе
$optionKey = $tv->getValue($pageid);
echo searchValue($optionKey,$options);
Может быть есть какое-то более рациональное и простое решение о котором я не знаю? помочь с импортом товаров xml/yml в minishop2
3 1 000
помочь разобраться с импортом товаров из yml-выгрузки, вот пример
я так понимаю, что нужно писать свое решение с использованием готовых функций в modx, типа simplexml
нужно настроить скрипт импорта и объяснить, как с ним работать. т.е. менять выгрузки, добавлять поля и т.д.
пишите цену!
я так понимаю, что нужно писать свое решение с использованием готовых функций в modx, типа simplexml
нужно настроить скрипт импорта и объяснить, как с ним работать. т.е. менять выгрузки, добавлять поля и т.д.
пишите цену!