Вася

Вася

С нами с 07 февраля 2013; Место в рейтинге пользователей: #145

Как изменить массово настройки контекстов?

Здравствуйте!
Не могли бы подсказать работающий код нужно во всех контекстах поменять настройку site_url. Не могу найти рабочий пример именно для замены во всех контекстах


$contexts = $modx->getCollection('modContext', array('key:!=' => 'mgr'));
foreach($contexts as $context) {
    $ctx = $modx->getContext($context->key);
    $new_site_url  =  'https://'.$context->key.'. новый домен.ru/';
    $ctx->setOption('site_url', $new_site_url);
}
Решено
Спасибо @Павел Романов

<?php
foreach ($modx->getIterator('modContextSetting', array('key' => 'site_url')) as $ctx) {
    $ctx->set('value', 'https://'.$ctx->context_key.'. новый домен.ru/');
    $ctx->save();
}
Вася
08 ноября 2019, 15:53
modx.pro
722
0

Msearch2 поиск по тегам

Здравствуйте
Не могу найти в документации нет ли возможности искать по тегам товаров?
пробовал
&fields=`pagetitle:1,tags:2`
или
&fields=`pagetitle:1,msoptions|tags:2`
не работает
Вася
02 ноября 2019, 23:08
modx.pro
541
0

А есть актуальные аналоги FormSave ?

А то этот пакет явно нуждается в обновлении
Вася
11 апреля 2019, 18:17
modx.pro
561
0

Можно ли в дополнительное поле вытащить настройку контекста?

Добрый день!
Дано дополнительное поле множественный выбор
Нужно настроить родителя в зависимости от того что указано в контексте
Вот такая конструкция не хочет работать от слова совсем

@EVAL return $modx->runSnippet('pdoResources',array(
'parents'=> $_modx->config.worksid,
'tpl'=>'@INLINE [[+pagetitle]]==[[+id]]',
'outputSeparator'=>'||'
));
Проблема вот в этом $_modx->config.worksid. можно как то это вывести?

upd:
решено
upd:

ошибка моего кода в том, что текущий контекст mgr,
чтоб код стал рабочим нужно получить контекст того ресурса, что обновляется и получить необходимую настройку примерно так:
$ctx = $modx->getContext($modx->resource->context_key);
return $ctx->getOption('worksid', null, 'default');
Вася
17 января 2019, 15:36
modx.pro
711
0

Как вывести новое поле в админке у заказов?

Написал такой плагин для нового поля и оно работает выводится во вкладке адрес и его можно редактировать.

<?php
switch ($modx->event->name) {
    
    case 'OnMODXInit':
        $modx->loadClass('msOrder');
        $modx->map['msOrder']['fields']['speed']    = '';
        $modx->map['msOrder']['fieldMeta']['speed'] = array(
            'dbtype' => 'varchar',
            'precision' => 100,
            'phptype' => 'string',
            'null' => true,
            'default' => ''
            
        );
      
    case 'msOnManagerCustomCssJs':
        if ($page != 'orders')
            return;
        $modx->controller->addHtml("
            <script type='text/javascript'>
Ext.ComponentMgr.onAvailable('minishop2-window-order-update', function(){

    var newField = {  
        border: false,
        layout: 'column',
        items: [
            {
                border: false,
                columnWidth: 0.5,
                autoHeight: true,
                layout: 'form',
                items: {
                    xtype: 'textfield',
                    name: 'speed',
                    fieldLabel: 'Скорость доставки',
                    anchor: '100%'
                }
            }
        ],
        autoHeight: true,
    }
    this.fields.items[2].items.unshift(newField);
});            
            </script>");
        break;        
}
Но не могу вывести этот новый столбик в таблице заказы в админке
Не подскажите, как это сделать?
Вася
28 декабря 2018, 00:47
modx.pro
1
678
0

Свое значение в old_price

Подскажите как вывести свое значение в old_price на сайте
Что то не выходит. C ценой все нормально, а со старой проблемы
Или я что то делаю совсем не так?

switch ($modx->event->name) {

case 'msOnGetProductPrice':
 
...
$values = & $modx->event->returnedValues;
$values['price'] =  $pricemin; // Это правильно на сайте
$values['old_price'] =  $pricemax; // А это нет
break;
...
Вася
17 декабря 2018, 20:17
modx.pro
641
0

Как сделать сортировку вначале кирилицу потом латиницу?

Сделал сортировку по pagetitle, проблема в том что первой идет сортировка по латинице есть ли способ первой сделать сортировку по кириллице?
Вася
15 октября 2018, 13:37
modx.pro
1 808
0

Как вывести участника двух групп?

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

Группа 2 Поэт
Группа 3 Писатель
Группа 4 Одобрено модератором

При регистрации автор указывает кто он и публикует тексты
Если модератор видит что это тексты нормальные добавляет пользователя в группу 4 «одобрено модератором»

И ни чего не выходит
часть запроса такая

'select' => [
     'modResource' => '*',
     'modUserGroupMember' => 'modUserGroupMember.member,modUserGroupMember.user_group',
 ],
 'leftJoin' => [
     'modUserGroupMember' => [
     'class' => 'modUserGroupMember',
    'on' => 'modUserGroupMember.member = modResource.createdby'
     ]
 ]
'where' => '{"modUserGroupMember.user_group": 3,  "AND:modUserGroupMember.user_group": 4 }'
Вася
04 октября 2018, 02:15
modx.pro
996
0

Капча при аякс загрузке TicketComments не работает

Есть страница в которую загружаются при прокрутке аяксом содержимое других страниц
С блоком TicketComments для неавотризованных пользователей

При отправке капчи пишет что «Указан неверный код защиты от спама.» в исходном коде подгружается верные данные при вводе которых все корректно

Как это можно поправить?

Вася
30 июля 2018, 13:22
modx.pro
844
0

Не работает простейший снипет

Простой снипет который считает все просмотры страницы почему то обновляется через раз
Что то с кешем не подскажите в чем может быть проблема?

вот код вызов на странице [[!countShow]]
<?php
$count = $modx->resource->getTVvalue('hits');
 
if($count > 0) {
    $count = $count+1;
}
else {
    $count = 1;
}

$modx->resource->setTVvalue('hits', $count); 
 
$modx->resource->save();
$modx->resource->clearCache();
return $count;
Работает странно вот так
s14763.h10.modhost.pro/

Решено спасибо Ксении
«Включить частичное кэширование ресурсов — Нет»
Вася
16 июля 2018, 16:56
modx.pro
1 113
0