Лёша

Лёша

С нами с 09 марта 2022; Место в рейтинге пользователей: #130
Лёша
15 мая 2022, 07:02
0
Убрал в плагине
include $corePath . 'pdotools/pdotoolsadapter.php';
, заработало
Лёша
01 мая 2022, 10:51
+1
Пробовал, не работает. Сделал через leftJoin и where.
Лёша
28 апреля 2022, 19:53
0
Нет, не расширял. Обновил вчера из репозитория. Компонентов никаких нет.
Лёша
28 апреля 2022, 10:33
0
Обновление не помогло, зато нашёл причину: это из-за того что поставил db в ms2_tmp_storage. С session всё работает.
Лёша
05 апреля 2022, 06:06
0
Идеально — сравнение скорости работы (время рендера на одинаковом хостинге)
Не заметил прироста скорости рендеринга по сравнению с сайтами на fenom с аналогичным функционалом на одном хостинге. Вот кол-во обращений к базе — есть разница, в ZoomX стремится к нулю при повторной загрузке страницы.
Лёша
04 апреля 2022, 19:04
+1
Думаю тоже статьи про ZoomX писать, как считаете, какие темы лучше осветить? Чтоб с вашими не дублировались
Лёша
26 марта 2022, 20:29
0
Вот так создаются за 0,002 с

function create(string $table, array $data) {
    global $modx;
    
    $keys = [];
    $values = [];
    foreach ($data as $key => $value) {
        $keys[] = "`$key`";
        $values[] = is_int($value) ? $value : "'$value'";
    }
    $keys = implode(', ', $keys);
    $values = implode(', ', $values);
    
    $table = $modx->getOption(xPDO::OPT_TABLE_PREFIX) . $table;
    $sql = "INSERT INTO {$table} ({$keys}) VALUES ({$values});";
    $stmt = $modx->prepare($sql);
    $stmt->execute();
    return $modx->lastInsertId();
}

$id = create('site_content', [
    'pagetitle' => 'test товар 3',
    'parent' => 1,
    'class_key' => 'msProduct',
]);

$id = create('ms2_products', [
    'id' => $id,
    'article' => 'test 1',
    'price' => '50.9',
]);
Лёша
21 марта 2022, 23:40
0
Интересно, а почему именно MODX выбрали?
Лёша
21 марта 2022, 22:05
0
msProd (опции по умолчанию цепляет)
А можно как-то выбрать, какие цеплять? На случай, если опций много будет.
В документации нашёл только:
msProducts автоматически подключает и выводи все опции товара в плейсхолдеры вида [[+ключ_опции]].
Лёша
21 марта 2022, 15:40
0
Подскажите, а у опций товара в miniShop2 есть какие-то преимущества перед TV в плане скорости?
Лёша
19 марта 2022, 21:59
0
Обычно делаю кнопку «показать ещё» вместе с обычной пагинацией, чтоб такой проблемы не возникало. На DNS так сделано.
Лёша
18 марта 2022, 23:49
0
Проверил также вариант со статическим элементом — всё работает корректно, никаких двойных вызовов!
Перепроверил сейчас, если в шаблоне сниппет вызвать, то вызывается один раз. А если в .tpl файле, то несколько.
Лёша
18 марта 2022, 17:56
0
В ZoomX своя система компиляции и кэширования шаблонов, если в настройках компонента всё разрешено кэшировать, то да кэширование работает
Прописал в шаблоне (обычном):
{nocache}
    {time()}
{/nocache}

{time()}
При обновлении страницы выводится одно и то же значение.
Прописал {include 'base.tpl'} в шаблоне и код выше в файл. То же самое.
Вернул как было (как написано в заметке), меняется только значение в nocache.
То есть кэширование в обычных шаблонах не работает. Может у меня с настройками что-то, конечно. Но настройки ZoomX, связанные с кэшированием, не менял.
file.modx.pro/files/0/1/f/01f4ccc10fc2ff6c16456ef4666549b5.png
Лёша
17 марта 2022, 12:10
0
Ну и ещё плюс такого решения — при изменении файла шаблона через IDE не нужно очищать кэш, изменения появляются сразу после перезагрузки страницы.
Лёша
17 марта 2022, 09:59
0
А кэширование работает? У меня сейчас [^q^] при повторной загрузки страницы 2, с обычными шаблонами где-то 40 было.
Лёша
16 марта 2022, 21:06
0
Ну вот у меня что-то не работает) И ошибок нет никаких.
Лёша
16 марта 2022, 12:39
0
В методе prepareFileMediaSourcePath добавил:
$path = str_replace([$source->getBasePath(), MODX_CORE_PATH], '', $file);
Видимо некорректно работает, когда ядро вынесено за public_html.

Кстати, для чего подключается столько css и js файлов? Там же вроде просто кнопка добавляется.
Лёша
16 марта 2022, 04:08
0
У источника файлов:
basePath: ../core/, basePathRelative: да
Может из-за этого.