Павел Романов

Павел Романов

С нами с 03 марта 2014; Место в рейтинге пользователей: #70
Павел Романов
05 февраля 2020, 18:09
0
Вызов pdoPage должен быть некешированным.
Павел Романов
04 февраля 2020, 19:42
0
Сделайте сниппет:
<?php
$arr = explode(',', $input);
$values = array('Визитки', 'Ручки', 'Карандаши');
foreach($arr as $val){
    $k = $val - 1;
    $out[] = $values[$k];
}
return implode(', ', $out);

Используйте его как модификатор:
[[*view:snippet]]
Павел Романов
29 января 2020, 19:09
+1
Ну там же какой-то запрос на сторонний ресурс?
Сделайте этот запрос из сниппета, который используйте в кач-ве хука. В нем поля можно получить через:
<?php
$formFields = $hook->getValues();
$name = $formFields['name'];
$phone = $formFields['phone'];
// дальше отправляйте

Сам сниппет в вызове:
[[!AjaxForm?
&hooks=`spam,email,Snippetname`
.....
]]
Павел Романов
29 января 2020, 18:38
0
Обязательно через JS?
Можете все данные хуком по API отправить.
Павел Романов
29 января 2020, 16:12
0
А просто через msGallery не выводит?
{'!msGallery' | snippet : [
'limit' => 1,
'product' => 5,
'where' => '{ "rank":"10" }'
//......
]}
Павел Романов
22 января 2020, 14:51
0
У Вас при запросе сайта по HTTP 301-й ответ сервера? Если да, то:
  1. Оставьте только HTTPS.
  2. В Яндекс.Вебмастере в разделе «Переезд сайта» поставьте галку «Добавить HTTPS».
  3. Добавьте сайт с HTTPS в Яндекс.Вебмастер и Google Search Console.
После этого все переедет на HTTPS без особых последствий и в результатах поиска все ссылки будут сразу с HTTPS.
Павел Романов
22 января 2020, 12:52
0
Попробуйте через процессор (только бэкап на всяк случай сделайте)):
<?php
$data = array(
    'id' => $id // ID юзера
);    
$response = $modx->runProcessor('/security/user/delete', $data);
if ($response->isError()) {
    $modx->log(modX::LOG_LEVEL_ERROR, 'login error. Username: '.$username.', Message: '.$response->getMessage());
}
Павел Романов
27 декабря 2019, 14:43
+2
Можно не менять плагин, а в системных настройках в разделе «Дружественные URL» в параметре
friendly_alias_restrict_chars_pattern убрать точку, чтобы она не вырезалась из имени файла при его закачке.
Либо в friendly_alias_restrict_chars поставить alphanumeric — тогда шаблон использоваться не будет.
Павел Романов
27 декабря 2019, 14:38
0
Можно в системных настройках в разделе «Дружественные URL» в параметре friendly_alias_restrict_chars поставить alphanumeric, либо оставить pattern, но убрать точку из шаблона.
filetranslit пользуется системными настройками и пытается вырезать точку из имени файла, что и вызывает ошибку.
Павел Романов
26 декабря 2019, 11:41
+1
if($resource = $modx->getObject('modResource', array('pagetitle' => 'pagetitle'))) $id = $resource->get('id');
Павел Романов
11 декабря 2019, 12:20
0
Сделайте сниппет rssReplace:
<?php
$arr1 = array('assets/', 'src="'); // что меняем
$arr2 = array('/assets/', 'src="/'); // на что меняем
return '<![CDATA[ '.str_replace($arr1, $arr2, $input).' ]]>';
Используйте как модификатор:
[[+content:rssReplace]]
Павел Романов
10 декабря 2019, 14:39
0
Тогда получать ID нового объекта в ответе и прописывать непосредственно:
$data = [
    'id' => 'id продукта',
    'file' => 'путь к файлу',
];

$response = $modx->runProcessor('gallery/upload', $data, [
    'processors_path' => MODX_CORE_PATH . 'components/minishop2/processors/mgr/',
]);

if($gallery = $modx->getObject('msProductFile', $response->response['object']['id'])){
    $gallery->set('name',  'имя'); // тут пишем имя
    $gallery->save();
}
Павел Романов
10 декабря 2019, 13:08
0
Так не работает?
$data = [
    'id' => 'id продукта',
    'file' => 'путь к файлу',
    'name' => 'имя' // тут имя
];
...
Павел Романов
03 декабря 2019, 09:34
0
Очистить таблицу modx_manager_log в базе.
Павел Романов
29 ноября 2019, 12:10
0
Через get можно получить только поля ресурса (те, которые в таблице modx_site_content). TV можно получить через getTVValue:
$res->getTVValue('tvname');

Шпаргалка по объектам
Методы MODX
Павел Романов
29 ноября 2019, 07:58
0
Да, скобки пропали куда-то )
<?php
$arr = explode(',', $value);
foreach($arr as $id){
    if(!$res = $modx->getObject('modResource', $id)) continue;
    $out .= $modx->getChunk('collection_item', array(
        'pagetitle' => $res->get('pagetitle'),
        'longtitle' => $res->get('longtitle')
    ));
}
return $out;
Павел Романов
28 ноября 2019, 12:22
0
Э…, так я же выше написал )).
Делайте с шаблонизацией, в Вашем случае чанк такой:
<p><b>[[+pagetitle]]</b> - <i>[[+longtitle]]</i></p>