Есть ли компонент для отзывов, работающий через API?

Приветствую.
Есть задача добавить отзывы к товарам.
Нюансы:
  • Отправка отзыва в json
  • Получение списка отзывов в json
  • Премодерация в админке
  • Возможность ответа на отзыв администратором
Фронт написан на Nuxt, чем и вызваны первые два ограничения. Находил несколько компонентов, но они либо без документации, либо не поддерживают такую возможность. Буду признателен за помощь в поиске
Евгений
08 июня 2020, 21:49
modx.pro
664
+1

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

Максим
10 июня 2020, 15:32
+1
Уверен на 90%, что такого компонента нет!) Но и проблем не вижу. Есть же Tickets, для которого можно написать «Коннектор», который будет возвращать json. Ну часть логики придется вынести из сниппета в «коннектор», но ведь основная логика уже реализована в классах и для админки все предучмотрено.
    Евгений
    10 июня 2020, 16:44
    +1
    Что-ж, это не очень хорошая новость для меня, бэкенд не моя стезя. Придется кого-то искать на эту работу
      Николай Савин
      10 июня 2020, 18:18
      0
      Вчера только подключал easyComm. Мне не понравился родной объект с методами от EasyComm я свой написал. Запросы шлю через fetch API на коннектор. И все работает. Без допилов. Главное нужные параметры передать. Отправляю json объект- принимаю соответственно тоже. Ровно то же, что и VUE с nuxt будут делать
        Евгений
        11 июня 2020, 00:21
        0
        Хм. Мне автор ответил, что слишком сложно будет сделать через api работу. Можно как-то с вами связаться?
          Николай Савин
          11 июня 2020, 07:20
          +1
          Ну возможно автор несколько по другому понимает термин API и не вникал в вашу ситуацию. Да будем честно говорить — это и не API. Мы же сейчас говорим о том чтобы не использовать родную верстку и скрипты, а просто пробросить свой запрос на коннектор action.php
          Вот я вам говорю — это вполне себе работает. Единственное может понадобится дополнительно использовать в php файле php://input для приема данных.
          А так — никаких доработок не требуется. Просто откройте родной js и посмотрите какие данные он отправляет, далее отправьте те же данные силами Vue
            Евгений
            11 июня 2020, 10:24
            0
            Вот оно как. Хорошо, спасибо, посмотрю
              Евгений
              19 июня 2020, 20:43
              0
              Николай, можете подсказать как решали проблему с access denied, если сталкивались с ней при отправке формы отзыва.
                Николай Савин
                20 июня 2020, 09:14
                0
                Насколько я помню, нет там проверки прав доступа. Компонент изначально предполагается как открытый для неавторизованных пользователей и отзывы\голосование работает без проверки прав. Откуда вы там взяли «access denied» — даже предположить боюсь
                  Николай Савин
                  20 июня 2020, 09:51
                  0
                  А куда запрос направлен? На какой php файл? Нужно на action.php в ассетах
                    Евгений
                    20 июня 2020, 13:35
                    0
                    assets/components/easycomm/action.php

                    Возможно ли из-за того, что на разных доменах находятся адмика и фронт часть? Заметил, что при отправки с того же домена, где и админка, отправляется кука сеисонная
                      Николай Савин
                      20 июня 2020, 14:01
                      0
                      Ну да, зачем такую мелочь как разнодоменность упоминать в постановке задачи. Это же в корне меняет дело.
                      Easycomm использует в работе механизм сессий. Причем не только для хранения пользователя. Там еще что то было в сессиях
                      Я могу ошибаться, пусть меня поправят — но работа без хранения ключа сессии MODX не возможна. А в другом домене ключ сессии ты не получишь в из за механизма безопастности.
                        Евгений
                        20 июня 2020, 14:09
                        0
                        Да, действительно, тупанул просто по жести. Значит без вариантов? Нельзя как-то вытащить ключ сессии и передать на запрос?
                          Николай Савин
                          20 июня 2020, 16:23
                          0
                          Насколько я знаю нельзя. Это самое большое ограничение MODX со стороны Restful API
                          Если я не прав — пусть меня поправят
                      Сергей Шлоков
                      21 июня 2020, 06:05
                      0
                      assets/components/easycomm/action.php
                      Вполне возможно, что в этом файле и выдаётся «access denied». Нужно просто открыть его и посмотреть.

                      Возможно ли из-за того, что на разных доменах находятся адмика и фронт часть?
                      В теории нет.
        Евгений
        21 июня 2020, 21:31
        0
        Вопрос решен. Опечатка в параметре action
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          15