К содержанию

Modx restfull api

Доброго времени дня!
Начал изучать vue.js и встал вопрос как сдружить vue с modx?
Есть ли готовое решение для реализации рест апи?
Руслан Сафин
Руслан Сафин
01 июня 2018, 14:43
modx.pro
4 216
Реклама

Комментарии: 19

Михаил
Михаил Эксперт
02 июня 2018, 07:44
Делал я эту связку. Можете про рест тут почитать
    Sergey Leleko
    Sergey Leleko Проверенный
    03 июня 2018, 19:50
    У меня вот точно такая же проблема. Но этой доки что вы дали ссылку, даже близко не хватает для решения конкретных задач. Так общего плана я бы сказал информация. И вот что странно ни где я например так и не нашел более развернутой информации. Такое ощущение что придется лепить какой-то велосипед с помощью стороннего решения. (
      shtyrman
      shtyrman Старожил
      04 июня 2018, 11:39
      Столкнулся в подобным, информации нет.
      Легче modx оставить как админку, а остальное развернуть на express, sequelize, nuxt.js — чем думать об api modx…
        Руслан Сафин
        Руслан Сафин Проверенный
        04 июня 2018, 11:46
        Для меня интересна связка Nuxt.js + Modx. Но у Modx нет rest api, как их связывать между собой? pdoTools может отдавать json, но этого мало
          Sergey Leleko
          Sergey Leleko Проверенный
          04 июня 2018, 11:50
          Да есть у него rest просто как я выше писал документации «скорее нет чем есть»… В этом вся проблема.
          В телеграм канале скидывали решение с помощью подключения slim фреймворка. Но ой как не хочется городить костыли.
            shtyrman
            shtyrman Старожил
            04 июня 2018, 12:00
            Руслан это адовый ад получится (сугубо личное мнение). Вопросов, в процессе разработки, будет появляется значительно больше, нежели чем вариантов решения.
            Я пришел к выводу, что легче modx использовать как админку, а с помощью sequelize подключаться к базе и передавать нужные запросы и выводить все с помощью nuxt.js
            т.е. по сути вы придете к отказу от modx и допилите себе админку и переделаете бд)

            но я оговорюсь, что modx мне нравится (с него все началось).
              Руслан Сафин
              Руслан Сафин Проверенный
              04 июня 2018, 12:11
              Спасибо за наводку!
              Как раз пошарил на гитхабе, заготовку нашел под связку nuxt + sequelize
              github.com/yogesum/vue-express-sequelize-base
                shtyrman
                shtyrman Старожил
                04 июня 2018, 12:20
                Не стоит себя ограничивать чем-то одним. Sequalize — это просто ORM, которая помогает вам интерпретировать запросы sql в js. Для начала вам, если нету опыта, лучше начать с связки node + express.
                  Sergey Leleko
                  Sergey Leleko Проверенный
                  04 июня 2018, 12:33
                  Плюс к каждому вашему ответу от меня )
                    Руслан Сафин
                    Руслан Сафин Проверенный
                    04 июня 2018, 12:43
                    shtyrman, предложил использовать связку sequelize (для работы с базой данный, это ORM как я понял, пока не читал документацию) docs.sequelizejs.com/

                    А дальше vuejs (nuxtjs) работает с базой через sequelize.

                    А админка modx используется для администрирования и по сути никакой контент не генерирует
                      shtyrman
                      shtyrman Старожил
                      04 июня 2018, 12:59
                      Все верно. И в итоге — привет мир js!
                Sergey Leleko
                Sergey Leleko Проверенный
                04 июня 2018, 12:11
                Не могли бы посоветовать чтото почитать по вашему решению?
                  shtyrman
                  shtyrman Старожил
                  04 июня 2018, 13:07
                  Сергей, тут все упирается в знание js и мониторинг информации за бугром. Если на modx информации порой вообще нет, то на какие то решения в js и подавно хрен что найдешь.
                  Если вас интересует как стартануть в full stack, то у меня был такой процесс:
                  — изучаем js. 3-е издание \ Этан Браун
                  — секреты JavaScript ниндзя. Второе издание
                  — js подробное руководство. 6-е издание
                  — веб-разработка с применение node и express \ Итан Браун
                  — React и Redux. Функциональная веб-разработка
                  Этого будет достаточно что бы понять как все устроенно и плавать дальше самому, используя документации.
                    Sergey Leleko
                    Sergey Leleko Проверенный
                    04 июня 2018, 20:44
                    Спасибо!
                Андрей Степаненко
                12 февраля 2019, 08:11
                Все есть Nuxt.js + Modx часть кода от туда.
          Никита
          Никита Старожил
          11 февраля 2019, 15:25
          Есть ли готовое решение для реализации рест апи?
          Как может существовать готовое решение к методологии общения клиент-сервер?
          Для интеграции vue в modx вовсе необязательно следовать REST.
            Руслан Сафин
            Руслан Сафин Проверенный
            11 февраля 2019, 22:00
            Я подразумевал не совсем готовое)))
            В ларавеле допустим апи достаточно просто делается. В модиксе даже схему работы не представляю, отдать данные мы можем в json (хоть через обычные ресурсы — снепеттом). А вот как реализовать обновление и создание? Возможно тоже просто, но глубоко я не копал
              Никита
              Никита Старожил
              11 февраля 2019, 22:32
              Фронт компилишь двумя путями, с двумя конфигами для запросов
              1) dev сервер. Среда разработки веб-приложения на vue.js собираемая вебпаком. В алиас конфигов дева и прода кидаем два разных пути. dev и prod. Запросы по api осуществляются через import config from 'config'.
              axios.get(config.index.get)…

              2) пишем в этот конфиг все url для ajax-запросов.
              3) создаём папку на сервере со скриптами, в роли обработчиков запросов. Указываем в modx о том что это статичные сниппеты и возвращаем данные в json. На место чанка писать в json никто не запрещает
                Андрей Степаненко
                12 февраля 2019, 07:17
                Схема работы с RESTfull для modx реализована по документации

                Что нужно сделать, пошагово:
                Создаем index файл для обработки запросов
                rest/index.php
                https://gist.github.com/webnitros/b8e56c0482a797c926e69ff507a72aa9
                Создаем контроллер: пример файла контроллера для получения способов оплаты из minishop
                rest/Controllers/payment.php
                https://gist.github.com/webnitros/bc2cf0417df58a945202a55683519d1e
                В конфиге nginx прописываем вот так:
                location /rest/ {
                                try_files $uri @modx_rest;
                        }
                        location @modx_rest {
                                rewrite ^/rest/(.*)$ /rest/index.php?_rest=$1&$args last;
                        }
                Обащение происходит
                https://mysite.ru/rest/payment
                Вернет массив данных в json формате

                Код выше выдернуть из рабочего проект, кое где кое что убрал, так что с первого раза может не запустить.

                Дальше уже включаем фантазию и разбираемся с классом rest.modRestService

                И тут вот чтобы не ошибатся
                yadi.sk/i/MyAlG1dNdIEOWQ

                MyController — это название основного префикса? и прописывается он в rest/index.php
                То есть если у вас контроллер называется вот так resource то класс для него будет
                MyControllerResource
                rest/Controllers/resource.php
                Кстати контроллер работает имено в связке vue с modx
              Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
              19