Fi1osof
С нами с 05 мая 2014; Место в рейтинге пользователей: #103 часа назад
Возник вопрос, цена то да, меняется через msOnGetProductPrice или msOnGetProductFields, а самое главное то, что никто не задавался вопросом, что сорти...
Событие msOnGetProductPrice установить old_price 2
Вчера в 15:55
не помогло к сожалению, подскажите пожалуйста, в каком направлении вы бы продолжили искать?
msOneClick. Ошибка, не появляется модальное окно 2
11 декабря 2024, 15:29
Разобрался!
Использую редактор Tinymcerte
В системных настройках нужно отключить Относительные URL!
Теперь обычные внутренние ссылки корректные...
Jevix чудит 8
11 декабря 2024, 14:35
Николай, низкий поклон за время и труд, тебе и всем ребятам, кто приложил руки.
Очень-очень жду и уповаю на ms3, буду рад чем-либо помочь (тестирован...
MiniShop3 - 1.0.0-alpha 16
11 декабря 2024, 13:12
Спасибо, точно, забыл про это поле. Может есть пример сниппета на запись в это поле? Не могу понять как обратиться к нужному файлу, получить его поле ...
[UserFiles] - Файлы пользователя. 188
11 декабря 2024, 11:13
Спасибо добрейшее. А тип поля «Текстовая область», как-то можно сменить на TinyMCE RTE?
[ExtraFields] Поле "не появляется/не включить" в "Настройках форм/шаблон Това... 2
10 декабря 2024, 22:05
[[!msOptions?
&options=`mount`
&tpl=`tpl.msOptions.Roman...
[Решено] Сортировка параметров опции 2
10 декабря 2024, 17:06
да, работает, спасибо!
[msProducts] Как вывести в каталог только те товары, у которых есть изображения в галерее? 2
09 декабря 2024, 12:36
Я разобрался :)
Достаточно было тупо < img… > обернуть в маркированный список, получилось как то так:
{
"header": "Изобр...
Как отобразить в таблице родительского MIGX изображения из дочернего MIGX? 8
Возможность создавать заметки особенно полезна, когда с сайта передаются не только простые поля (типа емейл, имя и т.п.), а какие-нибудь данные из более сложных форм (произвольные текстовые сообщения, информация по товару или типа того).
Создание События:
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», и скорее всего вообще не стал бы оформлять свой этот компонент. А бегать за тобой и упрашивать тебя доработать это все дело, да еще так, чтобы не обидеть тебя — вообще не улыбается. И, ты пишешь на публичном форуме. Будь готов к публичной обратной связи. За какие каврижки я должен тебя в личке консультировать (а то и слать готовые исправления), чтобы твой продукт стал лучше. Он ТВОЙ? Вот и делай его лучше. Я итак тебе много чего полезного сказал, а что в ответ получил? Минуса в карму. Не вынуждай меня переходить на личную тему, мне это не интересно. Мне интересна функциональность. Знал бы, что ты такой обидчивый, ничего бы тебе не писал. Но упомянуть твой компонент обязан был, потому что знаешь что мне сказали бы все? «А что это ты новый компонент запилил и выложил, если уже есть аналог». И все равно к этому пришли бы. Прекращай ныть, серьезно.
Ты сделай опрос. Как много людей смогло воспользоваться твоим готовым решением. У кого в реальности это заработало? Оформи хотя бы нормальный сборщик, чтобы это действительно в одну строчку устанавливалось, тогда будешь говорить. Пока что это «готовое решение» только для тебя. И под каждый чих ты будешь такие готовые решения выпускать. Потому что ты решение делаешь, а не технологию. В общем, время покажет. Мне пофигу на всю эту конкуренцию, я делаю свое, так что особо меряться не собираюсь. Но рассчитывал, что параллельно еще кто-то подобные технологии будет растить, но вижу сейчас не технологии, а детские обиды.