Как вывести то, что ввели в форме через FormIt?
Сделала на сайте отправку сообщений через FormIt. Могу их просмотреть в заполненных формах через меню. Теперь вопрос: мне нужно всё, что отправлено теперь вывести обратно на сайт(как отзывы). Как это сделать? И ещё вопрос: есть ли необходимость сообщения которые мне вводятся через форму на сайте выводить, как документы в дереве (оттуда выводить на сайт, там же редактировать и удалять.)? Или это лишние манипуляция и пользователю достаточно просматривать их через меню FormIt?
P.S. Я очень-очень новичок в modx, но пожалуйста, не выгоняйте меня из сообщества, у меня слишком много вопросов, а где спросить не знаю.
P.S. Я очень-очень новичок в modx, но пожалуйста, не выгоняйте меня из сообщества, у меня слишком много вопросов, а где спросить не знаю.
Комментарии: 6
Наверное не очень красиво лепить через Formit отзывы и делать редактирование документов.
Посмотрите в сторону Tickets, easyComm.
Посмотрите в сторону Tickets, easyComm.
но редактирование не обязательно(скорее больше надо или вывести то, что ввели или удалить(если гадость ввели). Неужели Formit для этого совсем не подходит?
Formit это штука для обработки форм и не более.
К ней пишут так называемые хуки (hooks), которые могут делать все что вам нужно с данными, переданными в форму. В принципе ваше право реализовать нужный вам функционал. Но, некоторые вещи уже реализовали на хорошем уровне сторонними приложениями.
Одно время я на многих сайтах делал отзывы через Formit и MIGx ( см комментарии здесь modx.pro/help/3967/ ), потом мне это надоело и я написал компонент easyComm, который делал то, что мне нужно. Сейчас использую его + разместил в магазине.
Tickets мощнее, но для меня его настройка сложна для большинства сайтов.
Вывод — Formit можно, но если готовые дополнения уже реализуют то, что вам нужно, лучше их)
К ней пишут так называемые хуки (hooks), которые могут делать все что вам нужно с данными, переданными в форму. В принципе ваше право реализовать нужный вам функционал. Но, некоторые вещи уже реализовали на хорошем уровне сторонними приложениями.
Одно время я на многих сайтах делал отзывы через Formit и MIGx ( см комментарии здесь modx.pro/help/3967/ ), потом мне это надоело и я написал компонент easyComm, который делал то, что мне нужно. Сейчас использую его + разместил в магазине.
Tickets мощнее, но для меня его настройка сложна для большинства сайтов.
Вывод — Formit можно, но если готовые дополнения уже реализуют то, что вам нужно, лучше их)
Спасибо за хорошие разъяснения! easyComm посмотрю, интересный. Tickets тут не нужен, очень он сложен для моей простой задачи(просто вывести то, что ввели через форму и всё!)
Пока сделала у себя так:
[[!FormIt?
&hooks=`...,SaveForm`
а в сниппете SaveForm создаю документ с именем одного введенного параметра и контентом — другого.:
Пока сделала у себя так:
[[!FormIt?
&hooks=`...,SaveForm`
а в сниппете SaveForm создаю документ с именем одного введенного параметра и контентом — другого.:
<?php
$doc = $modx->newObject('modResource');
$doc->Set('parent',20); // в нужную мне папку
$doc->Set('template',9);
$doc->Set('pagetitle',strip_tags($_POST['contact_name']));
$doc->Set('content', strip_tags($_POST['contact_message']));
$doc->Set('published','1');
$doc->Save();
return true;
возможно так не делают, но работает. Если это чем то чревато, то скажите чем… делать так не буду, а сразу рассмотрю easyComm
Да не, можно так делать.
Просто несколько замечаний:
1. Создавать ресурсы лучше через процессоры. Но это чревато тем, что анонимный пользователь не имеет на это прав, в общем нужно еще как то его авторизовывать предварительно. Плюс в том, что если есть какие либо плагины — в вашем способе они не будут отрабатывать, а при вызове процессора — будут.
2. После создания ресурса — хорошо бы чистить кеш сайта.
3. Вместо $_POST['contact_name'] наверное красивее использовать $hook->get…
Просто несколько замечаний:
1. Создавать ресурсы лучше через процессоры. Но это чревато тем, что анонимный пользователь не имеет на это прав, в общем нужно еще как то его авторизовывать предварительно. Плюс в том, что если есть какие либо плагины — в вашем способе они не будут отрабатывать, а при вызове процессора — будут.
2. После создания ресурса — хорошо бы чистить кеш сайта.
3. Вместо $_POST['contact_name'] наверное красивее использовать $hook->get…
спасибо!
1. Очень много нового для новичка в modx, я пока пытаюсь найти способ как выполнить задачу запутываюсь в куче терминологии и способах. А уж понять что лучше пока совсем не могу. Как это " через процессоры" пока не знаю даже.
2. Почитаю про это. Просто про многие вещи не найти толковых советов, как делать лучше, а как не надо. Это касается даже просто организации работы в modx (как лучше именовать шаблоны, чанки, снипеты..., что применять лучше, а что хуже, в какой последовательности организовать сборку сайта и и т.д.)
3. Про $hook->get просто не знала :) сделала как первое что пришло в голову.
1. Очень много нового для новичка в modx, я пока пытаюсь найти способ как выполнить задачу запутываюсь в куче терминологии и способах. А уж понять что лучше пока совсем не могу. Как это " через процессоры" пока не знаю даже.
2. Почитаю про это. Просто про многие вещи не найти толковых советов, как делать лучше, а как не надо. Это касается даже просто организации работы в modx (как лучше именовать шаблоны, чанки, снипеты..., что применять лучше, а что хуже, в какой последовательности организовать сборку сайта и и т.д.)
3. Про $hook->get просто не знала :) сделала как первое что пришло в голову.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.