vectorserver

vectorserver

С нами с 12 декабря 2018; Место в рейтинге пользователей: #44
vectorserver
09 декабря 2022, 13:54
0
Если тебе на оффсайте говорят что не работает! мы тут не можем точно помочь!
vectorserver
09 декабря 2022, 10:06
1
0
Вот так:
<?php
/* @var modX $modx */
$context_key = 'abc';
$context_resID = '317';

//Опция site_url
$site_url = $modx->getOption('site_url', array('context_key'=>$context_key));
var_dump($site_url);

//Поуличить ресурс из котекста
/* @var modResource $resource*/
$resource = $modx->getObject('modResource', array('id'=>$context_resID, 'context_key'=>$context_key));
if ($resource){
    var_dump($resource->pagetitle ." | ".$resource->id);
}
vectorserver
08 декабря 2022, 09:39
0
Муза придет, напишу))) Пока завал на работе)
vectorserver
08 декабря 2022, 06:58
+2
Ну, во-первых, сайт не внушает доверия! (нет контактов, реквизитов, договоров, оферт и тп.)
Во вторых, где гарантия моментального ответа сервака с любой точки мира и в любое время?!
В третьих, за что платить, если есть готовые решения на гите, я к примеру использую пакет faceted-search, и я буду всегда знать что он под рукой и не зависит от левых сервисов!
git: github.com/k-samuel/faceted-search
Ну и сомневаюсь я в круглосуточной поддержке, потому что автор спит или заболел…
vectorserver
30 ноября 2022, 06:53
1
+2
Нужно еще просто было указать в параметрах, еще один ключ stage

$params = array(
    'crontab' => true,    
    'stage' => 'new_session',
    'id' => 2,
);


Готовый рабочий вариант:
<?php
define('MODX_API_MODE', true);
require '../index.php';

/* @var modX $modx */

//Дадим права админа навыполнение процессора
$modx->user = $modx->getObject('modUser', 1);

//id строки в таблице (колонка ID), таб "Прайс-листы"
$row_ID = 2;

/** @var msPriceList $msPriceList */
$msPriceList = $modx->getService('msPriceList', 'msPriceList', MODX_CORE_PATH . 'components/mspricelist/model/');

$corePath = $modx->getOption('mspricelist_core_path', null, $modx->getOption('core_path') . 'components/mspricelist/');
$path = $modx->getOption('processorsPath', $msPriceList->config, $corePath . 'processors/');


/* @var modX $modx */
$params = array(
    'crontab' => true,
    'stage' => 'new_session',
    'id' => $row_ID,
);

/* @var modProcessorResponse $response */
$response = $modx->runProcessor('mgr/file/export', $params, array(
    'processors_path' => $path
));

if ($response->isError()) {
    die($response->getMessage());
} else {
    echo json_encode($response->response);
}
vectorserver
25 ноября 2022, 21:00
0
тогда подготовь массив таким образом чтобы выводились только published! и не е*и мозг!
Группируй массив по ключу
{var $plus = $_modx->resource.field_plus | fromJSON  | groupBypublished }
Сниппет groupBypublished:
<?php
function _group_by($array, $key) {
    $return = array();
    foreach($array as $val) {
        $return[$val[$key]][] = $val;
    }
    return $return;
}
return _group_by($input, 'published');
vectorserver
25 ноября 2022, 20:58
1
0
без итераций никак!
{var $count_pub = 0}
{var $plus = $_modx->resource.field_plus | fromJSON}
{if $plus}
    {foreach $plus as $idx => $item}
        {if $item.published ==1}
        {$count_pub++}
    {/foreach}
    RETURN COUNT: {$count_pub}
{/if}
vectorserver
25 ноября 2022, 18:53
0
Используй постфиксный инкремент:
{var $plus = $_modx->resource.field_plus | fromJSON}
{var $count_pub = 0}
{if $plus}
{foreach $plus as $idx => $item}
{if $idx =='8'}{break}{/if}
{if $item.published !=0}
{$count_pub++}
 <div class="plus__item plus-item">
     {$item.text}
{/if}
{/foreach}
{/if}
COUNT: {$count_pub++}
via: github.com/fenom-template/fenom/blob/master/docs/ru/operators.md#операторы-инкремента-и-декремента
vectorserver
22 ноября 2022, 18:29
0
Круто! Но SVG похоже не хавает)


Я делал такой-же для одной CRM только на NODEJS Puppeteer, принцип такой же, задача была пройтись по сайтам и отсечь те которые не адоптированы к мобилкам + отчет от lighthouse_viewer



vectorserver
18 ноября 2022, 07:06
0
Вот так: vectorserver.ru/tests/runSnippet.php
<?php
define('MODX_API_MODE', true);
require '../index.php';

/* @var modX $modx */
$json = $modx->runSnippet('pdoResources', [
    'parents' => 0,
    'select' => 'id,pagetitle',
    'return' => 'json'
]);

header('Content-Type: application/json; charset=utf-8');
echo $json;
vectorserver
16 ноября 2022, 12:11
0
Вот так:
<?php
//define('MODX_API_MODE', true);
//require 'index.php';

/* @var modX $modx */

//Дадим права админа навыполнение процессора
$modx->user = $modx->getObject('modUser', 1);

//Данные для обновления ресурса
$data = [
    'id'=>1,
    'introtext'=>'ццццццццццццц',
    'alias'=>'index',
    'context_key' => 'web',
    'tvs' => true,// save tv
    'tv3' => 'abc', //tv +id
];

//Запускаем процессор
$response = $modx->runProcessor('resource/update', $data);

if ($response->isError()) {
    $out = $response->getMessage();
} else{
    $out = $response->response;
}


var_dump($out);
vectorserver
15 ноября 2022, 11:43
0
@Василий Наумкин Bellissimo!!!
По идее на этапе установки, можно choice прикрутить для настроек входа в систему.

vectorserver
14 ноября 2022, 10:24
0
Написать плагин для синхры данных в контекстах.
vectorserver
14 ноября 2022, 10:22
-1
Всё ясно)! Не будем с вами спорить!
vectorserver
14 ноября 2022, 06:31
-1
Хабр: habr.com/ru/company/southbridge/blog/325568/
Твои посты про Nest на портале про MODX равносильны как, ты приехал на BMW M5 в лес на соревнования по бездорожью!