ProDomainer.ru - Клуб Домейнеров  
     

Войти через OpenID
Left Nav Справка ПортфолиоАукцион (39) Календарь Поиск Сообщения за день Все разделы прочитаны Right Nav

Left Container Right Container
 
Старый 27.01.2014, 23:35   #1
Член Клуба ProDomainer.ru
 

Кто знает прототип?

Я тут наговнокодил малёхо.
В чужом движке возникла необходимость создать два вида вывода одной и той-же информации - в браузере, и на печати. Я в шаблоне сделал два разных дублирующихся блока, один виден на экране, второй на печати, и в кнопку печати добавил вот такое:
Код HTML:
<input onclick="MSF_Effect.show($('wfa_control_body_0'));Element.insert($('resolPrint'), $('wfa_control_body_0'));window.print();" type="button" value="Распечатать КАРТОЧКУ" />
Первая команда делает нужный блок видимым, вторая перемещает его из экранной в печатную часть. Третья соответственно печатает.
Печать идет нормально, но понятное дело ломается блок с этими данными в экранной части, и не работают все скрипты с ней связанные.
В проекте используется прототип, и ставить jq рядом с ним не вариант, а так что-то туплю.....

В любой ситуации выбор всегда за вами. Вы либо гуляете под дождем, либо просто под ним мокнете.
Mendel вне форума   Ответить с цитированием
Старый 28.01.2014, 10:22   #2
Член Клуба ProDomainer.ru
 

Я не в курсе...


VaseninM вне форума   Ответить с цитированием
Старый 28.01.2014, 14:06   #3
Член Клуба ProDomainer.ru
 

Факин фак ) не прототип а прототайп, а лучше prototype.js )
его сегодня никто не знает - они уже все перевелись ))

По теме - задача решается стилями, а не js,
Но если сделать конкретно то что у тебя не получается и в твоем стиле:
Код HTML:
<script>function moveItMoveIt() {
	var body = document.getElementById("sdfsdf"),
		print = document.getElementById("olla");
	body.innerHTML = print.innerHTML;
	window.print();
};</script>
<input type="button" value="print" onclick="moveItMoveIt();">

http://rudevich.com
Александр вне форума   Ответить с цитированием
Старый 28.01.2014, 19:07   #4
Член Клуба ProDomainer.ru
 

Да, ты прав, торможу. Сходу твой вариант это то что я и хотел. Что-то протупил я что иннерхтмл это системная вещь а не жгвери. Только MSF_Effect.show($('wfa_control_body_0')); надо добавить, а то табличка останется невидимой.

А по нормальному не сделаешь, ибо там специфический шаблонизатор, нужный мне кусок инфы в шаблоне вообще выглядит как [КОНТРОЛЬ] (да, по русски). И в этом месте выводится целый виджет из которого нужно достать кусочек инфы.

Задача вообще в чистом виде звучит так:
В СЭД есть документ который удобен,но не соответствует утвержденной кабмином форме.
В системе доступно редактирование шаблона на частично-документированном шаблонизаторе. Теги скрипт добавлять туда не так просто. Там какие-то шаманства со специальными конструкциями, и код без подсветки (система заточена под юзеров, пусть и продвинутых, так что визуальный редактор на первом месте, код лишь вспомагательный). Так что я решил для простоты запихнуть весь код в событие, ибо было девять вечера а я еще на работе сидел.

Система хоть и написана вполне читаемо, но документации по коду просто нет. Комментариев нет. Код структурированный, но ревью явно не проходил. То закомментированные куски кода, то какие-то явно временные куски которые забыли переписать. В общем да, лучшим решением было бы найти тот виджет в исходниках и допилить его до нужного мне вида или сделать клон. Но я пока не готов вносить изменений в движок ибо я еще не до конца разобрался даже с админской частью. А потом обновления и всё такое... нафик, проще наговнокодить в шаблоне чем лезть в ядро без документации.

В любой ситуации выбор всегда за вами. Вы либо гуляете под дождем, либо просто под ним мокнете.
Mendel вне форума   Ответить с цитированием
Старый 28.01.2014, 19:21   #5
Член Клуба ProDomainer.ru
 

я тут на новом месте тоже с трешаком часто сталкиваюсь ) так что очень понимаю

http://rudevich.com
Александр вне форума   Ответить с цитированием
Старый 28.01.2014, 19:39   #6
Член Клуба ProDomainer.ru
 

Да вроде как совсем треша я пока не заметил. Немного хардкода да вот прототайп.
Велосипед конечно, но неплохой велосипед. Да написание маршрутов чем-то напоминает брейнфак ибо по сути программа пишется в табличном виде а не в виде кода, и когда у тебя идут такие команды как "в случае фейла перейти на Х" вспоминаешь ассемблер. Но сильно нормально тут не сделаешь, разве что сделать выпадающий список с НАЗВАНИЯМИ шагов или с блоксхемой как у 1С.
Однако с практической точки зрения на наше небольшое предприятие с 400 сотрудников я думаю и того что есть вполне хватит. Только минимализм документации огорчает (система бесплатная, с открытым кодом, но не оперсурс. Ребята зарабатывают на поддержке, менять можешь только для себя, результаты доработки выкладывать не можешь).

В любой ситуации выбор всегда за вами. Вы либо гуляете под дождем, либо просто под ним мокнете.
Mendel вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы
Опции просмотра

Ваши права в разделе
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
Быстрый переход


Часовой пояс GMT +4, время: 21:43.