MODX, PHP, SQL, JS - Как записать изменения пользователем в базу данных?

Эксперты MODX Revo помогите решить такую задачу:
На сайте есть таблица с уникальными [[+id]] товарами:
<table>
    <tr>
        <td>idx 1.</td>
        <td>id 54804.</td>
        <td id="titlepagetable">Смазочно-охлаждающие жидкости</td>
    </tr>
    <tr>
        <td>idx 2.</td>
        <td>id 54821.</td>
        <td id="titlepagetable">Шлифшкурки NORITAKE</td>
    </tr>
    <tr>
        <td>idx 3.</td>
        <td>id 54947.</td>
        <td id="titlepagetable">Шлифовальные круги и головки из CBN</td>
    </tr>
    <tr>
        <td>idx 4.</td>
        <td>id 55503.</td>
        <td id="titlepagetable">Алмазные круги и инструменты</td>
    </tr>
    <tr>
        <td>idx 5.</td>
        <td>id 55504.</td>
        <td id="titlepagetable">Шлифовальный инструмент</td>
    </tr>
</table>
надо записать конкретно в [[+pagetitle]]
<td id="titlepagetable">
изменения, например по двойному щелчку вместо «Шлифовальный инструмент» -> «Шлифовальный инструмент для пробоподготовки»

Подскажите как написать плагин для того, чтобы была возможность сохранять изменения пользователем в базу данных на прямую со страницы где вывод этих товаров этой таблицы?

contenteditable=«true» — это только html песчинка в море морфологии php.
R2m0x94 (Vasily)
22 февраля 2019, 16:46
modx.pro
442
0
Поблагодарить автора Отправить деньги

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

Максим
22 февраля 2019, 18:20
0
Да вродь как ничего сложного. Правда такие вещи должны выполняться авторизованным пользователем и ему нужно выдать соответствующие права. JS-ом ловим двойной клик по названию и отображаем формочку с полем для ввода нового названия, скрытое поле с id ресурса и кнопочкой сохранить. Далее ловим отправку формы и отправляем ajax-запрос на файлик, который по API подключает MODx, по id получает ресурс обновляет название, сохраняет его и возвращает результат запроса + новое название. В ответе на Ajax скрываем форму и в нужное место вставляем новое название. Всё!
    R2m0x94 (Vasily)
    22 февраля 2019, 22:49
    0
    <script type="text/javascript">
    // JS-ом ловим двойной клик по названию
    $('#titlepagetable').dblclick(function(){
        // отображаем формочку с полем для ввода нового названия
        $(this).append('<input name="tdtable-titlepage" type="hidden" value="[[+pagetitle]]"/>'); // без кнопки
    });
    </script>
    Далее ловим отправку формы и отправляем ajax-запрос на файлик, который по API подключает MODx, по id получает ресурс обновляет название, сохраняет его и возвращает результат запроса + новое название. В ответе на Ajax скрываем форму и в нужное место вставляем новое название. Всё!
    Тут я что-то вообще не понял.

    Покажите пожалуйста пример, как у вас это получилось реализовать?
      Максим
      23 февраля 2019, 11:55
      0
      Да все же просто!
      $(document).on('submit', 'form', function(e) {
          e.preventDefault;
          // -- Тут сериализация формы и ajax запрос
      })
      Если не понятно, то стучись в личку. Так как готового примера нет.
      vk.com/id531824717
    R2m0x94 (Vasily)
    01 октября 2020, 15:32
    0
    Скажите, а getTables решает данную проблему?
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      4