Fi1osof
С нами с 05 мая 2014; Место в рейтинге пользователей: #1029 минут назад
Привет не понятно где храниться код который ты добавляешь. И что за код. Рискну предположить, что у тебя обрезается код сниппетов. Сниппеты хранятся в...
Modx Revo режет код HTML 1
Вчера в 11:51
Отличное дополнение, спасибо!
Подскажите, как организовать файл если стоит msOptionsPrice2 привязан к опции size там может быть много позиций с разн...
[YandexMarket2] интеграция с msOptionsPrice2 1
Вчера в 00:42
Еще снова вернулась проблемка, после выбора способа доставки почтой РФ — появляется стоимость доставки, но она «прилипает» и не исчезает после переклю...
Расчет стоимости доставки msRussianPost 11
22 ноября 2024, 21:57
Лучше деинсталировать и установить новую версию. Там полностью переписан JS.
ms_CDEK2 пропал? 5
22 ноября 2024, 20:33
Фильтрация как правило предполагает точное совпадения значений, а тебе нужен поиск.
mFilter2 фильтрация tv 1
22 ноября 2024, 19:55
Все исправилось, после замены на 'parents' => $_modx->resource.id
Помогите найти ошибку в шаблоне, теги 13
22 ноября 2024, 09:31
А кто подскажет, как в форму Создания/Редактирования ресурса, через ms2Form, добавить возможность выбирать несоклько параметров в одном TV?
Ну то-ест...
Создание ресурсов из фронтенда сайта, зарегистрированными пользователями. 4
22 ноября 2024, 08:53
если правильно понял то так
{set $rows = json_decode($_modx->resource.constructor_block, true)}
{foreach $r...
getImageList. Вывести вложенный migx на fenom 1
22 ноября 2024, 08:43
Подскажите, если на странице будет две формы, они будут работать? К примеру reCaptchaV3 этого сделать не может, нужно через костыль в виде скрипта, ко...
YaSmartCaptcha - защитите ваши формы от спама умной капчей от Яндекс 5
20 ноября 2024, 16:25
В сниппете rcv3_html достаточно отложить загрузку через setTimeout (хотя кто-то делает через onClick). Не думаю что мой вариант самый правильный и что...
reCaptcha v3 - отложенная загрузка 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», и скорее всего вообще не стал бы оформлять свой этот компонент. А бегать за тобой и упрашивать тебя доработать это все дело, да еще так, чтобы не обидеть тебя — вообще не улыбается. И, ты пишешь на публичном форуме. Будь готов к публичной обратной связи. За какие каврижки я должен тебя в личке консультировать (а то и слать готовые исправления), чтобы твой продукт стал лучше. Он ТВОЙ? Вот и делай его лучше. Я итак тебе много чего полезного сказал, а что в ответ получил? Минуса в карму. Не вынуждай меня переходить на личную тему, мне это не интересно. Мне интересна функциональность. Знал бы, что ты такой обидчивый, ничего бы тебе не писал. Но упомянуть твой компонент обязан был, потому что знаешь что мне сказали бы все? «А что это ты новый компонент запилил и выложил, если уже есть аналог». И все равно к этому пришли бы. Прекращай ныть, серьезно.
Ты сделай опрос. Как много людей смогло воспользоваться твоим готовым решением. У кого в реальности это заработало? Оформи хотя бы нормальный сборщик, чтобы это действительно в одну строчку устанавливалось, тогда будешь говорить. Пока что это «готовое решение» только для тебя. И под каждый чих ты будешь такие готовые решения выпускать. Потому что ты решение делаешь, а не технологию. В общем, время покажет. Мне пофигу на всю эту конкуренцию, я делаю свое, так что особо меряться не собираюсь. Но рассчитывал, что параллельно еще кто-то подобные технологии будет растить, но вижу сейчас не технологии, а детские обиды.