forum.bitel.ru http://forum.bitel.ru/ |
|
Отправить карту абоненту на его e-mail http://forum.bitel.ru/viewtopic.php?f=19&t=9467 |
Страница 1 из 1 |
Автор: | dimOn [ 21 июл 2014, 12:11 ] |
Заголовок сообщения: | Re: Отправить карту абоненту на его e-mail |
ну всяко можно. карту сформировать можно, взяв код из оригинального экшена, мыло получить из параметра тоже можно, письма отправлять уже все умеют. стало быть, задача решаема. осталось сделать ![]() |
Автор: | skyb [ 21 июл 2014, 13:12 ] |
Заголовок сообщения: | Re: Отправить карту абоненту на его e-mail |
dimOn писал(а): ну всяко можно. карту сформировать можно, взяв код из оригинального экшена, мыло получить из параметра тоже можно, письма отправлять уже все умеют. стало быть, задача решаема. осталось сделать ![]() ответ не приблизил к решению вопроса )))))) можно немного глубже =) |
Автор: | dimOn [ 21 июл 2014, 13:53 ] |
Заголовок сообщения: | Re: Отправить карту абоненту на его e-mail |
Начнём с основ проектирования и разработки ПО. (см, например, IDEF0) Сначала нужно сделать декомпозицию задачи. Т.е. разбить это на несколько максимально независимых частей, например: 1. получение параметра мыла 2. формирование шаблона 3. отправка письма со вложением Далее, углубляться в каждую из частей и декомпозировать дальше при необходимости. И задаваться вопросом уже по конкретной части, например "как получить параметр из договора" ![]() |
Автор: | skyb [ 21 июл 2014, 14:00 ] |
Заголовок сообщения: | Re: Отправить карту абоненту на его e-mail |
dimOn писал(а): Начнём с основ проектирования и разработки ПО. (см, например, IDEF0) Сначала нужно сделать декомпозицию задачи. Т.е. разбить это на несколько максимально независимых частей, например: 1. получение параметра мыла 2. формирование шаблона 3. отправка письма со вложением Далее, углубляться в каждую из частей и декомпозировать дальше при необходимости. И задаваться вопросом уже по конкретной части, например "как получить параметр из договора" ![]() издеваешься?))))) как из параметра мыло получить я вкурсе, я так понял в стандартном экшене есть возможность вставить в поле отправки мыла это самое мыло? как то так можно ответить? )) viewtopic.php?p=77710#p77710 |
Автор: | skyb [ 21 июл 2014, 16:20 ] |
Заголовок сообщения: | Re: Отправить карту абоненту на его e-mail |
да, всетаки лучше полную карту а не ту что на скрине, и как всетаки сделать? =) |
Автор: | dimOn [ 22 июл 2014, 14:42 ] |
Заголовок сообщения: | Re: Отправить карту абоненту на его e-mail |
взять код оригинального экшена и поглядеть. полная карта делается из xls превращается в html и потом рендерится. потому отослать можно в виде html , в pdf не получится просто так сделать |
Автор: | skyb [ 22 июл 2014, 15:21 ] |
Заголовок сообщения: | Re: Отправить карту абоненту на его e-mail |
dimOn писал(а): взять код оригинального экшена и поглядеть. полная карта делается из xls превращается в html и потом рендерится. потому отослать можно в виде html , в pdf не получится просто так сделать вот я последний держусь кто не опенсорсит и не декомпилит код, а вы сам толкаете, ну да ладно, будем декомпилить |
Автор: | dimOn [ 22 июл 2014, 15:50 ] |
Заголовок сообщения: | Re: Отправить карту абоненту на его e-mail |
дык пожалуста. но можно скинуть код в личку |
Автор: | skyb [ 22 июл 2014, 15:53 ] |
Заголовок сообщения: | Re: Отправить карту абоненту на его e-mail |
dimOn писал(а): дык пожалуста. но можно скинуть код в личку давай код, а то чета либо я не то смотрю, либо я нифига не понял. Там поля для почты нет вообще, или вот эти 46 строк - это все? |
Автор: | dimOn [ 22 июл 2014, 15:54 ] |
Заголовок сообщения: | Re: Отправить карту абоненту на его e-mail |
хотя там код мало чем поможет, я думаю. там тупо делается полная ContractXML применяется на "contract.xsl" и получается html который в чистом виде отдаётся в клиент на рендер. это для полной карты. она вот такая стрёмная, потому что древний код и так исторически, короче. Код: rootNode.setAttribute( "xslt", "contract.xsl" );
Element user = createElement( rootNode, "user" ); user.setAttribute( "id", String.valueOf( userID ) ); // информация по договору try { XMLOutputFactory factory = XMLOutputFactory.newInstance(); XMLStreamWriter w = factory.createXMLStreamWriter( new DOMResult( rootNode ) ); new ContractUtils( con ).addContractXML( cid, w, true ); } catch( XMLStreamException e ) { e.printStackTrace(); } |
Автор: | dimOn [ 22 июл 2014, 15:54 ] |
Заголовок сообщения: | Re: Отправить карту абоненту на его e-mail |
откуда там поле для почты должно быть? |
Автор: | skyb [ 22 июл 2014, 15:57 ] |
Заголовок сообщения: | Re: Отправить карту абоненту на его e-mail |
dimOn писал(а): откуда там поле для почты должно быть? ну я смотрю что оно в другом месте, а где именно получить уже в html карту, которую я сам отправлю? готовую? это new ContractUtils( con ).addContractXML( cid, w, true ); или XMLStreamWriter w = factory.createXMLStreamWriter( new DOMResult( rootNode ) ); это? |
Автор: | dimOn [ 22 июл 2014, 15:57 ] |
Заголовок сообщения: | Re: Отправить карту абоненту на его e-mail |
почта отправляет другой кнопкой. и там используется (странная) возможность такая: если в экзекутер передать параметр email то он сам отправит всё что ему пришло. это делается вне этого экшена, короче. |
Автор: | dimOn [ 22 июл 2014, 15:59 ] |
Заголовок сообщения: | Re: Отправить карту абоненту на его e-mail |
skyb писал(а): dimOn писал(а): откуда там поле для почты должно быть? ну я смотрю что оно в другом месте, а где именно получить уже в html карту, которую я сам отправлю? готовую? это new ContractUtils( con ).addContractXML( cid, w, true ); или XMLStreamWriter w = factory.createXMLStreamWriter( new DOMResult( rootNode ) ); это? готовый html будет в узле rootNode. никакого файла итд нету, разумеется. чтобы отослать письмо с ним надо всё это дело обработать соответственно, этот код для примера я дал, как вообще трансформируется html и из чего, не надо в нём искать решение задачи. |
Автор: | dimOn [ 22 июл 2014, 16:00 ] |
Заголовок сообщения: | Re: Отправить карту абоненту на его e-mail |
дальше отвечаю на конкретные вопросы, которые я смогу понять |
Автор: | skyb [ 22 июл 2014, 16:12 ] |
Заголовок сообщения: | Re: Отправить карту абоненту на его e-mail |
dimOn писал(а): дальше отвечаю на конкретные вопросы, которые я смогу понять от куда и как получить rootNode? =) |
Автор: | skyb [ 27 июл 2014, 16:51 ] |
Заголовок сообщения: | Re: Отправить карту абоненту на его e-mail |
dimOn писал(а): дальше отвечаю на конкретные вопросы, которые я смогу понять Root node это же элемент xml дерева тут? Или чего, после получение его например как тут http://stackoverflow.com/questions/4734 ... es-on-java Его использовать? И собстенно как использовать тоже непонятно |
Автор: | skyb [ 27 июл 2014, 17:34 ] |
Заголовок сообщения: | Re: Отправить карту абоненту на его e-mail |
Почитал про перобразования, я так понял полностью переписать нада все преобразование и отправлять? |
Автор: | skyb [ 27 июл 2014, 20:07 ] |
Заголовок сообщения: | Re: Отправить карту абоненту на его e-mail |
кароче я понял, чтоб отправить карту нужно преобразовать xml в html, но мне кажется проще нарисовать в html выводимые данные, чем вытягивать с xml, хотя кто знает, в контексте разработчиков, все верно, а мне наверно проще нарисовать подобную html страницу и все =) |
Автор: | dimOn [ 30 июл 2014, 13:49 ] |
Заголовок сообщения: | Re: Отправить карту абоненту на его e-mail |
rootNode это просто предопределённый узел в экшене. в скрипте его, понятное дело, нету. нужно или его создать (создав предварительно dom-документ) потом заполнить. потому если хочется воспользоваться похожим кодом надо: 1. создать пустой dom-документ 2. создать в нём rootNode с именем data 3. заполнить его кодом который дан выше 4. трансформировать полученный документ с помощью "contract.xsl" 5. готовый документ с html уже использовать как нужно, например, сериализовать или вложить в файл итд. неясно что надо вообще в итоге то. |
Автор: | skyb [ 30 июл 2014, 14:37 ] |
Заголовок сообщения: | Re: Отправить карту абоненту на его e-mail |
да ничего уже )))) я просто сам html нарисую с того что сейчас есть и все ) |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |