Необходимо реализовать возможность выкладывать фотоуроки пользователями сайта.
Структура урока выглядит следующим образом: Описание урока, название урока, фото итогового результата, пары картика-описание. Т.е. пользователь открывает страницу добавления нового фотоурока и видит
несколько input'ов в форме:
— Описание урока
— Название урока
— Поле для загрузки картинки с итоговым результатом
— Этап 1 (Картинка, описание картинки)
— Кнопка добавления нового этапа. Нажимая на которую добавляется еще 1 этап с полями картинка и описание.
Картинки должны загружаться в ajax режиме… Т.е. пользователь выбрал фотку, а картинка сразу попробовала загрузиться на сервер и пользователь видит удалась ли загрузка.
Почти все данные формы размещаются в поле
[*content*]. Исключение: название урока, картинка с итоговым результатом.
По сути это даже не сниппет, а затачивание функционала под конкретный проект. В работе скрипта можно использовать как CakeModx, так и docmanager (это не принципиально). Версия
modx — evolution. Связку с Web-пользователями modx делать не нужно. С вас только готовый функционал, а допиливание до продакшин версии я возьму на себя.
P.S. Необходима возможность редактирования публикации (так же во фронтэнде):
— Удалить этап
— Заменить описание или картинку у этапа
— Поменять местами этапы пераскивая их мышкой
— Удалить публикацию
Обращаться в личку, аську или скайп
ICQ: 8608196
Skype: agel.nash
P.P.S.
Хочу обратить внимание, что задача состоит не столько в разработке функционала, сколько в разработке клиентской части (фронтенда).
Размещать документ можно банальным скриптом
foreach($_POST['step'] as $item){
content[]='<p>'.$item['text'].'</p><p><img src="...."></p>';
}
$content=implode('<hr />',$content);
$doc = new Document(); // создаем документ
$doc->Set('parent',$parent); // определяем в какую папку положить
$doc->Set('template',$tpl); // задаем шаблон
$doc->Set('content',$content);//текст
/*......*/
$doc->Save(); // сохраняем*/
Выборку на редактирование делать
$sql=$modx->db->query("SELECT content FROM ".$modx->getFullTableName("site_content"). WHERE id='".(int)$id."'");
$content=$modx->db->getValue($sql);
$content=explode("<hr />",$content);
/*....*/
Код конечно не идеальный, но довести его до рабочего стояния дело 5 минут.
Задача именно в предзагрузке картинок, перетастивании этапов местами и т.п.