Всего 125 977 комментариев

Дарья Сизова
09 января 2022, 14:18
0
Нет, никаких сторонних плагинов нет.
Евгений Webinmd
09 января 2022, 13:10
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
Сергей Шлоков
09 января 2022, 08:51
+1
Собственно, наблюдая за тем как развивается MODx, у меня складывается впечатление что очень многое из того над чем сейчас работают люди, это либо мало кому будет нужно, либо уже совсем неактуально в свете последних тенденций рынка web-разработки.
Сергей попытался внести в MODx чуть-чуть современного подхода к бекенду, но большинству сайтоделов на MODx оно нахер не всралось. В чем я не прав-то? Я уже молчу про то, что на рынке эти инструменты которые создаются для MODx не востребованы, как и сам MODx.
Конечно не растут, потому что сам MODx в стагнации уже много лет и единственные кто его до сих пор держат на плаву, это единицы разработчиков платных дополнений и сам стерк, у которых бизнес на нем завязан.
Людям дали инструмент. Но любой человек который перешагнул по навыкам и знаниям MODx, уйдет в более современный и востребованный на рынке инструмент. Вон тут уже упомянули Laravel.
Тут лишь остается рассматреть вариант сборки сайтов на MODx в кач-ве фриланса. Вариант конечно имеет место быть, но крайне спорный… Лучше уж взять хороший фриланс заказ и создавать его на микросервисной архитектуре, используя современные инструменты.

Дискуссия. Много полезной пищи. Ещё больше её в комментариях про клиентов-лохов.

Вишенка на торте — «Баллада о железном слове» (мы в молодости называли это вагина-мяч) в двух актах.
Акт 1.
Да я могу целый список составить того, почему UI в MODx плохой и это будет не субъективная оценка, а отзывы которые я собирал годами от своих клиентов.
Акт 2.
Конечно я не буду тратить время на сбор списка причин, почему UI/UX админки в MODx плохой.
Занавес.

П.С. Всё сказанное про медленное развитие MODX верно. И про PR, висящие годами. Многие из нас уже мозоль на языке натерли говоря об этом. И я в первых рядах. Но на сайте сообщества MODX рассказывать про то, что сайты нужно собирать на микросервисной архитектуре, это уж как-то… Для таких новаторов нужно особые ресурсы создавать.

П.П.С. Всё вышесказанное Павлу прошу читать вежливо и с уважением, ибо мы знаем друг друга давно и просто спорим. )
Fullstack
09 января 2022, 03:28
0
Хотя сейчас пришла мысль, как сделать подход полегче:

1. Заменяем сначала чисто все &параметры=…
2. Потом заменяем названия сниппетов, чанков и т.д. на Fenom'овские
3. Заменяем все ]] на }

А вот с условиями надо пока подумать… О них бы просто сообщать (например номер строки), а дальше они бы уже вручную менялись. Так как их автоматизация не так уж целесообразна. Если нет условных модификаторов, то обрабатываем. Если есть условные модификаторы — пишем об этом в результате конвертации
iWatchYouFromAfar
09 января 2022, 02:58
+2
Посмотри на этот тред в комментариях не как на холивар, а как на дискуссию, в рамках которой можно найти много полезной пищи, причем со всех сторон, а не только с моей, твоей или еще чьей-то. И тогда у тебя пропадет предвзятое мнение относительно моей (или чьей-то еще) позиции.

Конечно я не буду тратить время на сбор списка причин, почему UI/UX админки в MODx плохой. Моя работа с Русланом уже 2 год лежит в репозитории MODx и никому не нужна. Как не нужен и твой шаблонизатор, как не нужен будет и мой список правок админки, как и не нужен будет MODx 3, в лучше случае, за исключением пары-десятков фрилансеров. Просто мой выбор, время которое у меня есть, потратить на что-то более интересное и ценное для меня. Твой выбор, это разрабатывать опенсурс компоненты для MODx. Я например люблю дискуссии и не только свои. В них можно найти намного больше, чем кажется людям думающим, что это только флуд и холивар.

P.S.
Забавно конечно когда ты находишь куча багов в таком фундаментальном для MODx ресурсе как ACL, пишешь об этом сообществу. Казалось бы, нужно решать проблему, но нет, все эти баги тащат в «новенькую» тройку. Просто, отлично.
Олег
08 января 2022, 15:07
0
убрал на всякий случай код, чтобы не лежал в открытом доступе
Олег
08 января 2022, 14:54
0
прикладываю модифицированную версию скрипта mFilter2 1.7.3 (очень старая, но новее версии не увидел)
изменения обернуты в комментарий CUSTOM

