Fi1osof
С нами с 05 мая 2014; Место в рейтинге пользователей: #1055 минут назад
Тут такое дело, что один очень уважаемый в сообществе человек, который занимается поддержкой и развитием компонента miniShop, вторую версию давно не о...
minishop2.com. Почему то не хочет в админку сайта заходить 1
Вчера в 12:41
Подскажите как работает счетчик загрузок (я так понимаю поле 'download') но оно по у меня не обновляется, всегда показывает 0. И как получить поле раз...
FileMan - прикрепление файлов к ресурсам для MODX 3 53
Вчера в 11:46
После стольких мучений, я понял что SendIt и Polylang очень даже дружат.
Моя ошибка была в том, что я не увидел одного мелкого важного момента.
...
Как подружить SendIt и Polylang ? 5
Вчера в 09:57
Красавчик. Надеюсь в ближайшее время тебе передадут права. Очень не хватает этого критически важного компонента, без которых многие магазины не обходя...
Отправка заказов MiniShop2 в CDEK 2
20 декабря 2024, 19:42
Подскажите а как написать путь к файлу пресетов если папка core вынесена за пределы public_html и переименована?
выдает ошибку что путь к пресетам за...
[SendIt 2.0.0] Пагинация и обновлённая загрузка файлов 26
20 декабря 2024, 13:32
Я-то понял :)
Исправил, может так понятнее будет.
Изменяются имена файлов картинок при их загрузке в админке 2
20 декабря 2024, 00:21
Превьюшки нашел.
Они в этом массиве [_embedded][items][номер файла][sizes]
Остался вопрос с кешированием
Получение и вывод списка картинок с яндекс диска 3
19 декабря 2024, 21:35
Попробуйте поменять
'tplFilter.row.msoc|color' => '@FILE chunks/tpl.mfilter2.filter.checkbox.color.tpl'на
'tplFilter.row.msoc|color~value~color' ...
Подключение msOptionsColor 1
Возможность создавать заметки особенно полезна, когда с сайта передаются не только простые поля (типа емейл, имя и т.п.), а какие-нибудь данные из более сложных форм (произвольные текстовые сообщения, информация по товару или типа того).
Создание События:
element_type: 1 — контакт, 2 — сделка.
element_id: id объекта (в нашем случае аккаунта).
note_type: 4 — это произвольная заметка по контакту.
Полный список типов здесь: developers.amocrm.ru/rest_api/notes_type.php
Получение всех Событий по контакту:
Да, все верно, моя ошибка.
Особенно важно поле tags. Если прописать хотя бы вот так $default_fields = array('name','tags'), уже получается создавать контакты с тэгами.
Пока же пришлось делать так:
И вот здесь всплывает еще один момент: хорошо было бы иметь возможность в метод addContext() передавать объект контакта, чтобы не приходилось формировать запрос.
А в целом все работает, контакты создаются, список контактов из АМО получается забрать и прочий необходимый функционал есть. Спасибо за компонент! Пригодился.
Добавил уточнение в топик.
Максим ниже показал как.
Если switchUser, то отвечу, что пока он этого не умеет делать, к сожалению. Может позже добавлю эту функцию. Пока же можете сделать копию текущего плагина, старый отключить, а в новом перечислить нужные контексты в конструкции $modx->user->addSessionContext($modx->context->key); типа
$modx->user->addSessionContext('web');
$modx->user->addSessionContext('web2');
$modx->user->addSessionContext('web3');
Если контекстов много, то конечно же можно получить список контекстов запросом.
Выглядит сайт пока не очень, но под капотом там очень серьезно получается.
Наиболее интересные моменты:
1. Сайт отображается без JS ровно так же, как и с JS (отрисовка происходит на стороне сервера).
2. По тестам гугла 94/100 баллов (картинки не оптимизировали, и ответ от сервера пока не очень).
3. Отдельная песня — работа сервера. Запрос идет не сразу на MODX-сайт, а проксируется нгинксом на node.js. Тот, если надо, отправляет запрос на MODX на отдельный порт, получает ответ от MODX-а, обрабатывает его (с отрисовкой на сервере) и возвращает конечный код. Сам же ответ от MODX-а идет не в HTML, а JSON (для этого переопределен modResponse-класс). Вот так примерно это выглядит:
Шаблонизация обеспечивается material-ui
Но самая гордость — это редактор на базе draft-js. На него особенно много времени ушло. Это потрясающая штука! Фишка в том, что все видимые сообщения — это все отдельные редакторы, просто в режиме readonly. И все эти сообщения отрисовываются из исходных данных в формате JSON. В одно сообщение можно закинуть сколько угодно различных информационных блоков, каждый из которых потом редактироваться может как самостоятельная сущность. К примеру здесь мы имеем различные блоки кода (с самостоятельными режимами подсветки).
Если кликнуть Редактировать, то редактор просто переходит в состояние readonly=false и становится полноценным редактором, без подгрузки каких-либо данных с сервера. И сразу видно как оно будет выглядеть в конечном итоге, и после сохранения оно будет выглядеть ровно так же, как и в режиме редактирования.
В общем, при желании можно много всего навернуть, но, все это реально очень сложно. Поверьте на слово. Наша команда два месяца с головой была в изучении всего этого, и только сейчас можно сказать что мы боле менее что-то освоили. Использовать это на мелких сайтах — очень сомнительно. Сложность проекта будет расти сильно, риски тоже, а вот реальная отдача не особо. Но для сервисов можно действительно крутые вещи получать.
Юрий, я не знаю такого курса. Но информации много и здесь, и у нас на сайте modxclub.ru, и на других ресурсах. Другое дело, что этой информации очень много, и все равно только в процессе работы будет приходить необходимый опыт. Я этот свой комментарий оставил просто для того, чтобы видели, что есть и другие рабочие механизмы в MODX, которые лучше подходят для реализации подобных задач, чтобы знали в сторону чего копать. Но четкого сценария нет, надо в любом случае изучать все это.
Прочитайте вот этот комментарий, может идеи возникнут.
P.S. Я бы так не стал делать, слишком много тонких моментов.
Но мы ничего не знаем что там у них на стороне 1С. Знаем только, что там работают 1С-ники в штате, который разрабатывают необходимое API, чтобы мы со стороны сайта в любой момент могли подключиться и получить нужную информацию (или передать инофрмацию).
Но на самом деле у нас есть пара других кейсов, когда на сайте вообще цены и остатки по сути не хранятся. На любое взаимодействие с товаром информация по остаткам и т.п. запрашивается в 1С, и заказы отправляются в 1С. Сайт здесь выступает просто как веб-морда. И это опять-таки не относится к рассматриваемым здесь технологиями, хотя решает поднятые вами вопросы.
ОК. +1.
Серьезно?
Пришлось, правда, покопаться, в основном с установкой твоих компонентов. Почитай мануал по установке у себя и сравни с этим: npm install modmonitor
Кстати, почему ты у себя в документации лукавишь? Пишешь
А на самом деле должно быть
У тебя даже в плагине так прописано.
Видимо тебя фатальные ошибки у клиентов не волнуют.
Для сокетов вполне годится ws. Под уведомления во всплывашках alertifyjs. Тебе веб-морду надо какую-то надо накидать? — express в помощь. И это будет, вполне возможно, более гибкое решение, чем socket.io. Но это так, к слову. Конечно же каждый сам для себя выбирает инструмент.
Вот. Уже лучше становится. А если ты добавишь возможность слать запрос вообще на любой адрес, а не только на /socket.io/, то сможешь уже слать запросы куда угодно, а не только на socket.io. Не понимаю почему ты этому так сильно противишься.
Еще раз: не обижайся ты так. Не спорить надо было, а дорабатывать свой функционал. Тогда бы я сказал не «к сожалению, он не умеет работать с посторонними ресурсами», а «для отправки запросов можно воспользоваться компонентом modNodeJS», и скорее всего вообще не стал бы оформлять свой этот компонент. А бегать за тобой и упрашивать тебя доработать это все дело, да еще так, чтобы не обидеть тебя — вообще не улыбается. И, ты пишешь на публичном форуме. Будь готов к публичной обратной связи. За какие каврижки я должен тебя в личке консультировать (а то и слать готовые исправления), чтобы твой продукт стал лучше. Он ТВОЙ? Вот и делай его лучше. Я итак тебе много чего полезного сказал, а что в ответ получил? Минуса в карму. Не вынуждай меня переходить на личную тему, мне это не интересно. Мне интересна функциональность. Знал бы, что ты такой обидчивый, ничего бы тебе не писал. Но упомянуть твой компонент обязан был, потому что знаешь что мне сказали бы все? «А что это ты новый компонент запилил и выложил, если уже есть аналог». И все равно к этому пришли бы. Прекращай ныть, серьезно.
Ты сделай опрос. Как много людей смогло воспользоваться твоим готовым решением. У кого в реальности это заработало? Оформи хотя бы нормальный сборщик, чтобы это действительно в одну строчку устанавливалось, тогда будешь говорить. Пока что это «готовое решение» только для тебя. И под каждый чих ты будешь такие готовые решения выпускать. Потому что ты решение делаешь, а не технологию. В общем, время покажет. Мне пофигу на всю эту конкуренцию, я делаю свое, так что особо меряться не собираюсь. Но рассчитывал, что параллельно еще кто-то подобные технологии будет растить, но вижу сейчас не технологии, а детские обиды.