Как создать переменные шаблона обновления в TinyMCE? - PullRequest
2 голосов
/ 19 ноября 2010

Следуя простому «полному» примеру, и после прочтения вики и поиска ответов на форумах Мокси, я до сих пор ничего не придумал. По сути, я пытаюсь сделать то, что предлагает вики, возможно , но когда я добавляю пример значения staffid анонимной функцией, переменная не заменяется.

template_replace_values : {
    username : "Jack Black",
    staffid : function(e){
        var staffidInput = yd.get('staffidInput');
        return (staffidInput !== null)? staffidInput.value : '0178678';
    }
}

... но это не сработало, поэтому я определил функцию перед созданием tinyMCE:

    function getStaffId(){

        var staffidInput = yd.get('staffidInput');
        alert('template_replace_values processed, staffidInput: '+staffidInput);
        return (staffidInput !== null)? staffidInput.value : '555555';

    }
... more instantiation code...
        template_replace_values : {
            username : "Jack Black",
            staffid : getStaffId()
        }

... и значение берется только в первый раз, оно никогда не обновляется, как предполагает вики (всякий раз, когда выполняется процедура очистки). Я предполагаю, что что-то где-то не определено и не выдает ошибку, потому что 'getStaffId' в моей второй, наиболее успешной попытке будет неопределенным в контексте документа tinyMCE iframe, я думаю ..?

Моя цель - иметь переменные, которые можно настроить на экране предварительного просмотра шаблона, а также после того, как шаблон был вставлен.

1 Ответ

2 голосов
/ 22 ноября 2010

Вместо этого:

template_replace_values : {
    username : "Jack Black",
    staffid : getStaffId()
}

это:

template_replace_values : {
    username : "Jack Black",
    staffid : getStaffId
}

getStaffId() выполняет функцию и использует ее возвращаемое значение в качестве значения для staffid, getStaffId использует функцию в качестве значения для staffid.

...