Дима Сайт

Дима Сайт

С нами с 24 июня 2014; Место в рейтинге пользователей: #213
Дима Сайт
13 января 2022, 14:42
0
@alex, возможно вам подойдет компонент modstore.pro/packages/other/anotherpages

Или можно написать плагин на 404 ошибку и там уже брать ресурс от первой части URL, и добавлять 2ю часть, конвертируя (как бы) фразу Russia-Moscow-Moldova-Kishinev в export_country=22, export_city=33, import_country=44, import_city=55 но учтите что есть города типа Ростов-На-Дону поэтому разделитель в URL лучше взять такой, чтобы не встречался в названиях городов, например | или транслитирировать названия с этим учетом.

То ли ещё будет, когда вы столкнетесь с одинаковыми названиями населенных пунктов…
Например:
Москва — город, столица России.
Москва, Кировская область, Верхошижемский район (деревня).
Москва, Псковская область, Порховский район (деревня)
Москва, Тверская область, Пеновский район (деревня)
и т.п.

Вообще, задача может иметь ряд подводных камней, если не чувствуете уверенность лучше перенесите топик из Вопросов в раздел Работа, переводить числовые id в текстовые значения всегда довольно проблематично
Дима Сайт
10 декабря 2021, 20:02
+2
Норм прозвучало. Молодцы все!

Стыдно признаться, но не доходили руки тестить, потому что без pdoTools настоящий никакой проект не поднять, а голую установку MODX 3 тестить как-то грустно)

И как раз выходные впереди… кажется, настало время!

Спасибо за обновки
Дима Сайт
02 октября 2021, 20:56
+10
Без обид, но мне вот это
некрасиво и нечестно
тоже глаза режет

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

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

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

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

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

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

P.S. Спасибо @Сергей Шлоков что реализует свои крутые идеи, чем делает лучше и гибче наш старый добрый клёвый MODx!
Дима Сайт
21 сентября 2021, 21:48
0
Там же пара команд, если контейнер готовый. Главное взяться ;-)
Дима Сайт
21 сентября 2021, 21:24
+1
@Илья привет, не обращай внимания что активности вокруг продукта. Продукт нишевый, и ты его просто вывел «в свет» в довольно смутное время плюс со слегка спорным неймингом, не бросай раз получается!

Вот SEO-шники скоро заметят обновление и пойдут «дропы» поднимать пачками через эту штуку. Я не смог сходу вспомнить название фильма где массово воскрешали мертвецов, но их куча и все они сразу промелькнули перед глазами :)

Конечно для 21 года было бы круто docker-контейнер для бекенд части приложения собрать, чтобы этим можно было пользоваться не нагружая твой сервер, но это уже больше сисадминское кунг-фу чем программистское)

Успехов!
Дима Сайт
10 сентября 2021, 12:56
+2
можно ли на странице товара получить ссылки на эти выборки, если этот товар там состоит?
А вот это очень хороший вопрос на самом деле. Для перелинковки на основе параметров было бы круто придумать как это сделать.

Чтобы можно было на странице товара собрать логический блок «Товар входит в коллекции: Выборка MSPCS1, Выборка MSPCS2».

Если порассуждать, то нужен плагин на создание/сохранение товара, который в случае смены характеристик проходит по всем выборкам и проверят не попал ли он в неё, и если да, записывает «куда-то в хранилище» id товара + id нужной выборки. А на странице товара для получения списка выборок в которые он попал нужно делать запрос в это «хранилище», которым может быть либо отдельная таблица, либо TV-шка самого товара.

И всё это будет работать только если на сайте нет функционала который обновляет характеристики (включаю цену, ведь может быть выборка «Товары от MM до NN рублей») мимо modx-процессоров (которые относительно медленные, поэтому такое иногда пилят).

Если мимо процессоров функционал есть, то потребуется ещё скрипт-оптимизатор который например по крону будет проходить по всем выборкам и приводить в порядок соответствие данных. Звучит как набор костылей (aka велосипед), нагружающий базу при каждом сохранении любого товара, но «ради высокой цели» вроде должно работать.

Мы делали нечто похожее для связи ресурсов 1 к 1, но то были сотни ресурсов (и не тормозит вообще к стати). А здесь получается связь 1 ко многим (могу ошибаться).

