Илья

Илья

С нами с 09 декабря 2013; Место в рейтинге пользователей: #226
Илья
13 января 2022, 11:50
0
Здравствуйте! Не могли бы вы показать ваш вызов сниппета полностью? Сейчас бьюсь с этой же задачей, не могу добиться вывода ресурсов с множественным выводом.
Спасибо!
Илья
09 января 2022, 12:12
0
Присоединил includeTVs — не помогло.
Не работает именно эта связка:
{"portfolio_article:LIKE":"%[[*article]]%"}
Вот такие логи:
0.0000379: Loaded model "ms2gallery" from "/core/components/ms2gallery/model/"
0.0000231: pdoTools loaded
0.0000088: xPDO query object created
0.0002460: Included list of tvs: portfolio, portfolio_article
0.0000570: leftJoined msResourceFile as medium
0.0000350: leftJoined modTemplateVarResource as TVportfolio
0.0000319: leftJoined modTemplateVarResource as TVportfolio_article
0.0000560: Added selection of modResource: `id`, `type`, `contentType`, `pagetitle`, `longtitle`, `description`, `alias`, `alias_visible`, `link_attributes`, `published`, `pub_date`, `unpub_date`, `parent`, `isfolder`, `introtext`, `richtext`, `template`, `menuindex`, `searchable`, `cacheable`, `createdby`, `createdon`, `editedby`, `editedon`, `deleted`, `deletedon`, `deletedby`, `publishedon`, `publishedby`, `menutitle`, `donthit`, `privateweb`, `privatemgr`, `content_dispo`, `hidemenu`, `class_key`, `context_key`, `content_type`, `uri`, `uri_override`, `hide_children_in_tree`, `show_in_tree`, `properties`
0.0000062: Added selection of msResourceFile: `url` as `medium`,`name` as `medium.name`,`description` as `medium.description`,`createdon` as `medium.createdon`,`createdby` as `medium.createdby`,`properties` as `medium.properties`,`alt` as `medium.alt`,`add` as `medium.add`
0.0000019: Added selection of modTemplateVarResource: IFNULL(`value`, '') AS `tv.portfolio`
0.0000021: Added selection of modTemplateVarResource: IFNULL(`value`, '') AS `tv.portfolio_article`
0.0000300: Replaced TV conditions
0.0003381: Processed additional conditions
0.0004299: Added where condition: `TVportfolio_article`.`value`:LIKE=%КПП-02 Люкс%, modResource.parent:IN(19,134,144,154,155,156,157,158,159,160,161,162,163,179,180,181,182,183,184,185,186,187,189,190,191,192,193,194,195,196,197,208,219,220,221,222,223,224,225,260,261,262,264,265), modResource.published=1, modResource.deleted=0
0.0000021: Replaced TV conditions
0.0000219: Sorted by modResource.publishedon, DESC
0.0000012: Limited to 2, offset 0
0.0001178: SQL prepared "SELECT `modResource`.`id`, `modResource`.`type`, `modResource`.`contentType`, `modResource`.`pagetitle`, `modResource`.`longtitle`, `modResource`.`description`, `modResource`.`alias`, `modResource`.`alias_visible`, `modResource`.`link_attributes`, `modResource`.`published`, `modResource`.`pub_date`, `modResource`.`unpub_date`, `modResource`.`parent`, `modResource`.`isfolder`, `modResource`.`introtext`, `modResource`.`richtext`, `modResource`.`template`, `modResource`.`menuindex`, `modResource`.`searchable`, `modResource`.`cacheable`, `modResource`.`createdby`, `modResource`.`createdon`, `modResource`.`editedby`, `modResource`.`editedon`, `modResource`.`deleted`, `modResource`.`deletedon`, `modResource`.`deletedby`, `modResource`.`publishedon`, `modResource`.`publishedby`, `modResource`.`menutitle`, `modResource`.`donthit`, `modResource`.`privateweb`, `modResource`.`privatemgr`, `modResource`.`content_dispo`, `modResource`.`hidemenu`, `modResource`.`class_key`, `modResource`.`context_key`, `modResource`.`content_type`, `modResource`.`uri`, `modResource`.`uri_override`, `modResource`.`hide_children_in_tree`, `modResource`.`show_in_tree`, `modResource`.`properties`, `medium`.`url` as `medium`, `medium`.`name` as `medium.name`, `medium`.`description` as `medium.description`, `medium`.`createdon` as `medium.createdon`, `medium`.`createdby` as `medium.createdby`, `medium`.`properties` as `medium.properties`, `medium`.`alt` as `medium.alt`, `medium`.`add` as `medium.add`, IFNULL(`TVportfolio`.`value`, '') AS `tv.portfolio`, IFNULL(`TVportfolio_article`.`value`, '') AS `tv.portfolio_article` FROM `kfsz8k4f2Ra7_site_content` AS `modResource` LEFT JOIN `kfsz8k4f2Ra7_ms2_resource_files` `medium` ON `medium`.`resource_id` = `modResource`.`id` AND `medium`.`parent` != 0 AND `medium`.`path` LIKE '%/medium/%' AND `medium`.`active` = 1 AND `medium`.`rank` = 0 LEFT JOIN `kfsz8k4f2Ra7_site_tmplvar_contentvalues` `TVportfolio` ON `TVportfolio`.`contentid` = `modResource`.`id` AND `TVportfolio`.`tmplvarid` = 12 LEFT JOIN `kfsz8k4f2Ra7_site_tmplvar_contentvalues` `TVportfolio_article` ON `TVportfolio_article`.`contentid` = `modResource`.`id` AND `TVportfolio_article`.`tmplvarid` = 18 WHERE  ( `TVportfolio_article`.`value` LIKE '%КПП-02 Люкс%' AND `modResource`.`parent` IN (19,134,144,154,155,156,157,158,159,160,161,162,163,179,180,181,182,183,184,185,186,187,189,190,191,192,193,194,195,196,197,208,219,220,221,222,223,224,225,260,261,262,264,265) AND `modResource`.`published` = 1 AND `modResource`.`deleted` = 0 )  ORDER BY modResource.publishedon DESC LIMIT 2 "
0.0007870: SQL executed
0.0000038: Rows fetched
0.0000069: Prepared and processed TVs
0.0000010: Returning processed chunks
0.0019190: Total time
4 194 304: Memory usage
Илья
01 апреля 2021, 10:08
0
Сейчас провёл эксперимент правки ID ресурса вручную. На ресурсе 8 фотографий, и у каждой фотографии 3 размера в трёх папках.
Провозился 15 минут, но всё работает нормально
Илья
14 июля 2020, 13:15
1
0
Сделал так:
{'!pdoNeighbors' | snippet : [
    'class' => 'modResource',
        'loadModels' => 'ms2gallery',
        'leftJoin' => [
            'Image' => [
                'class' => 'msResourceFile',
                'on' => 'modResource.id = Image.resource_id AND Image.parent = 0 AND Image.rank = 0',
            ],
            'Thumb' => [
                'class' => 'msResourceFile',
                'on' => 'Image.id = Thumb.parent AND Thumb.path LIKE "%small%"',
            ]
        ],
        'select' => [
            'modResource' => '*',
            'Thumb' => 'Thumb.url as small',
        ],
    'tplWrapper' => '@INLINE {$prev}{$next}',
    'tplPrev' => '@INLINE <a href="/{$uri}"><img src="{$small}">туда</a>',
    'tplNext' => '@INLINE <a href="/{$uri}"><img src="{$small}">сюда</a>',
]}
В результате выводится первая миниатюра {$small} в pdoNeighbors
Может кому-то будет полезно.

