Всего 125 991 комментарий

Александр Мельник
04 октября 2021, 08:53
1
+1
docs.modx.pro/komponentyi/msearch2/snippetyi/mfilter2#Javascript
вам необходимо отслеживать это событие и в момент его наступления заново выполнять ваш код.
Andrew
04 октября 2021, 07:32
0
хм… красиво звучит, но непонятно..) а подробнее можно, что за функцию и куда её, если не тяжело, или пример какой нибудь..)
Vladimir
04 октября 2021, 06:46
0
Кэш чистил и в админке, и на хостинге все равно выводит маленькие превьюшки
Сергій
03 октября 2021, 20:59
0
Спасибо за ответ. Но твой вариант не подходит. У меня в TV данные идут вот дак «1,2,55,5,22,222»
Подошел вот такой вариант:
&tvFilters=`user_id==%1%`
&where=`[«1 = 1 AND FIND_IN_SET('1', replace(user_id, '||', ','))»]`
Просто делаю на Modx revo полноценную CRM систему и нужно было реализовать вывод ресурсов под нужного пользователя.
Евгений Webinmd
03 октября 2021, 18:27
0
у mSearh2 есть callback на срабатывание фильтра и получение результата, сделайте функцию, которая будет вызываться после срабатывания фильтра
Дмитрий
03 октября 2021, 17:54
0
Здравствуйте, удалось найти решение? у меня тоже при использовании msProducts, но при чем только когда подключаю TV &includeTVs
0.0000739: Sorted by msProduct.menuindex, ASC
0.0000031: Limited to 60, offset 0
0.0002580: SQL prepared "SELECT SQL_CALC_FOUND_ROWS `msProduct`.`id`, `msProduct`.`type`, `msProduct`.`contentType`, `msProduct`.`pagetitle`, `msProduct`.`longtitle`, `msProduct`.`description`, `msProduct`.`alias`, `msProduct`.`alias_visible`, `msProduct`.`link_attributes`, `msProduct`.`published`, `msProduct`.`pub_date`, `msProduct`.`unpub_date`, `msProduct`.`parent`, `msProduct`.`isfolder`, `msProduct`.`introtext`, `msProduct`.`richtext`, `msProduct`.`template`, `msProduct`.`menuindex`, `msProduct`.`searchable`, `msProduct`.`cacheable`, `msProduct`.`createdby`, `msProduct`.`createdon`, `msProduct`.`editedby`, `msProduct`.`editedon`, `msProduct`.`deleted`, `msProduct`.`deletedon`, `msProduct`.`deletedby`, `msProduct`.`publishedon`, `msProduct`.`publishedby`, `msProduct`.`menutitle`, `msProduct`.`donthit`, `msProduct`.`privateweb`, `msProduct`.`privatemgr`, `msProduct`.`content_dispo`, `msProduct`.`hidemenu`, `msProduct`.`class_key`, `msProduct`.`context_key`, `msProduct`.`content_type`, `msProduct`.`uri`, `msProduct`.`uri_override`, `msProduct`.`hide_children_in_tree`, `msProduct`.`show_in_tree`, `msProduct`.`properties`, `Data`.`article`, `Data`.`price`, `Data`.`old_price`, `Data`.`weight`, `Data`.`image`, `Data`.`thumb`, `Data`.`vendor`, `Data`.`made_in`, `Data`.`new`, `Data`.`popular`, `Data`.`favorite`, `Data`.`tags`, `Data`.`color`, `Data`.`size`, `Data`.`source`, `Data`.`currency_id`, `Data`.`currency_set_id`, `Data`.`msmc_price`, `Data`.`msmc_old_price`, `Vendor`.`name` AS `vendor.name`, `Vendor`.`resource` AS `vendor.resource`, `Vendor`.`country` AS `vendor.country`, `Vendor`.`logo` AS `vendor.logo`, `Vendor`.`address` AS `vendor.address`, `Vendor`.`phone` AS `vendor.phone`, `Vendor`.`fax` AS `vendor.fax`, `Vendor`.`email` AS `vendor.email`, `Vendor`.`description` AS `vendor.description`, `Vendor`.`properties` AS `vendor.properties`, IFNULL(`TVpicture_url_product`.`value`, '') AS `picture_url_product`, IFNULL(`TVavailability_product`.`value`, '') AS `availability_product`, IFNULL(`TVispromo`.`value`, '0') AS `isPromo`, IFNULL(`TVwork_width_sel`.`value`, '') AS `work_width_sel`, IFNULL(`TVdepth_sel`.`value`, '') AS `depth_sel` FROM `modxlocal_site_content` AS `msProduct` LEFT JOIN `modxlocal_ms2_products` `Data` ON `msProduct`.`id` =  `Data`.`id` LEFT JOIN `modxlocal_ms2_vendors` `Vendor` ON Data.vendor=Vendor.id LEFT JOIN `modxlocal_site_tmplvar_contentvalues` `TVpicture_url_product` ON `TVpicture_url_product`.`contentid` = `msProduct`.`id` AND `TVpicture_url_product`.`tmplvarid` = 7 LEFT JOIN `modxlocal_site_tmplvar_contentvalues` `TVavailability_product` ON `TVavailability_product`.`contentid` = `msProduct`.`id` AND `TVavailability_product`.`tmplvarid` = 10 LEFT JOIN `modxlocal_site_tmplvar_contentvalues` `TVispromo` ON `TVispromo`.`contentid` = `msProduct`.`id` AND `TVispromo`.`tmplvarid` = 14 LEFT JOIN `modxlocal_site_tmplvar_contentvalues` `TVwork_width_sel` ON `TVwork_width_sel`.`contentid` = `msProduct`.`id` AND `TVwork_width_sel`.`tmplvarid` = 22 LEFT JOIN `modxlocal_site_tmplvar_contentvalues` `TVdepth_sel` ON `TVdepth_sel`.`contentid` = `msProduct`.`id` AND `TVdepth_sel`.`tmplvarid` = 23 WHERE  ( `msProduct`.`class_key` = 'msProduct' AND `msProduct`.`parent` IN (2209,2648,4233,4261,4266,4270,5306,5314,5318,5323,5330,5345,5352,5358,2649,2657,2650,2651,2652,2653,2654,2655,2656,2658,2659,2660,2661,4150,4234,4237,4249,4260,4235,4236,4238,4239,4240,4242,4243,4244,4245,4246,4247,4248,4250,4256,4258,4252,4259,4255,4251,4254,4253,4257,4262,4263,4267,4268,4269,4265,4271,4272,4273,4274,4275,4276,4277,4278,4279,4280,4281,5307,5308,5309,5310,5311,5312,5313,5315,5316,5317,5319,5320,5321,5322,5324,5325,5326,5327,5328,5329,5331,5332,5333,5334,5335,5336,5337,5338,5339,5340,5341,5342,5343,5344,5346,5347,5348,5349,5350,5351,5353,5354,5355,5356,5357,5359,5360,5361,5362,5363,5364,5365,5366,5367,5368,5369,5370) AND `msProduct`.`published` = 1 AND `msProduct`.`deleted` = 0 AND `msProduct`.`isfolder` = 0 )  GROUP BY msProduct.id ORDER BY msProduct.menuindex ASC LIMIT 60 "
5.5564818: SQL executed
0.0001550: Total rows: 106
0.0004580: Rows fetched
0.0003700: Returning raw data
0.0017910: Checked the active modifiers
0.0047040: Loaded "modChunk" with name "product-item-sel"
0.0128670: Compiled Fenom chunk with name "modchunk/48"
0.0355496: Time to load products options
5.6675000: Total time
14 680 064: Memory usage

