/ / HTML एक सरल 'शीर्षक' परिवर्तन में सादा पाठ के रूप में क्यों प्रतिपादन है? - ड्रुपल, ड्रुपल -7, ड्रुपल-मॉड्यूल, ड्रुपल-विचार

HTML एक सरल 'शीर्षक' परिवर्तन में सादे पाठ के रूप में क्यों प्रस्तुत किया जाता है? - ड्रुपल, ड्रुपल -7, ड्रुपल-मॉड्यूल, ड्रुपल-विचार

मैं प्रत्येक नोड को बदलने में सक्षम हूं टिप्पणी लिंक "शीर्षक" पाठ (कि डिफ़ॉल्ट रेंडर पर "नई टिप्पणी जोड़ें") नीचे दिए गए कोड के साथ, लेकिन अगर मैं HTML जोड़ता हूं, तो यह सादे पाठ के साथ प्रदान करता है। मैं इस पाठ से पहले एक FontAwesome आइकन जोड़ने की कोशिश कर रहा हूं <i class="fa fa-comments" aria-hidden="true"></i>

यहां छवि विवरण दर्ज करें

function MODULE_node_view_alter(&$build) {
$node = $build["#node"];
if (isset($build["links"]["comment"]["#links"]["comment-add"])) {
$build["links"]["comment"]["#links"]["comment-add"]["title"] = "<i class="fa fa-comments" aria-hidden="true"></i> Add Comment";
}
}

मैंने जो भी पास किया है वह एक $ बिल्ड पैरामीटर है, लेकिन मैं इस बात का अनिश्चित हूं कि यह मुद्दा है या नहीं।

कोई विचार?

उत्तर:

जवाब के लिए 2 № 1

आप लिंक सेट करके लिंक में HTML रेंडर कर सकते हैं html विकल्प TRUE। चेक theme_links () सभी विकल्पों को देखने के लिए।

उदाहरण के लिए

theme("links", array(
"links" => array(
"title" => "<span>Title</span>",
"href" => "node/1",
"html" => FALSE, // default
)
))

स्पैन टैग में बच निकलेगा, जबकि

theme("links", array(
"links" => array(
"title" => "<span>Title</span>",
"href" => "node/1",
"html" => TRUE,
)
))

html के रूप में स्पैन टैग प्रदान करेगा।

तो आपके मामले में आपको निम्नलिखित पंक्ति जोड़ने की आवश्यकता है।

$build["links"]["comment"]["#links"]["comment-add"]["html] = TRUE;

जवाब के लिए 0 № 2

यदि आप html को उस फ़ील्ड में शामिल नहीं कर सकते हैं, तो यह उस प्रकार का फ़ील्ड है जिसे सादे पाठ और अनुवाद योग्य के रूप में रहने की आवश्यकता हो सकती है, आप आइकन को प्रस्तुत करने के लिए सीएसएस का उपयोग कर सकते हैं।

    a:before {
font-family: FontAwesome;
content: "f086";
}


<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet"/>

<a>Add Comment</a>