2010-04-28 2 views
1

Наша компания имеет интрасеть, состоящую из нескольких шаблонов электронной почты, заполненных переменными (например, [[NAME]], [[PROJECT]] и т. Д.). Я думал о внедрении шаблонов клиентской стороны, чтобы упростить замену этих переменных на фактические значения.Клиентские шаблоны с неизвестными переменными

Проблема заключается в том, что среди всех решений шаблонов клиентской стороны, которые я нашел до сих пор, все они, похоже, предполагают, что код JS знает все переменные шаблона, которые существуют в разметке, и ни одна из них не кажется способный получить список переменных, определенных в разметке.

Кто-нибудь знает какие-либо решения/плагин, который делает это возможным?

Заранее благодарен!

ответ

1

Разве вы не можете просто использовать некоторые простые регулярные выражения?

var variables = mycontent.match(/\[\[(.*?)\]\]/g); 

Я создал demo here, так что вы можете увидеть его в действии.

+0

Это выглядит великолепно! Я дам ему вихрь. –

+0

Работал как шарм! Для тех, кто интересуется, я изменил пример, чтобы сделать именно то, что мне было нужно: http://jsfiddle.net/KMVRJ/5/ –

0

Если набор шаблонов уже кэширован на клиенте и доступен клиенту по требованию, и каждый шаблон будет иметь собственный набор информации, подлежащей замене (либо жестко запрограммирован, либо определяется во время выполнения). Тогда мы можем пойти на некоторое общее решение

псевдокоде

- Decide which Template now need to render 
- Send a Ajax command of array of variables in to be replace in the template 
    [{var_name:"%project_name%",var_value:"Project" },{var_name:"%superviser%",var_value:"Its me :)" }] 


- Write a generic code that loop through json array and replace the var_name with the template source 
    Check this - http://api.prototypejs.org/language/template/ 
Смежные вопросы