Возможно можно прикрутить как-то для этого функционал связей из минишопа, к стати, но будет ли он работать для не-товаров (страницы выборок). А ещё есть мультикатегории минишопа, может их юзать для привязки товара к выборке, зависит от того как они там в базе хранятся…

Конечно круто если бы был встроенный функционал такой.
Может у кого-то есть идеи получше? @Олег Щавелев @Prihod
Дима Сайт
01 августа 2021, 16:12
0
Ну да, переписать дополнение или использовать другое не нужно. А нужно к этому дополнению городить кучу костылей))
@Иван хоть вы на первый взгляд и детально объяснили что там как должно быть на нормальных по вашему мнению сайтах, все же не понятно какую проблему вы видите в дополнении? Какие необходимые к нему костыли вы имеете в виду?

Во времена повсеместного бума интернет-приватности и частичного отказа от cookies я вот хочу перенести в сессии некоторые настройки персонализации для незарегистрированных посетителей сайта (например открыто или закрыто боковое меню) и вообще сводить к минимуму использование cookies там где возможно.

Короче, ИМХО тренд сейчас в сторону увеличения времени жизни сессий, а не уменьшению.

Поэтому, если не «плакаться» что «anonymous_sessions» работает не так как хочется, а так, как решил мейнтейнер (хотя может и открыть ещё один issue для обсуждения?), то проблему с растущей базой надо как-то решать всё равно, а идея проверять user-agent и через него фильтровать сессии ботов это же прям похоже на решение!
Дима Сайт
31 июля 2021, 20:52
0
Бывает же такое, как раз ищу инфу по уменьшению размер таблицы с сессиями (на одном проекте 3.2гб уже), нахожу массу вариантов из поиска, включая статью про сессии на bezumkin.ru (кстати она от 2014 г и спустя 7 лет, в ubuntu значение session.gc_probability и сейчас по-умолчанию = 0 ).

Ну подправил настройки PHP и довольный по привычке перехожу на главную modx.pro глянуть как дела и вижу тут большой новый пост про сессии (0_о)… уже заподозрил что рекламные-таргет-технологии добрались до портала и подкладывают рекомендации на основе истории поиска :)

Оказалось, совпадение…

P.S. Автору большое спасибо! Конечно, готовые решения намного лучше когда в пакетах!
Дима Сайт
23 июля 2021, 20:57
+1
@Наумов Алексей, спасибо, отличный пример!
Не занудства ради, ибо сам не привыкну никак, но хочется уточнить что в «новом модном JS» принято неизменяемые переменные объявлять через const, то есть:
const override_field ... const enabled ... const available ... const override_fields
А изменяемые, если им не нужна глобальная область видимости, через
let tmp;
Дима Сайт
08 июля 2021, 00:46
0
@Александр, будем благодарны вам за публикацию решения, если вы его найдете. Кажется, именно из-за этого запроса мы апгрейдили сервер на одном из проектов в прошлом году, но не смог в истории уже откопать подтверждение((

Апгрейд конечно проблему решил и ничего не тормозит. К стати решает не только мощность железа но ещё и версии серверного софта.
Дима Сайт
01 мая 2021, 13:32
+2
Awesome!
Подкину дровишек для возможного развития: было бы не плохо добавить в выбор тип поля — визуальный редактор, потому что в нем кликабельные ссылки можно ставить ну и вообще менеджеры которые в админке работают все больше привыкают к удобству и сразу начинают ныть когда им даешь голую textarea )))
Дима Сайт
28 апреля 2021, 14:15
+2
Я считаю лучше 2 раза сделать чем ни одного!

Если кто помнит первые версии андроида — там чтобы быстро включить вайфай, блютус или фонарик нужно было ставить виджеты из магазина приложений (и это были одни из самых популярных приложений на тот момент). Позже (намнооого позже) во всех прошивках это стало встроенным функционалом (кнопками в шторке).

