Поставил модуль quote. Внутри цитат нет HTML тегов. Это можно как-то исправить? Это не стороне фронта или бека реализовано? Если фронта, тут можно что-то исправить ?
$('.node-quote-all a').once().click(function (e) {
e.preventDefault();
let commentArea = getCommentArea();
let curValue = getCommentAreaCurValue(commentArea);
let parent = $(this).closest('.node');
let username = parent.find('a.username').first().text();
let alltext = parent.find(drupalSettings.quote.quote_selector_node_quote_all).text().substring(0, quoteLimit);
let value = curValue + '<blockquote><strong>' + Drupal.t('@author wrote:', {'@author': username}) + '</strong> ' + alltext + '</blockquote><p><br/></p>';
setCommentAreaValue(commentArea, value);
commentArea.focus();
});
e.preventDefault();
let commentArea = getCommentArea();
let curValue = getCommentAreaCurValue(commentArea);
let parent = $(this).closest('.node');
let username = parent.find('a.username').first().text();
let alltext = parent.find(drupalSettings.quote.quote_selector_node_quote_all).text().substring(0, quoteLimit);
let value = curValue + '<blockquote><strong>' + Drupal.t('@author wrote:', {'@author': username}) + '</strong> ' + alltext + '</blockquote><p><br/></p>';
setCommentAreaValue(commentArea, value);
commentArea.focus();
});
Комментарии
Этот модуль я разрабатываю в свободное время. Создай issue на орге, посмотрим
Да, я увидел, что ты. Мне хотя бы понять на фронте или беке это реализовано - обрезание тегов.
Вроде на фронте. Если так подправить теги не режет. Не знаю насколько это грамотно.
var html = "";
if (typeof window.getSelection != "undefined") {
var sel = window.getSelection();
if (sel.rangeCount) {
var container = document.createElement("div");
for (var i = 0, len = sel.rangeCount; i < len; ++i) {
container.appendChild(sel.getRangeAt(i).cloneContents());
}
html = container.innerHTML;
}
} else if (typeof document.selection != "undefined") {
if (document.selection.type == "Text") {
html = document.selection.createRange().htmlText;
}
}
return html;
}
и
e.preventDefault();
/*было let selected = getSelectedText();*/
let selected = getSelectionHtml();
if (selected.length) {
let commentArea = getCommentArea();
let curValue = getCommentAreaCurValue(commentArea);
let parent = $(this).closest('.comment');
let username = parent.find('a.username').text();
let value = curValue + '<blockquote><strong>' + Drupal.t('@author wrote:', { '@author': username }) + '</strong> ' + selected + '</blockquote><p><br/></p>';
setCommentAreaValue(commentArea, value);
commentArea.focus();
}
});
$('.comment-quote-all a').once().click(function(e) {
e.preventDefault();
let commentArea = getCommentArea();
let curValue = getCommentAreaCurValue(commentArea);
let parent = $(this).closest('.comment');
let username = parent.find('a.username').text();
/*Было let alltext = parent.find(drupalSettings.quote.quote_selector_comment_quote_all).text().substring(0, quoteLimit);*/
let alltext = parent.find(drupalSettings.quote.quote_selector_comment_quote_all).html().substring(0, quoteLimit);
let value = curValue + '<blockquote><strong>' + Drupal.t('@author wrote:', { '@author': username }) + '</strong> ' + alltext + '</blockquote><p><br/></p>';
setCommentAreaValue(commentArea, value);
commentArea.focus();
});