я положил этот файл рядом с mFilter2 и вызывал сниппет как [[!mFilter2_custom]]
дополнительных комментариев дать не смогу, уже много лет не пишу на modx

ссылка протухнет через 24 часа
codeshare.io/K8PmQ8

@Василий Наумкин надеюсь это не нарушает копирайт? если нарушает прошу удалить
как я понимаю один файл не может быть использован пиратами
Сергей Шлоков
08 января 2022, 10:00
0
Т.е. обещанного списка отзывов, собираемых годами от клиентов, не будет? Мда. Вот и всё, что нужно знать о холиварщиках. В лучшем случае (это в самом лучшем случае) получите список ишу Руслана Алеева про пермишены.

Да, и ещё, совет заказчикам — когда разработчик начинает нытьё о глюках дерева при большом количестве ресурсов, задумайтесь о его проф. пригодности.
iWatchYouFromAfar
07 января 2022, 22:30
0
Помнится я как-то с одним человеком (Руслан Алеев) разбирался в ACL системе MODx. Мы составили огромный список в гугл доках где протестировали каждый пермишен, нашли кучу багов, все это дело даже оформили красиво.

Всем вроде как понравилась наша работа и наличие багов никто не опровергал. Коллега с которым этим занимался даже вроде ишусы создал в репе модкса, но никто не захотел заниматься проблемой и рефакторить систему пермишенов, ни в 2х, ни в 3х.

Так что, нас уже кормили этими спасибами, больше не хочется.

P.S.
Нашел ишусы — github.com/modxcms/revolution/issues?q=%5Bbug%5D+Access+Policy+is%3Aopen. От Руслана Алеева. Файлик с данными пока найти не могу.
Сергей Шлоков
07 января 2022, 13:29
+5
Не воспринимайте как критику.
Почему? Критика бывает более полезна, чем восторженные отзывы.

Такие надстройки (так как их делают программисты для себя и других программистов) делают MODx более сложным.
Правильно ты пишешь про программистов. А для них как раз ничего сложного нет. Это дополнительный инструмент для работы, а не обязательная замена. Раньше, чтобы так кодить, нужно было уходить во фреймворки. Сейчас также можно работать и в MODX до какого-то момента. Разве это плохо?

Закреплю посыл — ZoomX не для массового использования. И, кстати, изначальная задумка была для замены MODX шаблонизатора. Идея навеянна Evolution CMS. Но ребята ядро переписали под Laravel. С MODX это невозможно. Поэтому и дополнение. А потом решение стало обрастать правилами фреймворков. Именно поэтому мажорные версии. Но при этом концепция CMS никуда не делась и новичкам ничего не нужно заново учить. Т.е. ZoomX позволяет как бы растянуть момент покидания MODX.

Уникальность MODx как раз в простой и удобной админке, в простом создании ресурсов, отображении их в виде понятного дерева с понятным редактированием этих ресурсов из админки. Доступ к шаблону из самого ресурса.
ZoomX ничего этого не меняет. Он меняет только правила шаблонизации. Один проход. Как это принято не только во фреймворках, но и в других CMS. Подход MODX с многократной обработкой регулярными выражениями себя (в наше время) не оправдывает. А PHP шаблонизаторы компилируют код, оптимизируют его за счёт Opcache. Это даёт и гибкость и скорость.

С приходом таких дополнений, как ZoomX, нужно прописывать роуты, а создание ресурса превращается в написание кода. Это вряд ли привлечёт большое количество новичков в MODx (именно эта категория пользователей даёт популярность таким проектам, как Wordpress).
Задача ZoomX не привлечь новичков, а удержать старых разработчиков. А если бы ты попробовал его или хотя бы прочитал доку, то не писал бы такое. )
Сергей Шлоков
07 января 2022, 11:03
0
Да я могу целый список составить того, почему UI в MODx плохой
Составь. Уверен, все только спасибо скажут.
Роман
07 января 2022, 10:28
0
Напишите в личку сайт, могу глянуть. Могут быть разные причины, вплоть до вирусов.
iWatchYouFromAfar
07 января 2022, 05:10
0
Выход я писал уже больше года назад где-то на этом сайте — убирать нахер древовидное меню. Но…
Павел Бигель
07 января 2022, 05:09
0
вот с первым фактом соглашусь конечно.
со вторым не сталкивался, не могу сказать из того что я бы мог придумать если бы мне такое пришло.
iWatchYouFromAfar
07 января 2022, 05:06
+2
Субъективно более чем
Если бы. Мой первый клиент которому я делал магазин года 3 назад сказал, а как я буду пользоваться админкой с планшета? А что будет с древовидным меню если у тебя на сайте будет много-много ресурсов? А «тихое переименовывание» одноименных файлов? Да я могу целый список составить того, почему UI в MODx плохой и это будет не субъективная оценка, а отзывы которые я собирал годами от своих клиентов.

