Denis Bushaev

Denis Bushaev

С нами с 15 января 2020; Место в рейтинге пользователей: #641
Denis Bushaev
03 декабря 2020, 12:45
0
Просто укажи параметр class нужный и проверь чтоб sortby поле существовало в схеме твоего класса.
Denis Bushaev
25 ноября 2020, 00:27
0
ошибка в коде.
return implode('.', $str);
Denis Bushaev
25 ноября 2020, 00:12
0
Обрезка по кол-ву символов. Потом ищет первую точку и обрезает всё после неё. Если не находит возвращает просто обрезку по кол-ву симполов

{$str | excerpt : 150}
$fenom->addModifier('excerpt', function ($str, $limit = 120) {
    $str = substr($str, 0, $limit);
    $str = explode('.', $str);
    if (count($str) > 1) unset($str[count($str) - 1]);
    return implode('.', $str . '.');
});
Denis Bushaev
15 ноября 2020, 20:19
0
На локалке. На рабочем сервере этот же сайт себя нормально ведёт.
Denis Bushaev
15 ноября 2020, 19:53
1
0
Смею предположить, что это проблема php на винде. У меня тоже копия (даже несколько сайтов) modx с обычного линуксовского хостинга на винде всякие разные ошибки генерят. Есть еще постоянные ошибки, типа
  • Error caching lexicon topic
  • Plugin ****(тут название рандомного плагина) failed
  • Error caching script elements/modplugin/**(тут id плагина)
При переносе обрано на нормальных хостинг все эти проблемы тут же исчезают и сайт работает как нужно.
Denis Bushaev
15 ноября 2020, 17:21
0
Надыбал инфу как это исправить. При создании поля для рендера, оно не должно называться так же как и поле, с которым вы взаимодействуете. Ну то бишь. Например у вас есть поле id, в которое вы передаёте id ресурса. Для поля отображения не вы должны уже указывать id т.к. он его перезапишет в этом случае.
Вот пример моего конфига вывода тайтла для ресурсов.

Denis Bushaev
11 ноября 2020, 10:04
0
Пример загрузки изображений для msOptionsPrice2
$msoptionsprice = $modx->getService('msoptionsprice');
$msoptionsprice->initialize('web');

$pcsAction = 'mgr/gallery/upload';
$pcsOptions = ['id' => $productId, 'name' => $imgName, 'file' => $imgTmpPath];
$pcsConfig = ['processors_path' => MODX_CORE_PATH . 'components/minishop2/processors/'];
/** @var \modProcessorResponse $response */
$response = $this->modx->runProcessor($pcsAction, $pcsOptions, $pcsConfig);
if ($response->isError()) {
    $this->modx->log(MODX_LOG_LEVEL_ERROR, "Не удалось установить фото для товара ($productId). Сообщение: {$response->getMessage()}");
}

$responseObject = $response->getObject();
$id = $responseObject['id'];

$modifications = array(
    array(
        'price'   => '1860.0',
        'article' => 'BL802-32A',
        'weight'  => '150',
        'image' => $id,
        'options' => array(
            'size' => '32A'
        )
    ),
);

$rid = 152;

$modifications = $modx->call('msopModification', 'saveProductModification', array(&$modx, $rid, $modifications));
Denis Bushaev
11 ноября 2020, 09:58
0
Самый простой в вашем случае вариант — это физически перенести все данные на новый хостинг. Потом установить плагин обновления modx, обновить modx и все плагины по очереди.
Denis Bushaev
11 ноября 2020, 09:57
0
Еще предвещая вопросы. Ошибок нету. Дебаг включал и выключал. Не знаю что еще и пробовать.
Denis Bushaev
11 ноября 2020, 02:02
0
На всякий случай прикрепляю наполнение. Как писал выше. Кроме pagetitle, parent, alias, uri и нескольких tv`шек наполнение одинаковое 100%. Проверил несколько раз.
array(44) {
  ["id"]=>
  int(162)
  ["type"]=>
  string(8) "document"
  ["contentType"]=>
  string(9) "text/html"
  ["pagetitle"]=>
  string(26) "Теплоизоляция"
  ["longtitle"]=>
  string(0) ""
  ["description"]=>
  string(0) ""
  ["alias"]=>
  string(16) "teploizolyacziya"
  ["alias_visible"]=>
  bool(true)
  ["link_attributes"]=>
  string(0) ""
  ["published"]=>
  bool(true)
  ["pub_date"]=>
  int(0)
  ["unpub_date"]=>
  int(0)
  ["parent"]=>
  int(3)
  ["isfolder"]=>
  bool(true)
  ["introtext"]=>
  string(0) ""
  ["content"]=>
  string(0) ""
  ["richtext"]=>
  bool(true)
  ["template"]=>
  int(3)
  ["menuindex"]=>
  int(0)
  ["searchable"]=>
  bool(true)
  ["cacheable"]=>
  bool(true)
  ["createdby"]=>
  int(1)
  ["createdon"]=>
  string(19) "2020-11-03 22:50:13"
  ["editedby"]=>
  int(1)
  ["editedon"]=>
  string(19) "2020-11-05 21:05:19"
  ["deleted"]=>
  bool(false)
  ["deletedon"]=>
  int(0)
  ["deletedby"]=>
  int(0)
  ["publishedon"]=>
  int(0)
  ["publishedby"]=>
  int(0)
  ["menutitle"]=>
  string(0) ""
  ["donthit"]=>
  bool(false)
  ["privateweb"]=>
  bool(false)
  ["privatemgr"]=>
  bool(false)
  ["content_dispo"]=>
  int(0)
  ["hidemenu"]=>
  bool(false)
  ["class_key"]=>
  string(10) "msCategory"
  ["context_key"]=>
  string(3) "web"
  ["content_type"]=>
  int(1)
  ["uri"]=>
  string(25) "katalog/teploizolyacziya/"
  ["uri_override"]=>
  int(0)
  ["hide_children_in_tree"]=>
  int(0)
  ["show_in_tree"]=>
  int(1)
  ["properties"]=>
  NULL
}
Denis Bushaev
16 января 2020, 15:43
0
Жаль, ладно. Спасибо за уделенное время.
Denis Bushaev
16 января 2020, 15:39
0
Так этот код в сниппете.
Но я всё равно попробовал. Не работает(
Denis Bushaev
16 января 2020, 15:26
0
А почему тогда не срабатывает «костыль» такого плана?
$obj->content = $pdoTools->getChunk('@INLINE {$c}', ['c' => $obj->content]);
Denis Bushaev
16 января 2020, 15:16
0
В ресурсе стоит content допустим:
{13 | url}
В чанке просто выводится
<div>{$content}</div>
Denis Bushaev
16 января 2020, 15:14
0
Да не, это как пример было. есс-но там стоит обычная цифра
Denis Bushaev
16 января 2020, 15:08
0
Пичально, что никто так и не помог.
Обновил modx до 2.7.2 — та же фигня.
Еще заметил такую же шнягу в pdoSitemap. Тут всё еще проще. Просто вызов pdoSitemap и на тех же ресурсах тэг
<loc>
с нераспаршенным тегом
{`id` | url}.
Осмелюсь попросить помощи @Василий Наумкин
Denis Bushaev
16 января 2020, 09:29
+1
А, так всё просто. Вы запутались в переменных.
у вас $row переназначается во вложенном цикле. Просто переименуйте {foreach $rows1 as $row1} например
Denis Bushaev
16 января 2020, 09:14
+1
Покажите, что выводится при
{$_modx->resource.testTV | print_r : 1}