Василий
Oleg
Т.е. на MODX делать не буду, потому что это оказывается фреймворк оказывается и нужно усилия приложить, но пойду делать на другом фремйворке.
Не, не так. На MODX делать не буду, потому что, чтобы это на нём сделать, надо потратить дополнительно кучу времени и ресурсов, изучая давно устаревшие и ненужные мне в будущем инструменты, типа xPDO и ExtJs, а также особенности архитектуры отдельных дополнений, лишённых по умолчанию очевидных и необходимых функций, с целью их доработки под свои нужды. Буду делать на другом фреймворке, который я уже когда-то изучил (так сложилось) и у меня есть свои наработки на нём. Банальный рассчёт
Oleg
МОДЕКС классная система, но рано или поздно (по мере собственного развития в профессии) понимаешь, что её возможности ограничены, и становишься перед выбором: пытаться расширить эти возможности, потратив время, ресурсы итд (которого не так много, когда нужно кормить семью), или найти готовое решение в других CMS, CMF итд.
Oleg
Лет 10 назад я бы просто поступил как Василий, начал бы писать свой магазин и выложил бы его на Гитхаб. Он бы не был лучше или хуже, просто был бы другой подход, который кому-то может и понравился. Но сейчас, к сожалению, я так не могу поступить по ряду причин
Василий
Василий
А miniShop2 - январь 2013, 5 лет назад
Василий
МОДЕКС классная система, но рано или поздно (по мере собственного развития в профессии) понимаешь, что её возможности ограничены, и становишься перед выбором: пытаться расширить эти возможности, потратив время, ресурсы итд (которого не так много, когда нужно кормить семью), или найти готовое решение в других CMS, CMF итд.
Не согласен, что её возможности ограничены чем-то, кроме собственной фантазии. Не знаю, как в других системах, но у меня почему-то каждый новый проект всё более и более продвинутый, сделан на MODX и меня он никак не ограничил
Василий
Может быть, я не настолько хороший прогрммист, и просто пока еще не дошёл до такого уровня.
Василий
Еще раз - modhost.pro, modstore.pro - чистый MODX с дополнениями, без правок ядра. Скоро можно будет посмотреть на исходники dev.modx.pro, который, пожалуй, самый лучший мой проект
Oleg
Sentinel
@bezumkin а modstore.pro мултиязычность babel?
Anonymous
МОДЕКС классная система, но рано или поздно (по мере собственного развития в профессии) понимаешь, что её возможности ограничены, и становишься перед выбором: пытаться расширить эти возможности, потратив время, ресурсы итд (которого не так много, когда нужно кормить семью), или найти готовое решение в других CMS, CMF итд.
Ну так это обычный подход потребителя, при этом с неограниченным ЧСВ касаемо запросов к разработчикам. У вас этого нет, значит система говно, пойду делать на том, что знаю. А чтобы было круто, нужно добавить то, что я уже знаю, иначе не торт. Но сам добавлять ничего не буду, времени нет и вообще семью кормить нужно. Отговорки за 10 лет не меняются. И не только в MODX. Мне и Васе тоже семью кормить нужно, но как-то не жалуемся. Так что не нужно винить разработчиков, а начать с себя.
Sentinel
Т.е. не через контексты?
Василий
Через контексты, но всё управляется своими собственными процессорами, которые влю логику работы берут на себя
Oleg
Ну так это обычный подход потребителя, при этом с неограниченным ЧСВ касаемо запросов к разработчикам. У вас этого нет, значит система говно, пойду делать на том, что знаю. А чтобы было круто, нужно добавить то, что я уже знаю, иначе не торт. Но сам добавлять ничего не буду, времени нет и вообще семью кормить нужно. Отговорки за 10 лет не меняются. И не только в MODX. Мне и Васе тоже семью кормить нужно, но как-то не жалуемся. Так что не нужно винить разработчиков, а начать с себя.
1) Не нужно подменять понятия и манипулировать (я не говорил, что система ГОВНО и никого не обвинял, особенно разработчиков);
2) "Нужно начать с себя..." - это классический штамп людей, которые просто находятся в другой среде/ситуации/итд не понимая, что помимо "себя" есть ещё другие объективные факторы, которых поменять нельзя
Sentinel
Василий
Неа, не планирую
Sentinel
😊
Василий
Делать что-то универсальное пипец как сложно
Василий
я об этом думал, но ничего хорошего не придумал, увы
Anonymous
1) Не нужно подменять понятия и манипулировать (я не говорил, что система ГОВНО и никого не обвинял, особенно разработчиков);
2) "Нужно начать с себя..." - это классический штамп людей, которые просто находятся в другой среде/ситуации/итд не понимая, что помимо "себя" есть ещё другие объективные факторы, которых поменять нельзя
Ну так если внешние обстоятельства есть, это понять можно, но тогда и требования стоит более аккуратно озвучивать, а так пока что всё звучало как обвинение разработчиков в некомпетентности либо в том, что они выбрали направление, которое вас не устраивает.
Sentinel
Просто тикетс, сендекс выплал, прям мультиязычность напрашивается 😉😊
Василий
Василий
Написано много дополнений, и сейчас ничего нового я писать просто не могу
Sentinel
😊👍 я тебя понимаю, сорри
Oleg
Anonymous
Просто вы не первый и уже просто все устали отвечать одно и тоже каждому, что это стало раздражать.
Василий
Anonymous
Василий
А как ты ТВ будешь поддерживать в них?
Василий
Я много про это думал и ничего лучше контекстов MODX придумать не смог. Это единственный вариант, который не ограничит функционал
Oleg
Ну поля в БД текстовые, через LIKE или MATCH
Sentinel
Так вроде есть по моему localizator называется он не с серилизацией работает?
Ilya
Ilya
Потом понимаете, что управлять - выгоднее.
Ilya
На каком-то этапе, конечно же, когда есть поток
Oleg
Василий
Так сериализация, или JSON массив - это разные вещи. Хотя, в контексте поиска это в любом случае фигня на постном масле
Василий
Как ты найдешь совпадения по английскому варианту pagetitle и longtitle, но исключишь по description или alias?
Василий
Ну и какая скорость будет, если перебирать тысячи записей через like?
Василий
В лучшем случае, можно хранить данные в таблице
язык - имя поля - значение
Но это не сильно отличается от контекстов и копий ресурсов сейчас
Sentinel
https://modstore.pro/packages/utilities/localizator
Oleg
Василий
Oleg
Сначала ищется входжение искомого слова вообще в поле pagetitle, если вхождение есть, потом определяется в каком из элементов JSON массива (с ключом языка) оно есть
Василий
Как ты надёшь вхождение именно в поле pagetitle, если это строка?
{"pagetitle":"blabla bla bla","longtitle":"xxx bla egeg"}
Василий
Как мне найти bla именно в longtitle?
Василий
А ведь в реальности, я так понимаю, там вообще будет куча полей, а не 2
Василий
Регулярками искать?
Василий
Ну это жесть какая-то вырисовывается
Василий
Так что, моё мнение - это не решение
Oleg
Как мне найти bla именно в longtitle?
Смысл такой: в поле pagetitle сохранено не "бла бла титул, а "{'ru': 'бла бла титул', 'en': 'bla bla title'}"
Anonymous
Извиняюсь что влажу, а JSON где хранится?
Oleg
просто в одном поле MODX хранить не просто текст значения, а массив JSON с разными вариантами значения на разных языках.
Василий
И чем это лучше отдельной таблицы для хранения переведённых значений, учитывая, что ссылку на готовое дополнение уже дали выше?
Василий
у неё проблем с поиском уже нет - все данные нормализованы, ищи на здоровье по любому языку, полю и тексту
Oleg
В базе в ТВ есть поле ЗНАЧЕНИЕ, вот там хранить не одну строку значения на русском, например, а строку в виде JSON массива, как и для полей ресурсов. Какая разница, всё равно поля в базе все текстовые
Василий
Anonymous
Поиск работать не будет в любом случае
Anonymous
Потому что индексы
Oleg
Преимущество перед решением с доп. таблицами в том, что не нужно создавать доп. таблицы, и не нужно это делать для компонентов, ТВ итд. Логика тут в том, чтобы сам хранимый контент хранить не в виде строки на одном каком-то языке, а в виде JSON, содержащем значения этого поля сразу для нескольких языков
Василий
Да я думаю, что вообще, работа сайта будет очень весёлой, если тебе при любом действии нужно распаковывать JSON для каждого поля по нескольу раз, и запаковывать обратно при сохранении
Василий
Василий
В общем, ты спросил моё мнение - я ответил
Anonymous
Anonymous
а так вы в теории спорите с людьми, которые на практике пробовали не один способ
Anonymous
и знают о чем говорят
Oleg
Василий, мнение услышал, спасибо. Возможно ещё есть мнения у кого-то? Согласен, смежная таблица с переводами гораздо удобнее, сам юзаю этот метод, как уже упоминал. Но для РЕВО вариант с хранением переводов в строке мне показался интересным и наименее радикальным (так как структуру базы не нужно менять, и есть механизм плагинов, который может выполнять нужные действия по парсингу строки), вот и решил спросить людей, которые с архитектурой МОДЕКС более знакомы.
Oleg
Dmytro
Dmytro
И таким образом работает со всеми дополнениями )
Nikita
По поводу локализатора-он на обычных лексиконах работает. И взависимости от домена заменяет плейсхолдеры
Nikita
И если не ошибаюсь постгрес умеет искать по json, монго точно умеет
Dmytro
та же логика и в Рево будет
https://github.com/bumkaka/bLang