Używam wersji CE SugarCRM 6.5.x. Chcę utworzyć funkcję zależną, w której mam pole rozwijane z listą nazwy szablonu wiadomości e-mail. I zgodnie z wyborem szablonu e-mail, textarea powinny być wypełnione treścią szablonu e-maila. Tak, osiągnąłem rezultat.Jak utworzyć zależną teksturę tinymce zgodnie z wyborem nazwy szablonu wiadomości e-mail?
Teraz zamiast normalnego tekstu, chcę pokazać ten tekst w edytorze tekstu tinarece. Teraz "przekonwertowałem" moje pole tekstowe na tekst edytora tinymce, przechodząc przez ten adres URL. Teraz, kiedy wybrałem szablon wiadomości e-mail z pola rozwijanego, ten tekst nie jest wypełniany odpowiednim tekstem.
To jest mój javascript do normalnego textarea, a jego praca
function display_text(){
if(typeof(document.getElementsByName('email_template_c')[0].value) != "undefined"){
var custom_data = document.getElementsByName('email_template_c')[0].value;
if(custom_data != ''){
$.ajax({
url:'index.php?entryPoint=check_email_template_subject',
data:{new_custom_data: custom_data},
success: function(data){
if(data!= ''){
document.getElementsByName("email_template_body_c")[0].value = data;
SUGAR.util.callOnChangeListers(document.getElementsByName("email_template_body_c")[0]);
}else{
document.getElementsByName("email_template_body_c")[0].value = '';
SUGAR.util.callOnChangeListers(document.getElementsByName("email_template_body_c")[0]);
}
}
});
}
}
}
To jest mój kod do edytora TinyMCE textarea, który nie działa
function display_text(){
if(typeof(document.getElementsByName('email_template_c')[0].value) != "undefined"){
var custom_data = document.getElementsByName('email_template_c')[0].value;
if(custom_data != ''){
$.ajax({
url:'index.php?entryPoint=check_email_template_subject',
data:{new_custom_data: custom_data},
success: function(data){
if(data!= ''){
$("p").parent(".mceContentBody").val(data);
SUGAR.util.callOnChangeListers($("p").parent(".mceContentBody").val(data));
}else{
$("p").parent(".mceContentBody").val();
SUGAR.util.callOnChangeListers($("p").parent(".mceContentBody").val());
}
}
});
}
}
}
gdzie ten ajax pobiera dane z tego check_email_template_subject. plik php
<?php
global $db;
if($_REQUEST['new_custom_data'] != null){
$template_id = urldecode($_REQUEST['new_custom_data']);
$query1 = "SELECT body FROM email_templates WHERE id = '$template_id'";
$result1 = $db->query($query1);
$row1 = $db->fetchByAssoc($result1);
echo $row1['body'];
}
?>
A to kod HTML edytora tinymce te xarea,
<html>
<head xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="X-UA-COMPATIBLE" content="IE=7">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body dir="ltr" id="tinymce" class="mceContentBody" contenteditable="true">
<p>//Here should come email template body text
<br>
</p>
</body>
</html>
Hej kolego, to działa. Ale teraz wydaje się nowy problem. Kiedy tekst jest wyświetlany w edytorze, stracił formatowanie, które ma .... więc proszę, pomóż mi zachować jego formatowanie bez zmian. –
Zamiast podejmowania val() weź html jako var htmVal = $ ("rozwijana opcja: wybrana"). Html(); a następnie ustaw zawartość jako tinyMCE.activeEditor.setContent (htmVal); To zadziała :) – Mazzu
Hej, dostaję te dane z pliku php. Ten kod wspomniałem powyżej. Proszę mnie wskazać, jak i co wprowadzić zmiany w powyższym kodzie. Ponieważ nie mam gdzie dodać '.html()'. –