Многие не очень то обновляют магазины (работает — не трогай, помните?) – поэтому польза компонента думаю сохранится еще долго. А потом, все мы когда-нибудь умрем %)))
Дима Сайт
02 апреля 2021, 17:29
0
CSRF токены еще используйте, они отлично работают! Решения легко найти в сообществе, в замечательном дополнении modHelpers от @Сергей Шлоков есть реализация.
Дима Сайт
31 марта 2021, 19:51
0
@Александр Мельник, можете еще копнуть в сторону своего почтового сервера, разверните в Docker-е обычный Postfix. Однократно надо будет заморочиться с DKIM и SPF чтобы в СПАМ не падали ваши письма, но зато потом вы удивитесь как же быстро может на самом деле работать электронная почта!

P.S. Поделитесь, как решили вопрос, если решили
Дима Сайт
31 марта 2021, 19:42
0
Результат, который по ссылке, можно получить, используя &displayStart в pdoMenu. Там же можно динамически получать родителей, вызывая внутри &parents от pdoMenu сниппет pdoResources с &returnIds=1

Наслаждайтесь)
Дима Сайт
31 марта 2021, 19:34
0
@Роман может быть вам подойдет получение JSON-массива как результата работы pdoMenu и манипуляция с его элементами через Fenom.

Среди доступных полей для пунктов меню будет idx — соответственно +1 и -1 от текущего idx это то, что вам нужно!

Смотрите функции, связанные с JSON тут: docs.modx.pro/komponentyi/pdotools/parser
Дима Сайт
30 марта 2021, 21:22
0
Прикольно получилось!
Вот бы такое для CKEditor-а…
Дима Сайт
05 февраля 2021, 15:36
0
Отключение возможности менять карму это мне кажется необходимость, избавляющая от накруток и перегруза модератора. Чтобы некто не мог попросить коллег на новой работе пролайкать все мои старые комменты и продизлайкать вон того парня. Я бы это не трогал, хоть есть и побочный эффект который вы описали.
Дима Сайт
05 февраля 2021, 00:59
+4
Под обсуждение: Общеизвестно, что в сообществе есть возможность и поощряется говорить «спасибо» за ответы на вопросы, добавляя + в «карму».
А все ли в курсе, что некоторые программисты и веб-мастера люди видимо очень стеснительные и после получения ответа на свой вопрос, чтобы в будущем не было «стыдно что задавал глупые вопросы» просто берут и снимают их с публикации.

И вот она, Проблема:
От снятия топиков с публикации есть два сайд-эффекта, которые не очевидны и не приятны:
  1. Вопрос (и ответ) не найдут поиском другие (а там готовые решения конкретных проблем)
  2. Карма в необпуликованных топиках не учитывается
Тут у нас рейтинг особо ни на что сам по себе не влияет но как-то пару лет назад приболел и работать не хотелось, взялся отвечать на вопросы, зеленые плюсики были доп. мотивацией и предавали некой геймификации процессу. За пару дней плотной «форумной жизни» я не раз столкнулся с тем, что у тебя на почте лежит письмо от modx.pro и там автор например отвечает «спасибо решение мне помогло», кликаешь посмотреть на зеленый плюсик и порадоваться что кому-то помог, а там — 403. Мотивация отвечать… если не пропадает, то падает. А как бы иногда было приятно на вопрос от коллеги ответь «чекни на modx.pro — я там отвечал кому-то по этой теме», правда же?

Решение 1, возможно имеет смысл запретить снимать с публикации топики в которых есть ответы или хотя бы запретить делать это быстро?

Или еще интереснее Решение 2: я прямо уверен что некоторые с публикации снимают топики чтобы потом при откликах в разделе Работа, заказчик не пошел в профиль — не посмотрел топики и не усомнился в компетенции специалиста «а чего это он вопросы задает, сам не шарит что-ли?». Заказчики вообще нечасто в курсе специфики наших профессий :) и намного хуже когда разработчик перестает учиться…
Так может сделаем возможность вместо снятия с публикации просто скрывать ссылку и имя автора топика в Вопросах?

Можно еще в зависимости от рейтинга автора (или даты регистрации) писать вместо имени «МодЫксер» или «Опытный МодЫксер», «Новичек» и т.п. чтобы намекнуть читателю об уровне топикстартера, как было на «теплых ламповых» форумах) (может это доп.усложнение и перебор, конечно, но возможность анонимизации в вопросах точно позволила бы ценным ответам задерживаться в паблике, что для сообщества точно было бы полезным!