В Modx есть очереди, можно было не делать отдельную таблицу, а использовать их. Но это имеет смысл только если на создание уходит больше 30 секунд, что как правило редкость.
@Наумов Алексей конечно же прав, нельзя передавать $_POST как есть, нужно его валидировать. Однако вопрос был не про безопасность, а про то как сохранить данные))) Безопасность это отдельная обширная тема.
msOptionsPrice2 вообще не рассчитывает цену, он выбирает модификацию по переданным опциям и подставляет её цену в качестве цены товара. Тут нужно смотреть какие опции содержит каждая конкретная модификация.
1. Передавать нужные данные в опциях и потом выводить эти опции в корзине
2. Расширить класс-обработчик корзины и добавить нужные данные в него.
2. Если с TinyMCE, то тэги режет не редактор, а Login
Можно же получить доступ к гет-параметрам так [[#GET.id]]