Не дадим modxУ погибнуть!!!
Илья
17 июня 2020, 18:18
0
Апну свой вопрос с выводом ошибки
Мне нужно вывести первую картинку {$small} из галереи ms2gallery в предыдущие и следующие документы
Вывожу вот так:
{'!pdoNeighbors' | snippet : [
    'loadModels' => 'ms2gallery',
    'class' => 'msResourceFile',
    'sortdir' => 'ASC',
    'where' => '{"parent":0,"resource_id":'~ $id ~',"active":1,"rank:IN":[ 1 ]}',
    'leftJoin' => '{
                        		"Resource": {
                           			"class": "modResource",
                           			"on": "msResourceFile.resource_id = Resource.id"
                          		},
                       			"small":{
                        			"class":"msResourceFile", 
                        			"alias":"small", 
                    				"on":"small.parent=msResourceFile.id AND small.path LIKE \'%/small/\'"
                       			}
        }',
    'select'		=> '{
                       		"msResourceFile":"*",
                       		"small":"small.url as small"
         }',
    'tplWrapper' => '@INLINE {$prev}{$next}',
    'tplPrev' => '@INLINE <a href="/{$uri}"><img src="{$small}">туда</a>',
    'tplNext' => '@INLINE <a href="/{$uri}"><img src="{$small}">сюда</a>',
    'showLog'      	=> '1'
]}
А вот showLog (ругается на синтаксис):
0.0000372: Loaded model "ms2gallery" from "/core/components/ms2gallery/model/"
0.0000250: pdoTools loaded
0.0011430: Found ids of neighbors: ,6
0.0000188: Conditions prepared
0.0000060: Query parameters ready
0.0000298: Loaded model "ms2gallery" from "/core/components/ms2gallery/model/"
0.0000122: xPDO query object created
0.0000470: leftJoined modResource as Resource
0.0000401: leftJoined msResourceFile as small
0.0000920: Added selection of modResource: `id`, `type`, `contentType`, `pagetitle`, `longtitle`, `description`, `alias`, `alias_visible`, `link_attributes`, `published`, `pub_date`, `unpub_date`, `parent`, `isfolder`, `introtext`, `content`, `richtext`, `template`, `menuindex`, `searchable`, `cacheable`, `createdby`, `createdon`, `editedby`, `editedon`, `deleted`, `deletedon`, `deletedby`, `publishedon`, `publishedby`, `menutitle`, `donthit`, `privateweb`, `privatemgr`, `content_dispo`, `hidemenu`, `class_key`, `context_key`, `content_type`, `uri`, `uri_override`, `hide_children_in_tree`, `show_in_tree`, `properties`
0.0000319: Added selection of msResourceFile: `id`, `resource_id`, `source`, `parent`, `name`, `alt`, `description`, `add`, `path`, `file`, `type`, `createdon`, `createdby`, `rank`, `url`, `properties`, `hash`, `active`
0.0000041: Added selection of msResourceFile: small.url as small
0.0000460: Added where condition: 0=, 1=6
0.0000179: Sorted by menuindex, ASC
0.0001101: SQL prepared "SELECT `modResource`.`id`, `modResource`.`type`, `modResource`.`contentType`, `modResource`.`pagetitle`, `modResource`.`longtitle`, `modResource`.`description`, `modResource`.`alias`, `modResource`.`alias_visible`, `modResource`.`link_attributes`, `modResource`.`published`, `modResource`.`pub_date`, `modResource`.`unpub_date`, `modResource`.`parent`, `modResource`.`isfolder`, `modResource`.`introtext`, `modResource`.`content`, `modResource`.`richtext`, `modResource`.`template`, `modResource`.`menuindex`, `modResource`.`searchable`, `modResource`.`cacheable`, `modResource`.`createdby`, `modResource`.`createdon`, `modResource`.`editedby`, `modResource`.`editedon`, `modResource`.`deleted`, `modResource`.`deletedon`, `modResource`.`deletedby`, `modResource`.`publishedon`, `modResource`.`publishedby`, `modResource`.`menutitle`, `modResource`.`donthit`, `modResource`.`privateweb`, `modResource`.`privatemgr`, `modResource`.`content_dispo`, `modResource`.`hidemenu`, `modResource`.`class_key`, `modResource`.`context_key`, `modResource`.`content_type`, `modResource`.`uri`, `modResource`.`uri_override`, `modResource`.`hide_children_in_tree`, `modResource`.`show_in_tree`, `modResource`.`properties`, `msResourceFile`.`id`, `msResourceFile`.`resource_id`, `msResourceFile`.`source`, `msResourceFile`.`parent`, `msResourceFile`.`name`, `msResourceFile`.`alt`, `msResourceFile`.`description`, `msResourceFile`.`add`, `msResourceFile`.`path`, `msResourceFile`.`file`, `msResourceFile`.`type`, `msResourceFile`.`createdon`, `msResourceFile`.`createdby`, `msResourceFile`.`rank`, `msResourceFile`.`url`, `msResourceFile`.`properties`, `msResourceFile`.`hash`, `msResourceFile`.`active`, small.url as small FROM `n3zho3y9lB8A_ms2_resource_files` AS `msResourceFile` LEFT JOIN `n3zho3y9lB8A_site_content` `Resource` ON msResourceFile.resource_id = Resource.id LEFT JOIN `n3zho3y9lB8A_ms2_resource_files` `small` ON small.parent=msResourceFile.id AND small.path LIKE '%/small/' WHERE `modResource`.`id` IN (,6) ORDER BY menuindex ASC "
0.0002079: Could not process query, error #1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '6) ORDER BY menuindex ASC' at line 1
0.0001562: Chunks processed
0.0021551: Total time
2 097 152: Memory usage
Не могу расшифровать ошибку:
Could not process query, error #1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '6) ORDER BY menuindex ASC' at line 1
Илья
08 июня 2020, 10:30
0
Други! Помогите!
В доках к pdoNeighbors есть пример, и тоже с miniShop2:
{'!pdoNeighbors' | snippet : [
    'snippet' => 'msProducts',
    'sortby' => 'publishedon',
    'sortdir' => 'ASC',
    'leftJoin' => '{ "thumbs": { "class":"msProductData","alias":"thumbs", "on": "thumbs.id = modResource.id" }}',
    'select' => '{ "thumbs":"thumbs.thumb as small" }',
    'tplWrapper' => '@INLINE {$prev}',
    'tplPrev' => '@FILE chunks/product/item_prev.tpl',
]}
Сам не могу разобраться. перепробовал всё!
Илья
10 февраля 2020, 16:22
0
Спасибо!
Подскажите, как в этом способе принудительно присвоить скачиваемому файлу расширение .pdf и нужное имя.
Дело в том, что в итоге скачивается файл с именем «1» и без расширения, причём в некоторых браузерах расширение есть, и скачивается файл 1.pdf
Илья
10 февраля 2020, 15:43
0
Сделал пока так:
$(document).on('af_complete', function(event, response) {
// закрываем модальное окно после успешной отправки
    if (response.success) {
        $('#exampleModalCatalog').modal('hide');
    }
// открываем файл в отдельной вкладке после успешной отправки формы
    if (response.success) {
        $('#exampleModalCatalog');
        window.open('../файл.pdf', '_blank');
    }
});
Но мне кажется, это не очень правильный вариант.
Буду искать как начать загрузку файла, а не открытие его в новой вкладке
Илья
28 января 2020, 16:32
0
Сам разобрался, извиняюсь
<a href="{$_modx->resource.id | url}">Подробнее</a>
Илья
17 января 2019, 09:46
0
А я пользуюсь документацией docs.modx.pro/komponentyi/minishop2/drugie-dopolneniya/msoneclick
Всегда думал что она наиболее актуальна.
Илья
16 января 2019, 14:48
0
Вообще, у кого-нибудь работает метод MAIL?
Илья
14 января 2019, 11:51
0
Да, бесплатный от modhost — Lets Encrypt
Илья
14 января 2019, 11:43
0
Ругается касперский и блокирует работу компонента:
Илья
16 декабря 2018, 23:42
0
Здравствуйте!
Подскажите, мне необходимо вывести изображение: вместо [[+product.thumb]] нужно [[+small]]
Перепробовал всё, не смог вывести.
Как это сделать?
Илья
07 августа 2018, 14:35
4
+5
В общем пишу инструкцию для «чайников» (таких как я, и как делал я):
1. Скачиваем PuTTY для SSH (putty.exe)
2. Запускаем putty.exe и подключаемся введя данные SSH из панели управления сайтом.