0.0041530: pdoTools loaded
0.0002110: Created inline "modChunk" with name "f7da63f2d337d08ca9dcacc531069c1e"
0.0086610: Loaded "modSnippet" with name "msProducts"
5.6958449: Created inline "modChunk" with name "5412949f8419d87e4477caa8ddf011d6"
0.0001509: Created inline "modChunk" with name "4f3e5113475c9912619244e9a35de906"
0.0001321: Created inline "modChunk" with name "2705f364c1156b49778eecee9a2b4f18"
0.0001400: Created inline "modChunk" with name "70824ca308e06c8e375e53759cd03674"
0.0001302: Created inline "modChunk" with name "e6747421ac951eec87076a3f44c6a184"
5.7094610: Total time
14 680 064: Memory usage
Сергей Карпович
03 октября 2021, 12:59
0
Всем привет, классный плагин получился, перечитал комментарии, но не нашел варианта вывода общего облака тегов со всех ресурсов, кто ни будь сделал такой вывод, подскажите как?
Павел Романов
03 октября 2021, 09:57
0
Надо в эту TV добавить какие-то символы, обрамляющие ID.
Например:
-6-,-58-,-66-

И тогда:
&tvFilters=`user_id==%-[[!+modx.user.id]]-%`
Сергей Шлоков
03 октября 2021, 07:37
+7
А чем MODX хуже Вордпресса, Джумлы, Битрикса и др.? CMS востребованы. У них своя ниша. И ниша немаленькая. А пилить сайты на фреймворках удовольствие сомнительное.
Да, мы (те, кто занимаются поддержкой и развитием MODX), иногда бубним про устаревший код в ядре. Но разработчик сайта в первую очередь думает не над тем, как править ядро или админку, а над тем, как быстро и хорошо сделать сайт. И MODX позволяет делать это гораздо удобнее, чем многие другие CMS.

