Илья

Илья

С нами с 09 декабря 2013; Место в рейтинге пользователей: #242
Илья
08 апреля 2024, 14:35
0
Я использую YandexMaps для вывода ресурсов на карте. Вывести изображение ресурса в балун просто в плейсхолдер типа {$medium} не возможно.
modx.pro/help/9334
Илья
08 апреля 2024, 10:51
0
Вот если бы кто подружил ms2Gallery и Яндекс.Карты чтобы в балун фотографии поддягивать.
Илья
18 июля 2022, 09:51
0
Здравствуйте!
У меня сейчас точно такая же проблема.
«Вечное сохранение» на товарах Minishop2. На обычных ресурсах всё нормально.
Не вспомните, как решили проблему?
7лет прошло уже правда )))
Илья
07 июля 2022, 10:43
0
Попробуйте так:
{if $available | in : [1]}В наличии{/if}
Илья
29 июня 2022, 17:26
0
Здравствуйте!
Подскажите, у меня вот такая конструкция:
'where' => '{"portfolio_name:LIKE":"%[[*menutitle]]%","video.value:!=":1 }'
Я вывожу видео из портфолио в товарах проверяя совпадения по названию товара. Но как и ожидалось, выводятся видео с похожими названиями. К примеру: — Калуга||Луга
Пытаюсь вывести по вашему примеру:
'where' => ["1 = 1 AND FIND_IN_SET('[[*portfolio_name]]', replace(menutitle, '||', ','))"]
Но не пойму, как сделать ещё одни запрос «video.value:!=»:1

Извините, я не спец…
Спасибо!
Илья
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

Я проверил все свои сайты. На одном нашёл несколько файлов, которые удалил.
Надеюсь, кому-то будет полезно.