Вверх ↑
Администрация
Ответов: 15295
Рейтинг: 1519
#1: 2007-01-13 05:32:17 ЛС | профиль | цитата
Немного подумал, решил, что события лучше делать через правые точки как и положено. Однако ничего нигде сохранять не надо:

MultiElementEx:
func doPrint
   print("?>")
setLanguage("java")
print("<script>")
print("function func" & _id_ & "() {")
event(onEvent)
print("}")
print("</script>")
print("<?php")
setLanguage("php")

print('echo ', "<a onclick='return func" & _id_ & "()';>")
event(onPrint)
end

Так же думаю стоит на уровне кодогенератора уже решить, какой код сейчас генерить путем вызова соответствующей ф-ции. Например так:

Message:
func doMessage      // реализуем серверный код элемента(по-умолчанию это php)
  print('echo ', Message, ';')
event(onMessage)
end

func doMessage java // клиентский код элемента(модификатор java указывает на требуемый код)
print('alert(', Message, ');')
event(onMessage)
end

такой подход позволит в частности не требовать от разработчика компонента поддержки всех языков, используемых в пакете
карма: 27
0