В чём нечестность привлечения молодого разработчика? Я правильно понимаю, что этот начинающий веб разработчик должен пилить сайты на фреймворках с микросервисной архитектурой и деплоем с CI? Очень странное соображение. Новички вообще в ядро не лезут. В этом и смысл CMS. А тот, кто выбрал MODX для высоконагруженного сервиса, должен не на него плеваться, а на зеркало.

П.С. Ко мне как-то за помощью обращался человек из студии, разрабатывающей сайт для одного министерства одной области. На ларавел. Так вот я вообще был в шоке — он практически ничего не знал о вэб разработке. Видимо какой-то студент или родственник министра. Но его заставили делать сложные задачи. Посоветовал ему заняться самообучением. Ибо весь смысл его обращения был — сделай как мне нужно. Представляю, какой сайт получился.
Николай Савин
03 октября 2021, 07:19
+2
Такого в minishop2 нет. У файлов ms2 подчиненная связь. Она не может вызвать удаление родительского товара.
Eсли у вас происходит нечто подобное — значит либо вы что-то не так поняли, либо может быть какой то плагин отдельный срабатывает.
В любом случае понижение версии проблему не решит — просто потому что такой проблемы нет.
Евгений
03 октября 2021, 00:47
0
нука расскажи куда приглашать надо? БРЕД!
modx топчик почти для любых проектов
Олег Захаров
02 октября 2021, 22:12
1
0
В файле /core/components/shopstats/model/shopstats/minishop2.class.php есть код
$q_stats_month->select('status,`createdon`, month(`createdon`) AS `order_month`, count(*) AS `order_count`, SUM(cart_cost) AS order_cost');
я его исправил на
$q_stats_month->select('status,`createdon`, month(`createdon`) AS `order_month`, count(*) AS `order_count`, SUM(cost) AS order_cost');
т.к. cart_cost это стоимость товаров в корзине. А по факту к стоимости заказа может быть добавлена стоимость доставки delivery_cost или скидка (если у вида доставки в настройках Minishop поставить в поле «Доп. стоимость:» отрицательное значение например -15% то будет добавляться скидка). cost — это итоговая стоимость товара.
Спасибо за виджет. Можно кастомизировать под себя.
Жаль не обновляете — хотелось бы вывод сделать по сумме и количеству заказов не только за годы, но и например выводить стоимость заказов за последний месяц, добавить возможность фильтрации и выбора отображения сведений за разные периоды, статусу — как это сделано в основном экране заказов магазина Minishop 2.
Дима Сайт old см. профиль
02 октября 2021, 20:56
+10
Без обид, но мне вот это
некрасиво и нечестно
тоже глаза режет

У каждого своё понятие о красоте и очень много разработчиков с других фреймворков (того же битрикс-а) считают решения modx очень даже красивыми.

Про честность давайте лучше не начинать, это смотря что вы там наобещаете «кому-то молодому», может получиться что честнее приглашать в тильду, а может в jungo, а может и ресторан на свидание ;-)

