Всего 125 683 комментария

Руслан
02 ноября 2020, 19:37
+1
кстати, допилил твой компонент для работы с разными аккаунтами црм, мне для системы франчайзинга понадобилось так как будет куча аккаунтов црм и в одном сеансе заказ раскидывать по франчам регионов придется
Андрей
02 ноября 2020, 17:32
0
в результате многочисленных экспериментов выяснил, что проблема возникают на тех страницах, где используется fastfield в частности вот такая конструкция
[[#49.uri]]
можно это как-то исправить, кроме как не пользоваться fastfield?
Futuris
02 ноября 2020, 17:26
0
Да еще проще поставить по FTP как всегда и ставил.)) Спасибо!
Тодор
02 ноября 2020, 17:23
0
Как вариант
{switch $_modx->resource.id}
    {case 2}
        {set $filters = 'msoption|option1_1, ms|option1_2'}
        {set $aliases = 'msoption|option1_1==option1_1, ms|option1_2==option1_2'}
    {case 3}
        {set $filters = 'msoption|option2_1, ms|option2_2'}
        {set $aliases= 'msoption|option2_1==option2_1, ms|option2_2==option2_2'}
    {default}
        {set $filters = 'msoption|default_option1, ms|default_option2'}
        {set $aliases= 'msoption|default_option1==default_option1, ms|default_option2==default_option2'}
 {/switch}
{'!mFilter2' | snippet:[
    ...
    'filters' => $filters,
    'aliases' => $aliases,
    ...
    ]}
Алексей Соин
02 ноября 2020, 17:09
0
Ну если /data/.config это директория хостинга, то да, наверное они что-то неправильно настроили. Проще всего чтобы всё затестить как это должно работать это например на хостинге modhost.pro тестовый сайт создать бесплатный и там уже тестить, там никаких проблем нет.
Futuris
02 ноября 2020, 17:05
0
Т.е. в данном случае — это некорректная работа composer на моем сервере?
Денис
02 ноября 2020, 15:13
0
Инструмент чисто для отслеживания ((
перестал фурычить поиск по содержанию в USER AGENT
к примеру
если заблочить — Mozilla/5.0 (compatible; SEOkicks; +https://www.seokicks.de/robot.html) — то блочит
а если — SEOkicks нет

и стоп листы не обновлялись уже давно
Mozilla/5.0 (compatible; SemrushBot/3~bl; +http://www.semrush.com/bot.html)
уже давно SemrushBot/6
Евгений Шеронов
02 ноября 2020, 15:05
0
Здравствуйте, Вы вроде уже писали мне?

Здесь только через prepareSnippet сможете сделать замену нужных Вам тегов.

Также, если есть какие-то теги или стили у html-тегов, то их нужно подчистить.
Для этого должен быть установлен Jevix.

Вот пример сниппета prepareMarketDescription, который сделает то, что нужно.
Добавьте его и укажите название в настройку ms2ym_prepare_snippet.

<?php
if(!empty($fields['description'])) {
    //масссив для замен 
    $replaces = [
        '[[*pagetitle]]' => $product['pagetitle'],
        '[[+article]]'   => $product['article']
    ];
    
    // все доступные поля можно посмотреть в логе расскоментировав две строки ниже:
    // $modx->log(1,'Поля в XML: '.print_r($fields,1));
    // $modx->log(1,'Поля товара: '.print_r($product,1));
    
    $fields['description'] = $modx->runSnippet('Jevix',[
        'input'=> str_replace(array_keys($replaces), array_values($replaces), $fields['description']),
        'cfgAllowTags'=>'h3,ul,ol,li,p,br',
        'cfgSetAutoLinkMode'=>0,
        'cfgAllowTagParams'=>'{}',
        'cfgSetTagNoAutoBr' => 'ul,ol',
        'cfgSetTagChilds' => '[["ul",["li"],false,true],["ol",["li"],false,true]]',
        'cfgSetTagParamDefault' => '[]',
        'cfgSetTagParamsRequired' => '{}',
        'cfgSetTagNoTypography' => '',
        'cfgSetTagPreformatted' => '',
        'cfgSetTagShort' => 'br'
    ]);
}

return $fields;
Алексей Соин
02 ноября 2020, 14:52
0
требуется ли для установки MODX3 через composer наличие аккаунта на github и наличие какого-либо токена?
Нет
Алексей Соин
02 ноября 2020, 14:50
0
auth.json используется для доступа к приватным composer репозиториям, для чего он тут?
Futuris
02 ноября 2020, 13:31
0
Теперь обновили PHP на сервере и инсталляция запускается. Но все затем упирается в требование какого-то токена следующую ошибку —
Cloning failed using an ssh key for authentication, enter your GitHub credentials to access private repos
Head to https://github.com/settings/tokens/new?scopes=repo&description=Composer+on+dva.ru+2020-11-02+1320
to retrieve a token. It will be stored in "/var/www/...../data/.config/composer/auth.json" for future use by Composer
Сформулирую теперь вопрос иначе — требуется ли для установки MODX3 через composer наличие аккаунта на github и наличие какого-либо токена? Заранее спасибо всем, в т.ч. кто ранее откликнулся!
Алексей Соин
02 ноября 2020, 12:44
+5
а запустив вот так
$.ajax({
        url: fastsnippet,
        type: "post",
        data: {
            snippet: 'pdoresources',
            params: {
                tpl: '@INLINE {$_modx->runSnippet("!pdoUsers", [ "tpl" => "" ])}'
            }
        }
    })
и посмотрев в ответ который прийдет с сервера можно увидеть всех пользователей, д и запустить любой сниппет похожим образом
Алексей Соин
02 ноября 2020, 12:38
+2
{$id} не работает потомучто сниппет не запускается именно на страницу, а происходит просто runSnippet. И смотреть надо не в консоли, а в ответе во вкладке «сеть», тогда выведется ответ
Ivan
02 ноября 2020, 12:33
0
Оно так не работает. Этот параметр выводится только потому-что на странице доступен и при рендере заменяется. Если вы сделаете tpl: '@INLINE {$id}', то фиг че получите)))
И просто в инспекторе кода подставить tpl: '@INLINE {$_modx->config.site_name} [[++site_name]]' и выполнить ajax запрос, то тоже не сработает. Если я что-то не заметил — поправьте пожалуйста.

{{+id}}, [[+id]] тоже не работает)



Но все это не имеет значения, т.к. в любом случае уязвимость есть
Алексей Соин
02 ноября 2020, 12:24
0
$.ajax({
        url: fastsnippet,
        type: "post",
        data: {
            snippet: 'pdoresources',
            params: {
                tpl: '@INLINE {$_modx->config.site_name}'
            }
        }
    })
Ivan
02 ноября 2020, 12:08
0
Я пробовал передать инлайн чанк и не сработало. Может я что-то не так делал.
Ivan
02 ноября 2020, 12:06
0
А какой прикол использовать ваш компонент без возможности передать параметры? Это вы предлагаете создавать сниппет и в нем вызывать другой?