Пароль пишите руками или вставляйте нажатием правой кнопки мыши. Пароль не будет виден, нажимайте enter и подключение пойдет дальше.
3. После того как Вы подключились вводим команду скачать и распаковать архив ай-болита (она указана выше):
wget https://revisium.com/ai/index.php?q=715147663154063253513112476309509 -O ~/aibolit.zip
unzip ~/aibolit.zip -d ~/aibolit
php ~/aibolit/ai-bolit/ai-bolit.php -p ~/ --mode=1 -o ~/report.json --no-html --delay=5 --all
Не забудьте обновить ссылку на айболит, которую можно взять здесь: revisium.com/ai/
Нажимаем enter и получаем вот это:

4. Ещё раз нажимаем enter, ждем 2-3 секунды и пошла проверка, которая может продлится несколько минут.
5. После окончания проверки, когда вы увидите результат в 100%, вводим команду
cat ~/report.json
и нажимаем enter.
6. На экране появится отчёт, который копируем от одной до другой узоной скобки (включительно).

7. После чего вставляем его сюда bezumkin.ru/utils/json
Получаем расшифровку отчёта, в котором перечислены файлы.

8. Ищем подозрительные файлы, с незнакомым названием. Если файл вам незнаком, проверяем его наличие в чистом modx revo, сравнивая его с github.com/modxcms/revolution

Я проверил все свои сайты. На одном нашёл несколько файлов, которые удалил.
Надеюсь, кому-то будет полезно.
Илья
07 августа 2018, 09:52
0
Скажите, есть ли более подробная инструкция для проверки сайтов на MODX AI-Bolit(ом), так сказать — «для чайников», по пунктам.
Илья
13 июля 2018, 13:08
0
У меня тоже самое.
Это не связано с блокировкой Телеграм?
Илья
18 мая 2018, 14:49
0
И этот вариант корректно работает.
Илья
18 мая 2018, 11:40
0
Такой вариант всё правильно выводит.
Илья
18 мая 2018, 10:45
0
Попробовал стандартный шаблонизатор:
[[*id:is=`1`:or:is=`2`:or:is=`3`:or:is=`4`:or:is=`5`:or:is=`6`:or:is=`7`:or:is=`8`:or:is=`9`:or:is=`10`:or:is=`11`:or:is=`12`:or:is=`13`:or:is=`14`:or:is=`15`:or:is=`16`:or:is=`17`:or:is=`18`:or:is=`19`:or:is=`20`:or:is=`21`:or:is=`22`:or:is=`23`:then=`Здесь сниппет`:else=``]]
Работает правильно, глюков нет!