MODx надежен, неприхотлив и позволяет делать хорошие продукты. Приглашать в него молодых разработчиков, как и предлагать клиентам совершенно не стыдно. А нюансы есть в любых продуктах и инструментах.

То что система не обновляется по 5 раз в месяц я считаю скорее плюсом и следствием стабильности. А компоненты живут отдельно и их экосистема кипит довольно активно. Готовых решений — бесконечное множество, и seo-студии MODx просто обожают, не представляете от какого количества костылей избавляет его использование в сравнении с другими системами.

Печально что складываются мифы и легенды по поводу легаси и устаревания на фоне. Система существует не первый десяток лет и часть кода написана давно, некоторые тренды поменялись с тех пор, но код от этого работать не перестал. Однако поддержка всего современного серверного софта в актуальном modx имеется. Знаете ли, вообще-то и сам PHP уже 15 лет хоронят))

Предлагаю не поддерживать упаднический настрой и выбирать инструмент под задачи. Я вот выбираю MODx под большинство новых сайтов и магазинов, лэндингов, quick start учетных и рекламных систем, серверной части для мессенджер-ботов и мобильных приложений и т.п. потому что удобно и выгодно.

P.S. Спасибо @Сергей Шлоков что реализует свои крутые идеи, чем делает лучше и гибче наш старый добрый клёвый MODx!
Андрей
02 октября 2021, 18:03
0
А можешь немного подробней описать такую ситуацию? При удалении фото естественно товар не должен удаляться.

Да и в целом последние версии стабильно работаю, не думаю что стоит откатываться так далеко назад.
Andrew
02 октября 2021, 15:39
0
вот кусочек кода с этими размерами из чанка:
{if $size}
    <div class="size">
	   <label>Объём:</label>
    	    {foreach $size as $key => $value index=$index}
            	 <span class="pick-size-class {$index ? '' : 'active'}">
                    <input class="hidden" type="radio" name="options[size]" value="{$value}" id="size[{$value}]"
                							required="" {$index ? '' : "checked" }>{$value}
                </span>
             {/foreach}
    </div>
{/if}
Алексей Соин
02 октября 2021, 14:18
+4
Назовите для примера хотябы одну систему, в которые вы бы пригласили молодого разработчика, как альтернативу modx.
Дмитрий
02 октября 2021, 13:16
+1
Спасибо.
Сергей Шлоков
02 октября 2021, 12:01
+1
Вот тут бегло пробежался по отличиям шаблонизаторов.
какие преимущества даст переход с Fenom на Smarty?
Цель ZoomX не шаблонизаторы менять, а подход к программированию. Smarty был выбран только потому, что он уже есть в ядре MODX. А вот кодить с ZoomX можно так, как это делают старшие браться из сообщества фреймворков со всеми вытекающими преимуществами современной разработки.
А по скорости вот тест, сделанный по инструкции в документации, для 800 ресурсов.


---------------------------------------------------------------------------------



По скорости Smarty чуть быстрее, но памяти отнимает чуть больше.
Семён Кудрявцев
02 октября 2021, 11:15
0
Решил попробовать компонент, но вышло с трудом из-за некорректной инструкции
Во первых везде написано, что при установке в папке core создаются файлы — по факту они не создаются.
Во вторых в папке самого компонента в core есть папка plugins с описанной структурой, но и там ошибка, в файле events.example вызывается файл Title.php, тогда как в папке ModxPlugins/Web/ лежит Logo.php
В третьих даже если прям там в папке самого компонента переименовать файл events.example в php и исправить Title на Logo один фиг ничего не заработает.
А чтобы заработало нужно самому скопировать из папки компонента папку plugins в папку core, и сделать в ней вышеописанные правки.
Хорошо бы исправить инструкцию, и либо сделать реально чтобы файлы формировались в папке core, либо написать что их надо самим копировать.
И было бы неплохо иметь возможность в системных настройках указывать свой путь для плагинов, и указывать его ещё на этапе установки, чтобы уже первичных набор файлов записался туда.
Фарит
Фарит
02 октября 2021, 10:49
0
Чтобы когда удаляешь фото из галереи, не удалялся сам товар и т. д.