Антон Тарасов

Антон Тарасов

С нами с 25 июля 2014; Место в рейтинге пользователей: #67

MODX. Локализация и переводы



У меня предубеждение к людям, которые оставляют иностранные фразы без перевода. Мне, читателю, в этом случае делают комплимент, считая, что я и сам могу перевести. Но если бы они давали перевод, я бы прожил как-нибудь и без комплиментов.

М.Твен

Привет всем!

Решил изучить, как обстоят дела с локализацией базовых MODX словарей под разные языки.

Всего представлен 29 языков + исходный английский, из них полностью система локализована для трех (русский, шведский, немецкий, выделены на фото зеленым), высокой степени готовности (взял условно от 70%, в желтых квадратах) — еще 13, с остальными совсем беда.

Антон Тарасов
02 марта 2021, 12:47
modx.pro
795
+5

msPromoCode, date.strftime is not a function

После обновлений пакетов перестал отображаться список промокодов в компоненте msPromoCode.
Ошибка в консоли:

ms2.utils.js:9 Uncaught TypeError: date.strftime is not a function
    at constructor.miniShop2.utils.formatDate [as renderer] (ms2.utils.js:9)
.....
Установлены modx 2.8.1, minishop2 2.7.0, msPromoCode 1.4.4-pl

Судя по всему это отголоски следующей проблемы:

modx.pro/help/11562
github.com/bezumkin/Tickets/pull/169
github.com/Ibochkarev/miniShop2/issues/474
github.com/Ibochkarev/miniShop2/commit/f3b36a308d76b979982cc9fdc47fb420fb035bb4

Возможное решение — обновить файл core/components/mspromocode/controllers/home.class.php следующей строкой в конце тела функции loadCustomCssJs():

$this->addLastJavascript($this->miniShop2->config['jsUrl'] . 'mgr/misc/strftime-min-1.3.js');
@Павел Гвоздь вам на заметку.
Антон Тарасов
05 января 2021, 16:12
modx.pro
1 032
+4

user_5ec29bcdc3953@domain.ru вместо почты пользователя в заказе

Добрый день!

Стало случаться изредка следующее — у клиента несколько раз на день вместо реальных данных пользователя (email, телефон, ФИО) в заказе через minishop падает только email вида user_5ec29bcdc3953@domain.ru, где domain.ru — домен магазина… и больше ничего, остальное пропадает.

1) Подозреваю, что такой вид email'а может генерироваться по дефолту, ищу, где посмотреть.
2) почему пропадают другие данные.