Вот тут ты хорошую тему затронул. Я для этого использовал контексты, типа есть dev и прод и всем весело было. Надеюсь.
Очень удобно, когда у тебя сайт на 2-3-4 языках которые сделаны на контекстах. Это костыли, а не полноценная разработка на локальной машине с последующим тестированием на каком-нибудь сервере.
Павел Бигель
07 января 2022, 04:57
0
Сиди создавай за миллионы корпоративные сайты.
Как хорошо что именно этим я и не занимаюсь собственно.

Окей, допустим я представил как твои мега-богатые клиенты, заказывают корпоративные сайты с очень динамичной, но люто багованной и что самое важное тяжелой и неудобной админкой.
Субъективно более чем

Но представить что эти же клиенты получают на выходе проект, который не запускается в dev и stagging режимах.
Вот тут ты хорошую тему затронул. Я для этого использовал контексты, типа есть dev и прод и всем весело было. Надеюсь.
iWatchYouFromAfar
07 января 2022, 04:54
+1
Мои клиенты нынче это тир1 финтех компании чей капитал больше бюджета твоего города. Лохи? Может быть, я так не считаю.
Я не про бюджеты клиентов, а про то, как они ими распоряжаются. Если у тебя есть такие, то в этом нет ничего плохого для тебя. Сиди создавай за миллионы корпоративные сайты.

то есть по твоей логике в современных ресурсах...
Окей, допустим я представил как твои мега-богатые клиенты, заказывают корпоративные сайты с очень динамичной, но люто багованной и что самое важное тяжелой и неудобной админкой.

Но представить что эти же клиенты получают на выходе проект, который не запускается в dev и stagging режимах. Над которым невероятно сложно работать в команде и который крайне сложно передать другим разработчикам на хотя бы лет 5 стабильной работы/доработки без рефакторинга. И уж тем более не версионируется… Нуу… Не, не могу представить. Хотя нет, вру, могу — если клиенты лохи.

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

P.S.
И все таки я не понимаю в чем был не прав… В том что ZoomX будут пользоваться единицы или в том, что это шаблонизатор или про выбор MODx как инструмента для создания сайтов?
Павел Бигель
07 января 2022, 04:40
0
$router->get('uri', function() {
Очень похожи на

app.get('/', function(req, res) {
В каком-нибудь Express.
А, ну роутинг урлов очень похож на роутинг апи. Зафиксировали.
То ты очень классно обул клиентов-лохов.
Мои клиенты нынче это тир1 финтех компании чей капитал больше бюджета твоего города. Лохи? Может быть, я так не считаю.

Самое сложное в сайтецах для корпоративов — это верстка.
Кто ж спорит с этим? Как это влияет вообще на бэк сайта?

Нафига им вообще бек? Статику выплевываешь с небольшой логикой обработки каких-нибудь форм.
То есть по твоей логике в современных ресурсах нет никаких работ над сайтом? Ну то есть вообще никаких?

Гугл, допустим, любит живые сайты, где повышается ссылочная масса. Если мне инструмент позволяет писать «по современному» используя инструмент с прекрасной админкой и прочими вещами — то я тоже лох или как? Мне нужно было цеплять взрослый фреймворк чтобы гит использовать?

Конечно не растут, потому что сам MODx в стагнации уже много лет и единственные кто его до сих пор держат на плаву, это единицы разработчиков платных дополнений и сам стерк, у которых бизнес на нем завязан.

Ты сам знаешь думаю, в IT стоит перестать интересоваться новым на пару лет, как ты уже начинаешь выплывать из сферы.

В остальном хз как на высеры отвечать. Не буду ничего писать про легендарную тройку. Посмотри сколько скачиваний у ZoomX, а это уже версия 3.4. Так что, мне рассказывать то не особо будет нужно. Сам увидишь по востребованности.
Проблема тройки — овощи у которых на гитхабе права на репозиторий, при чем тут вообще сторонние инструменты?