Василий Наумкин

Василий Наумкин

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
04 марта 2020, 15:21
+3
А авторы Tikkets вообще собираются редактор сообщений обновлять?
Нет, не собираются.

Авторам Tickets (обрати внимание на правильное написание) есть много чем другим заняться. Судя по твоему энтузиазму, ты легко запилишь прекрасный форк, на который все пользователи Tickets легко перейдут без потери данных.

И будешь его потом поддерживать бесплатно, годами.
Василий Наумкин
04 марта 2020, 04:36
+5
Я уже не принял предыдущий PR и пропихивать мне его еще раз, под видом необходимого для подзапросов — очень странно.

Какая связь вообще между генерацией SQL запроса в БД и шаблонизатором?

Ты вот такое прям серьёзно пишешь, это не прикол?

Может сейчас Василий Наумкин примет.
Нет конечно, не примет. Ты меня за дурака держишь, или что?

Да хоть бы отформатировал в PSR-2 свою писанину, чтобы читать это возможно было.


Это ты еще и 2 новых версии pdoTools сразу выпустил? Ну вообще орёл.
Василий Наумкин
28 февраля 2020, 04:22
+1
С феном то все понятно, его закончу, но вот мысли у меня сделать отдельно такой плагин и для modx, который бы работал бонусом со всеми выше перечисленными объектами (шаблоны, чанки) напрямую с бд.
Нафига оно надо, если будет нормальная навигация по Fenom тегам?
Мне лично только её не хватает при работе из IDE, синтаксис MODX уже давно не использую.

P.S. Есть вот такой древний плагин для Fenom. Он очень сырой, но может чем-нибудь пригодиться.
Василий Наумкин
24 февраля 2020, 14:14
0
Что делать, как быть?
Пиши в Вопросы, я перенесу.

кстати в чем разница?
В описании разделов указано.
Василий Наумкин
21 февраля 2020, 13:28
+2
Еще раз — Collections работает с ресурсами. Соответственно, все сниппеты MODX работают с ним.

Если ты перетаскиваешь весь контент в другие таблицы, то какой-нибудь GoogleSiteMap для них карту сайта не построит, а mSearch2 их для поиска не проиндексирует.

Сегодня есть pdoTools, и с его помощью можно выводить данные из любых таблиц, для которых есть схема, но опять же, все его родные сниппеты заточены именно под ресурсы. Например, в pdoResources прописана сортировка именно по publishedon, которого может не быть в другой таблице. А pdoMenu использует карту ресурсов в modX::getParentIds для построения меню.

У меня и данные в своих таблицах
У меня тоже.
Но это у меня и тебя, в наших непубличных проектах.

А теперь представь себе условный miniShop3, который хранит миллионы товаров в своих собственных таблицах. К нему нужно будет поставить и полный набор всех сниппетов для вывода этих товаров, генерации меню, хлебных крошек и т.д.

Как оно, сильно больше Collections будет? Одну документацию писать замучаешься, а потом баги отлавливать и править.

Говорю же, я много об этом думал и пришёл к выводу, что делать подобное не стоит. Ну а если и делать, то как отдельную независимую либу, которую потом интегрировать с MODX.
Собственно, как Андрей Чирко уже сделал с Shopkeeper 4 — и что-то большого успеха на рынке MODX у такого решения не видать.
Василий Наумкин
21 февраля 2020, 13:09
+2
Где-то во фреймворках есть заранее созданные таблицы под контент? С контекстами, прикрученными картами ресурсов кэша, менеджерами с кастомизацией форм для их редактирования?

Нет, никто так не делает во фреймворках, там ты всё пишешь под себя.

Именно поэтому я и доказываю тебе, что в ресурсы в MODX — они именно что для контента. Это ограничивает систему, но делает её удобной для новичков и небольших сайтов.

Использование modResource в MODX — это единственно верный путь для хранения пользовательского контента в 99% использования системы. А если кому-то это не подходит, нужно поискать другую систему, таков мой вывод.
Василий Наумкин
21 февраля 2020, 13:05
0
Выше отписал про это.

