Вопросы

pdopage как ускорить выборку

В каталоге порядка 20тыс товаров, при выборе всего каталога, выборка занимает больше 1 секунды, в районе 1.3 сек. Возможно ли это как-то ускорить? Пробовали отключить TV, показатели 0.9 — 1.1сек.
Лимит стоит 20 товаров.
{'!pdopage' | snippet: [ 
        'element' => 'msProducts',
        'where' => '{"tvprice_old:="0}',
	        'parents' => $_modx->resource.id, 
	        'limit' => 20, 
	        'pageLimit' => 7,
	        'sortby' => '{"tvqty_msk":"DESC", "tvnal":"DESC"}',
	        'tpl' => 'tableview',
	        'tplPageWrapper' => '@INLINE {$prev}{$pages}{$next}', 
	        'tplPageActive' => '@INLINE <li class="active"><span>{$pageNo}</span></li>',  
        'tplPageNext' => '@INLINE <li><a href="{$href}" aria-label="Next"><span aria-hidden="true">»</span></a></li>',
        'tplPagePrev' => '@INLINE <li><a href="{$href}" aria-label="Previous"><span aria-hidden="true">«</span></a></li>',  
        'includeTVs' => 'price_old,image,art,sku,qty_msk,nal,categ',
        'tvPrefix' => 'tv'
]}
Роман
17 декабря 2020, 11:36
modx.pro
798
0

Языковые файлы корзины MiniShop2

Тема не раз обсуждалась, но поскольку ни разу не увидел внятного решения — рискну обратиться опять. Может кто сталкивался с подобным и знает как это решается.
Периодически слетают языковые файлы корзины MiniShop2 и вместо названий (телефон, E-mail, сообщение) появляются переменные: ms2_frontend_phone и т.д. См. скриншот.
Лечится мягкой очисткой кеша в админке. Если чистить весь кеш в папке на сервере при нормальном состоянии сайта — проблема наоборот возникает.

Futuris
17 декабря 2020, 10:26
modx.pro
1
849
0

Не могу авторизоваться в админке.

Не могу авторизоваться в админке, браузер Хром. При вводе данных просто перезагружает страницу. Все данные, куки, сессии и прочее почищены.
В режиме инкогнито — авторизовывается без проблем.

Что за проблема?
Alex
16 декабря 2020, 18:23
modx.pro
928
0

Ошибка при воводе данных в AjaxForm

Подскажите пожалуйста, если кто сталкивался.
AjaxForm выдает ошибку при вводе почтового адреса в поле E-mail (см. скриншот).

Все отлично работало, а после переноса сайта на рабочий хостинг — форма стала выдавать такую ошибку. Все перепроверили, версии PHP на обоих хостингах одинаковые. Да и хостинг один и тот же — просто на другой аккаунт перенесли.


Вижу, что не один сталкиваюсь с таким.
Futuris
16 декабря 2020, 12:11
modx.pro
1 474
0

msProducts и RAND, как оптимизировать?

{'!msProducts' | snippet: [
            'parents' => '528', 
            'tpl' => 'product-main',
            'includeTVs' => 'price_old,image,categ',
            'tvPrefix' => 'tv',
            'sortby' => 'RAND()',
Видел подобные решения, но не понимаю, как применить.
SELECT f.id FROM files f
	    JOIN ( SELECT RAND() * (SELECT MAX(id) FROM files) AS max_id ) AS m
	    WHERE f.id >= m.max_id
	    ORDER BY f.id ASC
	    LIMIT 1;
Роман
15 декабря 2020, 22:21
modx.pro
661
0

Пропали товары minishop2 в админке

Столкнулся с тем, что после работы скрипта для импорта товаров перестали отображаться товары в админке, без каких-либо ошибок. По API, через консоль и на самом сайте с ними проблем нет. Может, кто сталкивался? Подскажите, куда копать.
Альберт
15 декабря 2020, 20:47
modx.pro
1 041
0

Генерация URI с помощью плагина

Всем доброго времени суток!

Написал простой плагин для генерации URI и повесил его на события OnDocFormSave и OnDocFormPrerender, но при сохранении ресурса сгенерированный URI обновляется только после обновления страницы с редактируемым ресурсом. Как это исправить?
Никита Боднар
15 декабря 2020, 14:04
modx.pro
986
0

Не работает xPoller2 в админке, на MODX Revolution 2.7.3

Перестал работать плагин xPoller2 в админке, на MODX Revolution 2.7.3. Все предыдущие созданные опросы не показываются в админке, но если выводить по id, то на страницу сайта выводиться со всей собранной информацией по опросу. При добавлении нового вопроса долго грузится, но ничего не происходит, при этом в базу данных вопрос попадает, но вывести его не получается даже по id. Пробовал переустанавливать плагин, но не помогло. На вкладке Лексиконы при клике на кнопку Добавить запись вообще ничего не происходит.
Николай
15 декабря 2020, 10:15
modx.pro
606
0

xLike не записывает в TV поле

Привет, тут трабл. Не сохраняются лайки, подскажи в чём дело пожалуйста. Все что тут, то и делал, больше нечего. Поле называет rating, всё выводится через pdoResources и $id это ID каждого выведенного ресурса. Буду благодарен! Крутое дополнение :)
Вызов:
{'!xLike' | snippet: [
'parent' => $id,
'class' => 'modResource',
'mode' => 'db',
'list' => 'default',
'likes' => $_modx->resource['likes'],
'dislikes' => $_modx->resource['dislikes'],
'rating' => $_modx->resource['rating'],
]}
tpl.xLike:
{*@formatter:off*}
<{$can? 'a': 'span'}
class=«xlike__link {$value > 0? 'xlike__link_active': ''} [ {$can? 'js-xlike-button': ''} ]»
{$can? 'data-xlike-value=«1» href=«javascript:undefined;»': ''}
>
<svg version=«1.1» id=«Слой_1» xmlns=«www.w3.org/2000/svg» xmlns:xlink=«www.w3.org/1999/xlink» x=«0px» y=«0px»
width=«31px» height=«27px» viewBox=«0 0 31 27» enable-background=«new 0 0 31 27» xml:space=«preserve»>
/>

{$likes | number_format: 0: '': ' '}
</{$can? 'a': 'span'}>

Добавление в TV поле (Плагин: add-rating):
<?php
switch ($modx->event->name) {
case «xLikeOnVote»:
if ($class == 'modResource' && $list == 'default') {
if ($resource = $modx->getObject($class, array('id' => $parent))) {
$resource->setTVValue('rating', $rating);
$resource->save();
}
}
break;
}
Владислав
15 декабря 2020, 09:31
modx.pro
939
0

Как заменить "." на "-" в ЧПУ? [РЕШЕНО]

Как заменить "." на "-" в ЧПУ?
friendly_alias_restrict_chars_pattern не спасает, делает из site.com/fun.page -> site.com/funpage
а надо сделать так site.com/fun.page -> site.com/fun-page

РЕШЕНИЕ:

https://modx.pro/help/21231#comment-125370
Влад
14 декабря 2020, 16:37
modx.pro
1 047
0