Самому смоделировать пока не получается, на любые мои входные данные формируется корректный заказ((
Буду логировать, искать…

Любому указующему персту премного благодарен.
Антон Тарасов
18 мая 2020, 18:00
modx.pro
517
0

MODX, PHP и сборка мусора в сессиях

Вольный перевод свежей статьи от Марка Хамстры.

Когда вы в последний раз проверяли размер таблицы modx_session? Не измерялся ли он в гигабайтах? Если это так, вы не одиноки.

Чтобы понять проблему нужно немного предыстории.

Антон Тарасов
03 марта 2020, 17:28
modx.pro
3
2 993
+8

Проверка наличия товара перед формированием заказа, когда он уже в корзине

Добрый день!

Клиент жалуется, что в заказ попадают товары, которые стали неопубликованными(скажем, вчера товар снялся с публикации, а сегодня они его видят в утреннем заказе, хотя карточка товара недоступна). В анамнезе известно, что время жизни товаров в корзине увеличено относительно дефолтного. Все остальное базовое.
Получается, корзина не проверяет, опубликован ли все еще товар или нет? Или почему так происходит?
Подскажите, куда копать/смотреть? Если нужен кастомный класс — легко, только дайте намёк) Если же можно как-то иначе обыграть — скажем, «этот товар закончился» — тоже буду рад подключить/реализовать.

Спасибо.
Антон Тарасов
04 декабря 2019, 10:14
modx.pro
1
1 322
+1

[Решено]: pdoResources &where сортировка по дате

Уж сколько копий изломано по этому параметру(а прежде и по &tvFilters), вот очередная похожая проблема,
все что мог выискал, вычитал, в ядро дальше копать? Подскажите, чего я не вижу.

Есть события, у каждого в двух TV — время начала и окончания события. Как известно, они хранятся не в timestamp. Нужно выводить только те, у которых дата завершения еще не наступила.

В тестируемом контейнере событий всего 10, и только одно еще не завершилось.Сниппет currentDate возвращает просто метку времени через time().

Вызов сниппета:
{'!pdoResources' | snippet : [
	'select' => '{"modResource":"id,pagetitle"}',
	'tpl' => 'marketEventTpl',
	'level' => '1',
	'limit' => '100',
	'tvPrefix' => '',
	'includeTVs' => 'EventStart,EventEnd',
	'templates' => '17',
	'sortby' => '{"EventStart":"ASC"}'
	'where' => 'UNIX_TIMESTAMP(EventEnd) > "[[!currentDate]]"'
	'showLog' => '1'
]}
Лог результата:
0.0000610: pdoTools loaded
0.0000160: xPDO query object created
0.0004399: Included list of tvs: EventEnd, EventStart
0.0001340: leftJoined modTemplateVarResource as TVeventend
0.0001180: leftJoined modTemplateVarResource as TVeventstart
0.0000529: Added selection of modResource: `id`, `pagetitle`
0.0000050: Added selection of modTemplateVarResource: IFNULL(`value`, '') AS `EventEnd`
0.0000041: Added selection of modTemplateVarResource: IFNULL(`value`, '') AS `EventStart`
0.0000520: Replaced TV conditions
0.0003431: Processed additional conditions
0.0005569: Added where condition: 0=UNIX_TIMESTAMP(`TVeventend`.`value`) > "1574334058", modResource.parent:IN(8,29,286,310,311,312,292,313,314,315,293,308,309), modResource.template:IN(17), modResource.published=1, modResource.deleted=0
0.0000060: Replaced TV conditions
0.0001009: Sorted by CAST(`TVeventstart`.`value` AS DATETIME), ASC
0.0000021: Limited to 100, offset 0
0.0001509: SQL prepared "SELECT `modResource`.`id`, `modResource`.`pagetitle`, IFNULL(`TVeventend`.`value`, '') AS `EventEnd`, IFNULL(`TVeventstart`.`value`, '') AS `EventStart` FROM `modx_site_content` AS `modResource` LEFT JOIN `modx_site_tmplvar_contentvalues` `TVeventend` ON `TVeventend`.`contentid` = `modResource`.`id` AND `TVeventend`.`tmplvarid` = 149 LEFT JOIN `modx_site_tmplvar_contentvalues` `TVeventstart` ON `TVeventstart`.`contentid` = `modResource`.`id` AND `TVeventstart`.`tmplvarid` = 148 WHERE  ( UNIX_TIMESTAMP(`TVeventend`.`value`) > "1574334058" AND `modResource`.`parent` IN (8,29,286,310,311,312,292,313,314,315,293,308,309) AND `modResource`.`template` IN (17) AND `modResource`.`published` = 1 AND `modResource`.`deleted` = 0 )  ORDER BY CAST(`TVeventstart`.`value` AS DATETIME) ASC LIMIT 100 "
0.0012290: SQL executed
0.0000150: Rows fetched
0.0012670: Prepared and processed TVs
0.0005660: Loaded "modChunk" with name "marketEventTpl"
0.0079620: Compiled Fenom chunk with name "modchunk/8"
0.0120490: Returning processed chunks
0.0162890: Total time
8 388 608: Memory usage
Выводит все 10. Удивительно то, что если скормить формируемый SQL запрос напрямую в базу, получаем желаемый один результат!
Антон Тарасов
21 ноября 2019, 14:08
modx.pro
1
1 121
0

Не устанавливается / обновляется pdoTools из репозитория modx.com

Проверил на трех разных сайтах (в т.ч. modhost) с разными версиями MODX, везде ситуация одинаковая.
Could not download and create transport package with signature: pdotools-2.12.3-pl



[2019-03-27 12:55:15] (ERROR @ /****/www/core/model/modx/transport/modtransportprovider.class.php: 337) Could not get download url for package pdotools-2.12.3-pl using location modx.com/extras/download/?id=5c9a350dbc8dd3444a8b4568

Вчера было обновление, возможно что-то сломалось?!

@Василий Наумкин взгляни при случае пожалуйста.

P.S. с modstore провайдером проблем нет, пакет скачался.
Антон Тарасов
27 марта 2019, 21:17
modx.pro
950
0

Сортировка товаров в категории minishop в бекенде

Хочу переопределить поле и порядок сортировки для товаров в категории minishop, подскажите пожалуйста, как это сделать?
Через кастомный класс? Плагин? Куда хоть копать… ничего не нагугливается (все больше про фронтенд), документация молчит. Спасибо.
Антон Тарасов
02 марта 2019, 12:22
modx.pro
1 009
0

После обновления до 2.7.1 перестал работать поиск в админке

Всем привет!

Обновил сайт до 2.7.1, а также ряд пакетов… спустя некоторое время заметил, что не работает поиск, при клике на «лупу» получаю:

modx.searchbar.js:291 Uncaught TypeError: Cannot read property 'id' of null
at MODx.SearchBar.toggle (modx.searchbar.js:291)
at HTMLAnchorElement.onclick (?a=resource/update&id=6:185)


Пока ищу, что же именно произошло, может кто сталкивался и подскажет, куда смотреть? А то бац-бац и в продакшн надо, а тут вон какая напасть.((
Спасибо.
Антон Тарасов
25 февраля 2019, 18:40
modx.pro
848
0

Modx.pro проблема с датами в комментариях

Добрый день!
Оставил комментарий к заметке, обратил внимание, что есть проблема с датами комментариев — 30 ноября -0001, 00:00. В соседней заметке аналогично.


Антон Тарасов
20 августа 2018, 13:25
modx.pro
721
0