Слишком большой объём работы и непонятный выхлоп. Экономически не выгодно.
Василий Наумкин
21 февраля 2020, 12:59
+2
Как и Tickets, как и miniShop2.

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

То есть, создать параллельную инфраструктуру сайта для твоего допа. Которую людям надо будет осваивать вместо обычной.

Я вот до сих пор этого не сделал, хотя одно время всерьёз над этим подумывал, как вектор для развития miniShop.
Василий Наумкин
21 февраля 2020, 12:57
+1
Ну я в их модели никаких новых типов для документаов не вижу, только CollectionContainer, который расширяет modResource.

Стало быть, храниться в нём будут обычные ресурсы. Вот и подтверждение в процессоре publish на строке 32
$this->resource = $this->modx->getObject('modResource', $id);
Дальше мне копать исходники лень, но вроде и так всё понятно.
Василий Наумкин
21 февраля 2020, 12:53
+5
Возможность расширения базового функционала никак не является руководством к использованию ресурсов как к хранилищу контента сайта.
Насколько я помню, modResource наследуется классами modDocument, modLink, modWebLink и modStaticResource.

И по умолчанию в админке создаётся именно modDocument. Это не для хранения контента? И все сниппеты заточены именно под вывод этих документов, и для построения по ним навигации. Да и поля у этих документов как-бы намекают: published, pub_date, hide_menu, link_attributes и т.д.

Что бы там Джейсон себе не фантазировал, но как только разработчик доходит до мысли, что нужные ему данные проще хранить в своих таблицах, ему резко перестают быть нужны ТВ, шаблоны, чанки и сам MODX.
Потому что он переходит работать на фреймворки, которые создают таблицы и модели гораздо проще и быстрее.
Василий Наумкин
21 февраля 2020, 12:46
1
+3
Это делает pdoPage, которому можно указать &setMeta=`0`
Василий Наумкин
21 февраля 2020, 12:44
+1
Так Collections использует те же ресурсы, нет? Просто прячет их в админке, делая более удобной работу с каталогом.
miniShop2 делает так же, но это всё равно ресурсы — они так же попадают в кэш ресурсов сайта и так же приведут к тормозам, если их будет много.

Принципиальной разницы я не вижу.
Василий Наумкин
20 февраля 2020, 14:08
+2
Суть в том, что все объекты зависимые от modResource можно паковать в JSON объекты и переносить их от сайта к сайту, делая обратное воспроизведение.
Всё уже давно придумано, сделано, и работает — modmore.github.io/Gitify/ru/

Очень было бы круто, что если я указываю определенный тег, то ниже код парсится как markdown текст. Я часто готовлю любые тексты в Bear для macOS и в нем архиудобно, но потом приходится переводить текст в теги сайта.
markdowntohtml.com
Василий Наумкин
12 февраля 2020, 15:06
+4
3 раза прочитать молитву за быстродействие, и 2 раза молитву за стабильность.

Отпускаю с миром.
Василий Наумкин
12 февраля 2020, 14:41
+1
Ну так поди нет закрывающего тега </body> или </head>, для инициализации?

Потому что, внезапно, скрипты нужно куда-то вставить, для их работы. И если на странице нет body — то вставлять их некуда.
Василий Наумкин
10 февраля 2020, 16:13
0
Даёт возможность авторизации под любым юзером.
Василий Наумкин
09 февраля 2020, 17:52
0
Еще раз — нет, не выводит она ничего.

Это после загрузки страницы javascript подставляет количество комментов. Открой исходник страницы и увидишь на месте переменной, что там пусто.
Василий Наумкин
09 февраля 2020, 17:13
0
Скорость надо проверять, зависит от многих факторов, но на большом количестве записей подсчёт результатов может украсть полсекунды или больше.

Да и дело даже не в скорости, а в том, что при добавлении нового комментария их общее количество изменится, а склонение — нет.

Поэтому лучше или оставить как есть, без склонения, или делать его на js — и тогда total вообще не нужен.