Сегодня в 11:46
— эта заготовка для создания ОДНОГО дополнения? Да
Или можно в рамках одного сайта разработать сразу 5 несвязанных друг с другом дополнений?Наверно...
mmxApp - разработка новых composer дополнений 6
Вчера в 20:52
Добрый день, подскажите, перестал работать плагин в Хроме и Эдж, а в Яндекс браузере работает. Что может быть?
modx + webp просто и надежно - автоматически 20
Вчера в 12:40
Если $data — массив с номером, товарами и датой, можно так:
<?php
$pdo = $modx->getService('pdoTools');
$data['count_products'] = count...
Как передать переменные внутрь чанка из сниппета и заполнить с помощью fenom? 1
28 апреля 2024, 22:59
Настроил всё по инструкции, но заказы в Сделки не попадают.
Анонс modB24CRM 18
28 апреля 2024, 20:45
хорошо, тогда уточню у клиента) но на будущее хотелось бы знать — как добавляется новый столбец? либо попросить добавить такой функционал)
[msOptionsPrice2] Как добавить свою колонку в Модификации? 6
28 апреля 2024, 01:36
Ответ оказался элементарным) Спасибо вам большое)
Настройка уровня вложенности ссылки в адресной строке 2
27 апреля 2024, 13:37
В системных настройках компонента вы указываете логин и пароль от API и все данные виджет берёт из вашего ЛК СДЭК. Дополнительная стоимость, которую м...
[msCdekWidget] Альтернативный калькулятор доставки СДЭК 19
27 апреля 2024, 00:53
Для второго (и последующих) контекста, то есть того, который имеет имя (key), отличное от web. Где там какой домен или поддомен, разницы нет. Как надо...
Как объединить два modx? 8
26 апреля 2024, 21:56
Понятно, изучать вкладки в migx…
Так то я пока освоил: создаем и заполняем таблицу с данными… Потом ее выводим…
Битый день гадаю: как сделать в migx-структуру с плавающими колонками.... 7
26 апреля 2024, 10:30
Вывожу файл на странице через посредника
8kbit.ru/assets/components/webdav/index.php?action=proxy&source=2&ctx=mgr&src=files/personal/nes/videos/Zoid...
[WebDAV] Медиа источник для облачных хранилищ 22
p.s. эх, вот бы они ещё систему прав пересмотрели, чтобы не надо было на каждый чих по группе пользователей создавать. И поддержку Postgres в xpdo добавили бы… Мечты-мечты)
Вообще, вся эта ситуация сложилась из-за того, что хипстота возвела ангуляр в статус культа, не особо разбираясь в вопросе, а потом, следуя веяниям этой моды, как на дрожжах начали плодиться фреймворки (rivets, ractive, vue) со схожими подходами, мол смотрите, мы такие же, как и ангуляр, только «лучше»! Ага-ага.
Кто-то идёт своим путём (react, riot, mithril), со своими синтаксисами и идеологиями. Кто-то от этого тащится, но меня к такому жизнь не готовила :) «Смешались в кучу — кони, люди».
Из новой гвардии есть ещё Ember. О нём могу сказать, что это хардкорная годнота с высоким порогом вхождения (мой уровень пониже, поэтому сильно в него не углублялся, времени нет).
Из старой — есть Backbone (со своим разношёрстным набором расширений, на каждый из которых надо потратить кучу времени, чтобы разобраться) и ExtJS.
На Backbone надо много писать руками, у ExtJS весь ui — компонентный уже из коробки, с декларативным подходом (что удобно).
В итоге, пришло осознание, что зря я в своё время с ExtJS'ом не подружился :-D
Грустно. И забавно одновременно)
Тогда в голове прочно сидела мысль, что Ext — это уже что-то монструозно-устаревшее и уж в наши-то времена по-любому есть что-то более удобное. Ага, как же.
Конечно, он тоже не без недостатков (с кучей недостатков)), но быстрота разработки (благодаря декларативному подходу), куча готовых ui-компонентов для crud-интерфейсов и по порогу входа ниже среднего — всё это перекрывает его недостатки и наповал валит всю эту новомодную разношёрстную братию. Для своих проектов и админок — идеален. Но делать на нём интерфейсы со сложной ux-логикой я бы всё-равно не стал, ибо разработка легко может перейти от декларативной к постоянной борьбе с самим фреймворком.
Вот прям чувствую, что ничего нового не предложат. И надеюсь на это. Потому что ExtJS для задач modx'а подходит идеально и доказал временем свою пригодность.
Другим достойным кандидатом может быть только Ember, но авторы Modx'а вряд ли на это пойдут, потому что порог вхождения для написания новых компонентов сильно увеличится, старые авторы отсеятся, новых не прибавится.
И вряд ли они выберут что-то построенное на jQuery (типа KendoUI). Потому что это те же яйца, только в профиль и сильно урезанные.
А больше выбирать-то и не из чего.
Компоненты, не завязанные на ext, легко можно делать хоть сейчас. Кому это нужно — тот пользуется такой возможностью, а кому нет — использует ext. Баланс идеальный. Вряд ли это станут менять. Да и не хотелось бы.
Единственное, что хотелось бы видеть — так это коннекторы чуть более restful-ориентированными и ui-kit (css-фрейворк со гайдлайнами), не завязанный на ext, описание которого вывести отдельным разделом в документации (чтобы получился свой getbootstrap.com). Вот тогда будет действительно офигенно и абсолютно универсально и каждый будет использовать то, что ему нравится и что умеет.
А не могли бы вы в той теме (ссылку на которую я выше кинул) по-подробнее расписать — что на что поменяли и т.п. На будущее, ткскзать, и для потомков)
Я очень много времени провёл в выборе адекватного фреймворка/библиотеки с двухсторонним дата-биндингом, отсутствием магии в исходниках, простоте в поддержке кода, и отсутствием навязывания структуры приложения.
Много чего смотрел — vue.js, riot.js, angular, react, ractive, rivets, mithril, куча их
plnkr.co/edit/leZaT043Yffz4LfG8Ykq
Так вот. Нахер ангуляр. Если вам кто-то рьяно советует брать ангуляр, то это либо очень хороший спец (каких действительно мало), либо ведомый на моду новичок (который не делал ничего сложнее примеров из туториалов). Причём очень хороший спец вряд ли будет вам его советовать, потому что он прекрасно знает сколько подводных камней может собрать неопытный разработчик. Писать на нём что-то серьёзное — это постоянная борьба с самим фреймворком (при условии отсутствия должного опыта). А набивать этот опыт — смысла тупо нет ибо сами авторы от своих подходов уже отказались и пилят новую версию с нуля вообще выбросив дата-биндинг со своим dirty-checking'ом.
Реакт можно брать и изучать только в том случае, если вас не воротит от адовой смеси html и типа-js (jsx). Меня лично воротит :-D
Та же история с riot — он прикольный, но для действительно сложных интерфейсов может не подойти. Та же адова смесь логики и вьюхи, но до кучи — каждый компонент должен лежать в отдельном изолированном tag-файле. Расширяемые насыщенные интерфейсы делать сложновато.
Vue — очень схожий с ангуляром в плане синтаксиса вьюх (если это вообще можно назвать вьюхами). Есть скринкаст, где парень за час написал на нём excel (прям с редактированием ячеек и формулами). Но если взглянуть на этот код через полгода, то хоть с бутылкой, хоть без неё — разобраться проблематично. В плане поддержки кода и вхождения в проект — не оч.
Rivets/ractive — всё туда же, но со своими приколами.
Лично для себя я выбрал (не поверите) матрёшку. Я приверженец выбранного автором матрёшки подхода — вьюхи отдельно, логика работы с вьюхами — отдельно. Из коробки двухсторонний дата-бинд без магии (на геттерах и сеттерах). Это то, чего мне так не хватало в любимом мною Backbone'е.
Структура приложения не навязывается — хочешь писать на «классах» — пиши, хочешь писать универсальные расширяемые ui-компоненты — пиши (если умеешь)). Шаблонизатор — бери любой по вкусу (я выбрал swig). Хочешь компилировать вьюхи на этапе сборки? Всё в твоих руках (привет ангуляр, vue, ractive).
Да, кода надо писать побольше, но зато он полностью под твоим контролем и в нём разберётся любой джуниор, миддл — тем более.
А если нету жёстких условий по интерфейсу и дизайну — берите ExtJS, используйте его обширную библиотеку готовых компонентов и не заморачивайтесь.
Как-то так.
modx.pro/help/4080/
Может и вам что-нибудь из того списка поможет
Потому что мне, для этих же целей, он ключик зажал. Прям хоть в яглу иди, блин.
где вместо domain.tld подставьте домен своего сайта (точку в начале не забудьте).
Но имейте в виду ещё и такой нюанс. Может быть проблема в этом?
Да даже я для себя делал такой вот скрипт clickjacking'а, только так ни разу им и не воспользовался ибо совесть.
Холиваров на эту тему было мерянно-немерянно и прошли они года два назад. Как-то поотстали вы от современного интернет-маркетинга)
Судя по тому, что сервисы живут и здравствуют уже несколько лет — с юридической точки зрения к ним не подкопаться.
Так что смысла в ещё одном холиваре нет — все обсуждения прекрасно гуглятся. А использовать или нет, честно/нечестно, красиво/некрасиво, как обычно, каждый решает для себя сам.
p.s. сорри, веткой промахнулся
Но, первым делом, я бы изучил код msdGetDiscount-сниппета, изучил бы его логику, с какими таблицами он работает, как работает с акциями, скидками, группами пользователей и т.п.
И по аналогии написал бы плагин на событие регистрации нового пользователя, который и сделает нужную работу.
Обратиться можно, конечно, да только вот, к сожалению, времени нет. И в ближайшие несколько месяцев — не появится.
Но я могу дать вам пару рекомендаций, чтобы вы смогли двигаться в верном направлении :)
1. Обратите внимание на msDiscount.
2. Можете также обратиться к любому разработчику из списка пользователей сообщества. Уверяю — там много талантливых разботчиков (гораздо талантливее меня)), с которыми вы сможете прийти к каким-либо договорённостям.
3. Создать объявление о работе — тоже вариант :)
Надеюсь, помог)
4) modx.pro/howto/5139-super-modx-strict-seo-accelerated-frontend/
По интернету, конечно, есть отдельно взятые статьи и на русском, и на английском, но назвать это документацией — сложно)
MyISAM не поддерживает транзакций. И php никаким образом не может заставить эти транзакции работать, потому что это уровень базы данных — если мускул не умеет, то php тут бессилен.
Вызов функций $modx->beginTransaction(), $modx->commit() и $modx->rollBack() не даёт ровным счётом ничего, ибо это просто обёртки над стандартными одноимёнными функциями встроенного в php PDO-класса.
Сейчас лень проверять, но, если мне не изменяет память (больше года назад с этим разбирался, не помню уже), ни одна из этих функций не возвращает false, если идёт работа с нетранзакционными таблицами (т.е. с MyISAM) и ведут они себя просто как заглушки, не влияя на ход выполнения программы и не выбрасывая никаких исключений или ошибок.
Как мы выяснили выше, xPDO умеет работать только с MyISAM. Транзакции есть в InnoDB.
Автор в той статье не уточняет — научил ли он работать modx с innodb или нет. Если бы научил, подозреваю, что статья была бы именно об этом, а не о транзакциях.
Вывод? Какая-то бессмысленная там статья.
Решал это тем, что в методе открытия окна делал проверку на существование этого же окна в dom'е. Если в dom'е оно есть, то делаем hide(), remove(), а потом создаем окошко заново.
У окна, соответственно, жестко прописанный id-шник.
Как-то так: