Содержание

Избранное для MODX Revo с использованием ajax • фриланс-работа для специалиста • категория PHP ≡ Заказчик Guess Who

6 из 6

проект завершен

  1. публикация

  2. прием ставок

  3. утверждение условий

  4. резервирование

  5. выполнение проекта

  6. проект завершен


Нужно сделать компонент Избранное для MODX Revo с использованием ajax.

Возможность добавлять/удалять в избранное статьи в выборке pdoresources / pdopage.

Возможность добавлять/удалять в избранное статью на странице статьи.

Избранные статьи должны сохраняться в куки браузера без перезагрузки страницы.

На странице Избранное нужно выводить избранные статьи сниппетом pdoresources / pdopage.

Компонентом будут пользоваться незарегистрированные пользователи.

Реализация на тестовом сайте.

Есть готовое решение https://modstore.pro/packages/ecommerce/msfavorites , но купить его не могу — платежные системы сайта не поддерживают украинские карты.

Нашел некоторые наработки, возможно сможете адаптировать:

https://stackoverflow.com/questions/44999482/how-to-run-cookielist-modx-extension-with-ajax

https://pastebin.com/uFAfqTNk 

https://pastebin.com/emrTwvj6 

Отзыв заказчика о сотрудничестве с Наталией Бабенко

Избранное для MODX Revo с использованием ajax

Качество

Профессионализм

Стоимость

Контактность

Сроки


Наталия все сделала по договору. Спасибо!

Отзыв фрилансера о сотрудничестве с Guess Who

Избранное для MODX Revo с использованием ajax

Оплата

Постановка задачи

Четкость требований

Контактность


  • Ставки 3

дата онлайн рейтинг стоимость время выполнения


  1. 2 дня4000 UAH

    2 дня4000 UAH

    Здравствуйте, готов выполнить. Пишите в личку. Обсудим детали. С modx на ты

  2. 2 дня2000 UAH

    2 дня2000 UAH

    Приветствую!
    Специализируюсь на MODX. Реализую функционал избранного.

    Обращайтесь!

  3. Победившая ставка1 день1700 UAH

    Победившая ставка1 день1700 UAH

    Здравствуйте. Готова выполнить ваш проект. Опыт работы с modx больше 9 лет.
    П.С. есть возможность купить дополнение, которое вы указали


30 дней 8 часов назад

33 просмотра

Быстрый ввод адресов по ФИАС (ГАР), компаний по ЕГРЮЛ, банков, ФИО и email

Быстрый ввод адресов, компаний, банков, ФИО, email и ещё много чего

Адрес

мск сухонская 11 89

Квартира найдена в ГАР

Выберите вариант или продолжите ввод

г Москва, ул Сухонская, д 11, кв 89

г Москва, ул Сухонская, д 11А, кв 89

Нажмите, чтобы попробовать вживую

Индекс

127642

Регион

г Москва

Населенный пункт

Улица

ул Сухонская

Корпус

Квартира

89 34.

6 м2

«Подсказки» разложат адрес по полям
и расскажут другие полезные сведения

Дополнительная информация

Код ФИАС (ГАР)
f26b876b-6857-4951-b060-ec6559f04a9a

Часовой пояс
Московское время (UTC+3)

Район
Северное Медведково

Ближайшее метро
Бабушкинская (1.1 км)

Кадастровый номер
77:02:0004008:4143

Уровень по ФИАС
9 (квартира)

Геокоординаты
55.87826, 37.65372, внутри МКАД

Компания

моторика мос

Найдена в ЕГРЮЛ

Выберите вариант или продолжите ввод

ООО «МОТОРИКА»

77 19 40204 7 г Москва, г Троицк, Сиреневый б-р, д 1

ООО «МОТОРИКА»

40 28 05110 8 г Калуга ул Московская, д 328

Нажмите, чтобы попробовать вживую

Наименование

ООО «МОТОРИКА»

ИНН

7719402047

КПП

775101001

ОГРН

1157746078984

Адрес

108840, г Москва, г Троицк, Сиреневый б-р, д 1

Дата регистрации

05. 02.2015

Статус

Действующая

«Подсказки» заполнят реквизиты
и расскажут другие полезные сведения

Дополнительная информация

Генеральный директор
Чех Илья Игоревич

Учредители
Андрей Давидюк, Илья Чех,
Руслан Бабинцев, Василий Хлебников

ОКВЭД
72.19 (2014)
Научные исследования и разработки в области естественных и технических наук прочие

Налоговая инспекция
№ 46 по г. Москве (проезд Походный, д 3 стр 2)
код 7746

Финансы
Доходы 40 млн ₽, расходы 20 млн ₽, долгов и штрафов нет.

Количество сотрудников
18

Город, улица, дом, квартира

иностранные города

подсказки латиницей

муниципальное деление

[[ validationMessage ]]

Индекс

по данным Почты от 23 июня

Все поля заполняются
автоматически

Регион

[[ historyValues ]]

[[ address. federal_district ]] фед. округ

Район

[[ centralArea ]]

[[ historyValues ]]

Город / н.п.

[[ capitalMarker ]]

[[ historyValues ]]

Улица

[[ historyValues ]]

Квартира

Площадь [[ address.flat_area ]] м², стоимость [[ flatPrice ]] ₽

кадастровый номер [[ address.flat_cadnum ]]

Комната

Зем. участок

кадастровый номер [[ address.stead_cadnum ]]

 копировать ссылку на адрес  ✓

OpenStreetMap ID

[[ address.fias_id ]]

Geoname ID

[[ address.geoname_id ]]

Геокоординаты

[[ geoLinkLabel ]] [[geoLinkDescription]]

Часовой пояс

[[ address.timezone ]]

ISO-код

[[ isoCodes ]]

Ближайшее метро

Геокоординаты

[[ geoLinkLabel ]] [[geoLinkDescription]]

Часовой пояс

[[ address.timezone ]]

ISO-код

[[ isoCodes ]]

Уровень по ФИАС

[[ fiasLevel ]]


Код ФИАС (ГАР)

Кадастровый номер

Код КЛАДР

[[ address. kladr_id ]]

Код ОКАТО

[[ address.okato ]]

Код ОКТМО

[[ address.oktmo ]]

Код ИФНС

[[ address.tax_office ]]

СДЭК

[[delivery.cdek_id]]

Boxberry

[[delivery.boxberry_id]]

DPD

[[delivery.dpd_id]]

запросить

Сведения актуальны на 21.10.2022

Индекс

Регион / район

Город / н.п.

От региона до дома
работают подсказки

Квартира

Площадь [[ address.flat_area ]] м², стоимость [[ address.flat_price ]] ₽

Сведения актуальны на 21.10.2022

Организация или ИП

[[ name ]]

[[ fullname ]]

Основной вид деятельности

[[ okved ]]

Юридический адрес

Город

[[ address ]]

на карте

Учредители

[[ founder | formatFounderName ]]

ИНН [[ founder.inn ]]

[[ founder.share | formatFounderShare ]] доля

Правопредшественники

[[ party. name ]]

ИНН [[ party.inn ]]

Правопреемники

[[ party.name ]]

ИНН [[ party.inn ]]

Реестр МСП

Коды статистики

ОКАТО: [[ party.okato ]]

ОКТМО: [[ party.oktmo ]]

ОКПО: [[ party.okpo ]]

ОКОГУ: [[ party.okogu ]]

ОКФС: [[ party.okfs ]]

[[ managerTitle ]]

[[ managerName ]]

[[ managerInn ]]

⚠️ дисквалифицирован

ОГРН

[[ party.ogrn ]]

от [[ registrationDate ]]

ИНН / КПП

[[ party.inn ]]

[[ party.kpp ]]

Статус

[[ status ]]

Реестр МСП

Коды статистики

ОКАТО: [[ party.okato ]]

ОКТМО: [[ party.oktmo ]]

ОКПО: [[ party.okpo ]]

ОКОГУ: [[ party.okogu ]]

ОКФС: [[ party.okfs ]]

Уставной капитал

Спец. налоговый режим

Доходы • [[ party. finance.year ]]

Расходы • [[ party.finance.year ]]

Недоимки

Штрафы

Телефон

[[ phone.value ]]

Email

[[ email.value.toLowerCase() ]]

Среднесписочная численность

[[ employeeCount ]]

Налоговая инспекция

Свидетельство о регистрации

[[ registration ]]

на сайте налоговой

Пенсионный фонд

Фонд соц. страхования

 копировать ссылку на организацию  ✓

Сведения актуальны на 23.10.2022

Банк

Наименование

[[ fullname ]]

БИК / SWIFT

ИНН / КПП

Корсчет

Казначейские счета

Рег. номер

Дата регистрации

 копировать ссылку на банк  ✓

Сведения актуальны на 22.10.2022

ФИО

[[ validationMessage ]]

Фамилия

Имя

Эти поля заполняются
автоматически

Отчество

Пол

И пол тоже!

Именительный:

[[ fio. result ]]

Родительный: кого?

[[ fio.result_genitive ]]

Дательный: кому? 

[[ fio.result_dative ]]

Творительный: кем?

[[ fio.result_ablative ]]

Падежи подключаются отдельно, через API стандартизации.

Фамилия

Имя

Для каждого из полей
работают подсказки

Отчество

[[ validationMessage ]]

Именительный:

[[ fio.result ]]

Родительный: кого?

[[ fio.result_genitive ]]

Дательный: кому? 

[[ fio.result_dative ]]

Творительный: кем?

[[ fio.result_ablative ]]

Падежи подключаются отдельно, через API стандартизации.

Справочник

Кем выдан паспортПочтовые отделенияНалоговые инспекцииТаможниМировые судыСтанции метроМарки автомобилейТовары и услугиСтраныВалютыДоменыОКВЭДОКПДОКТМО

Выбранная запись:

  • [[ key ]]: [[ value ]]
Подключить бесплатно

10 тысяч запросов в день
≈ 300 введенных адресов

ввести один адрес 10–30 запросов
ФИО, email, компанию или банк 10–20 запросов

«Подсказки» помогут ввести

Почтовый адрес

По России и всему миру. Без опечаток, с почтовым индексом, привязкой к ФИАС (ГАР), районом города, метро и координатами.

Реквизиты компании и ИП

Название организации, адрес, ИНН, КПП, ОГРН, ОКВЭД, руководитель и прочее от налоговой

ФИО

Без опечаток и с полом

Email

Без опечаток

Банк

Название, ИНН, БИК, SWIFT, адрес и корр. счёт

И любые другие справочники

Кем выдан паспорт, почтовые отделения, метро, автомобили, страны, валюты и много других. Можно подключать собственные!

С чем работают «Подсказки»

  • Битрикс24
  • Opencart
  • WordPress
  • Drupal
  • amoCRM
  • jQuery-плагин
  • HTTP API

и ещё 80 готовых модулей

и ещё 80 готовых модулей

Если вы разработчик — сделайте свой модуль по гайдлайну, чтобы получить бесплатный пиар в рассылке и соцсетях Дадаты

Уже на 34 000 сайтов

«Подсказки» используют QIWI, OZON, KUPIVIP. RU, JOOM, METRO, ВсеИнструменты, ИЛЬ ДЕ БОТЭ, ЮМани, Росбанк и другие крупнейшие сайты Рунета.

До Дадаты было две проблемы:

  1. Адреса написаны всегда по-разному, приходилось переспрашивать сам адрес и индекс.
  2. Расчёт доставки вручную, клиент общался с менеджером по телефону.

Дадата помогла решить обе:

  1. Адреса теперь стандартизированы — если человек не ввел адрес с точностью до дома, то заказ не оформляется. Это снимает нагрузку с менеджеров, и снижает вероятность ошибки.
  2. Мы точно знаем код ФИАС каждого адреса и смогли интегрировать сайт с курьерской службой. Клиент сам выбирает способ доставки на сайте, а не по телефону с менеджером. Удобнее всем — и клиенту, и менеджерам.

Подключили Подсказки. Раньше на ручную обработку отправлялась до 35% адресов по Москве и МО, теперь не более 15%.

Удобное, современное и настраиваемое API и подсказки, «живой» контакт с разработчиками.

На форме заказа оставили одно поле для адреса и подключили подсказки «Дадаты». Конверсия в заказ выросла на 20%.

[[plan.header]]

50 тыс. запросов в день

Все поля по ФИО, email и банку

Базовые сведения по адресу и компании

Геокоординаты

Все города мира

Публичные справочники

100 тыс. запросов в день

Всё, что в «Лёгком», плюс:

Геокоординаты и расстояние до кольцевой

Все ОКВЭДы компании

Реквизиты налоговой и пенсионного фонда

Численность сотрудников и система налогообложения

Счет для юрлиц — после регистрации

действует [[ subscription.end_date ]]

Бесплатный тариф

Как «Легкий», но с ограничением 10 тыс. запросов в день.

Инструкция по настройке

Что такое «запрос»

×

На каждый символ, который вводит человек, виджет «подсказок» отправляет отдельный запрос к «Дадате».

  • Ввести один адрес: 10–30 запросов
  • ФИО, email, компанию или банк: 10–20 запросов

При работе через API вы сами контролируете, сколько и каких запросов отправлять.

Базовые сведения по адресу

×

Почтовый индекс.

Адрес одной строкой, от региона до квартиры (Россия).

Отдельные поля адреса: регион, город, улица, дом, квартира (Россия).

Адрес одной строкой и отдельными полями от страны до города (остальные страны).

Геокоординаты.

Код ФИАС (ГАР), КЛАДР-код, ОКАТО, ОКТМО и ИФНС.

Базовые сведения по компании

×

Краткое и полное название, организационно-правовая форма.

Адрес одной строкой и гранулярный.

ОГРН, ИНН, КПП, основной ОКВЭД.

ФИО и должность руководителя.

Статус организации: действующая или ликвидирована.

Ваши собственные справочники

×

Вы можете подключить к «Дадате» собственный справочник:

  • На бесплатном тарифе, а также тарифах «Лёгкий» и «Расширенный» он будет доступен всем остальным пользователям.
  • На тарифе «Максимальный» можно загружать приватные справочники, скрытые от остальных.

API-сервисы

Все тарифы

Обратное геокодирование

Находит ближайший адрес по географическим координатам.

Город по IP-адресу

Определяет город с почтовым индексом по IP-адресу в России.

Адрес по коду

Возвращает всю информацию об адресе коду КЛАДР / ФИАС (ГАР) или кадастровому номеру.

Ближайшее почтовое отделение

Находит точное отделение по индексу или ближайшее — по координатам.

Идентификатор города в службе доставки

Для интеграции со СДЭК, Boxberry и DPD.

Организация по ИНН

Определяет реквизиты компании или ИП по ИНН или ОГРН.

«Максимальный»

Аффилированные компании

Находит организации по ИНН учредителей и руководителей.

Коробочная версия

Устанавливается на ваш сервер.

Подходит, если больше 1 млн запросов в день, или отдел безопасности запрещает использовать «облака».

Включает виджет для пользователей и API для программ.

Подключается к любым корпоративным справочникам.

Стоимость

825 тыс. ₽ за адреса или 1500 тыс. ₽ за все компоненты. Включает лицензию и обновления на 3 года для одного экземпляра «Подсказок».

Запросить договор

Прочие условия

Формы MODX через AJAX

Формы AJAX FTW

Ваш веб-сайт имеет формы, но вы хотите сделать все это с помощью AJAX. Вы можете сделать это в MODX, настроив выделенный ресурс, который вызывает сниппет FormIt. Ваш JS отправит форму в этот ресурс, а затем вы, вероятно, захотите, чтобы он возвращал JSON, чтобы вы могли передавать любые ошибки и сообщения обратно пользователю в браузере.

часов в час

Как оказалось, заставить FormIt отвечать в формате JSON довольно сложно. Вам в значительной степени нужно отформатировать JSON в фрагменте tpl и вставить значения через заполнители FormIt. Что действительно раздражает, так это то, что сообщения об ошибках не приходят в формате JSON — часто они на самом деле завернуты в HTML. Вы может настроить большинство, если не все, выходные данные, но это переопределяет множество фрагментов, и вам нужно вызывать модификатор вывода для каждого заполнителя, чтобы гарантировать, что значение экранировано для JSON. Фу.

MODX и FormIt спешат на помощь!

Начиная с FormIt версии 2.2.10, есть более простой способ. Я отправил PR, который замечательные люди из Sterc любезно рассмотрели и объединили — вместе с важными исправлениями, связанными с безопасностью, от других замечательных членов сообщества MODX. (Я <3 с открытым исходным кодом!)

Примечание: официальные документы для FormIt находятся здесь: https://rtfm.modx.com/extras/revo/formit

Как это работает

Вы можете найти пример использования в PR на Github, но, по сути, вы хотите включить эти свойства в свой вызов FormIt:

 &validationErrorBulkFormatJson=`1`
&validationErrorMessage=`{"успех":false,"ошибки":[[+ошибки]]}`
&hookErrorJsonOutputPlaceholder=`hook_error_placeholder`
&errTpl=`[[+ошибка]]`
 
Разбить его
  • «validationErrorBulkFormatJson» указывает FormIt на JSONify необработанный массив ошибок проверки вместо форматирования каждой из них с помощью фрагмента, указанного в свойстве «validationErrorBulkTpl».
  • «validationErrorMessage» — это свойство FormIt по умолчанию для сообщения об ошибках проверки. В этом случае мы добавляем немного JSON, настроенного для нашего приложения, и вставляем ошибок JSON в свойство объекта с ключом «ошибки». Вы можете просто вернуть ошибок JSON, если хотите, или поместите его внутрь любого объекта Javascript, который вы хотите.
  • «hookErrorJsonOutputPlaceholder», если это свойство не пусто, FormIt будет отправлять сгенерированные перехватчиками ошибки (перехватчики могут генерировать свои собственные ошибки, которые не совпадают с ошибками проверки) этому заполнителю в формате JSON. Я решил не полностью обходить обычную обработку ошибок хука, потому что вы можете захотеть обернуть сообщение об ошибке хука в HTML, чтобы вставить его непосредственно в DOM, или вам может понадобиться заполнитель на странице где-нибудь для отображения сообщения об ошибке по старинке. путь… Я не знаю, это казалось слишком самоуверенным, чтобы полностью пропустить обработку ошибок в этом контексте.
  • Компромисс заключается в том, что если вы не хотите форматировать свое сообщение об ошибке, вам нужно будет передать заполнитель для чистой ошибки в свойство «errTpl», как в примере выше.

Вашему Ресурсу с вызовом FormIt также потребуются следующие заполнители:

 [[!+fi.validation_error_message]]
 

Показывает значение свойства «validationErrorMessage». Если бы была ошибка (ошибки) проверки, вы бы получили что-то вроде:

 {
  "успех": ложь,
  "ошибки": {
    "type": "Это поле обязательно для заполнения.",
    "email": "Это поле обязательно для заполнения."
  }
}
 
 [[!+hook_error_placeholder]]
 

Это ключ-заполнитель, который вы указали в свойстве «hookErrorJsonOutputPlaceholder», и если произошла ошибка ловушки, вы получите что-то вроде:

 {
  "ошибки": {
    "тест": "плохой котенок!",
    "FormItSaveForm": " "
  },
  "успех": ложь,
  "message": "плохой котенок!\n "
}
 
 [[!+fi. successMessage:is=``:then=``:else=`{"success":true,"message":"[[!+fi.successMessage]]"}`]]
 

Если отправка формы не вызвала ошибок, этот заполнитель покажет сообщение об успешном завершении. В этом случае это будет выглядеть так:

 {
  "успех": правда,
  "message": "Сообщение, которое я настроил с помощью свойства 'successMessage'."
}
 

Вот оно. Надеюсь, это поможет вам привнести в формы некоторые преимущества AJAX. Да здравствует MODX!

Информация для modajaxify — SiteDash, возьмите под контроль свои сайты MODX

modAjaxify — простой загрузчик страниц ajax — это дополнение от halvid, впервые выпущенное 16 марта 2018 г.

Описание пакета

Что он делает :

  • Любая ссылка в указанном контейнере (по умолчанию это тело) будет функционировать как ссылка ajax.

  • Он может загружать содержимое ссылок в разные контейнеры с простой аннотацией html (например, любая ссылка с контекстом свойства будет загружать содержимое в контейнер с идентификатором, как указано в этом свойстве)

  • IT предварительные нагрузки изображения перед рендерингом содержимого

  • Он предоставляет обратные вызовы для пользовательского рендеринга

  • . Он предоставляет обратные вызовы для пользовательских погрузчиков

  • Поддержки AJAX. Для Forms

  • . ‘активный’ класс в выбранной опции меню

  • Поддерживает обратные вызовы для обработки предварительной загрузки, когда URL-адрес страницы вызывается напрямую (не через ajax)

  • Поддерживает предварительную загрузку изображений Retina для повышения производительности

  • Поддерживает отложенную загрузку изображений с использованием отдельных крошечных изображений в качестве предварительных загрузчиков

  • Встроенная поддержка Google Analytics

  • содержимое страницы, зачеркивая все остальное. Этот метод повышает производительность веб-сайта.

Инструкция по эксплуатации/установке

Это дополнение можно запустить с нулевой конфигурацией, просто поместив [[$ajaxifyInit]] в заголовок шаблона.

Чанк также содержит демо-спиннер в качестве оповещения о загрузке.

Для получения информации посетите (эта страница также является примером использования):

http://sofar.gr/modAjaxify-Documentation.html

О любых ошибках сообщайте на info[at]sofar.gr

Зависимости

===================================

jquery

jquery.history.js

preloadjs-0.6.1.min.js

Extra поставляется с блоком инициализации, поэтому вам не нужно беспокоиться о зависимостях. Кусок выполняет проверку jquery, чтобы избежать конфликтов. Мы настоятельно рекомендуем проверить зависимые js-библиотеки, которые включены в чанк, на случай, если они создадут какой-то конфликт с вашим кодом.

Детали

Разработчик(и)
половинка
Выпущено
16. 03.2018
Первый раз увидел
16.03.2018
Лицензия
GPLv2
Поддерживаемые базы данных
MySQL
Минимальные требования MODX
2,4

modAjaxify простой загрузчик страниц ajax Выпуски

Поставщик Подпись Выпущено на
MODX.com 1.3.7-бета 16.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *