drupal与html转换,在Drupal中将HTMl添加到CCK
原始HTML CCK字段(Drupal 6) - 沒有過濾器,格式或編輯器
簡單修復!只需使用純文本格式即可過濾未經過濾的HTML。然后在構建節點時將其轉換回字段.tpl中的html。
CCK字段上的純文本格式會將HTML標記轉換為實體特殊字符(這樣可以使它看起來像頁面上的代碼而不是實際的html標記)。它存儲($文本,ENT_QUOTES, 'UTF-8')Drupal的check_plain的()函數中使用PHP的用htmlspecialchars編碼的字符串。
解碼它的最簡單方法是在字段tpl文件中。這可以避免鉤子,鉤子順序問題,循環錯誤和性能問題。這是通過將tpl文件添加到基本主題來完成的:hq_base,odyssey_base和odyssey_admin。以下是drupal如何解碼cck節點編輯表單上的純文本:print html_entity_decode(strip_tags($ text),ENT_QUOTES);注意 - 當html_entity_decode解碼為html時,它會將php標簽轉換為html注釋。以下是具有正確命名約定的示例文件,以便對字段進行php控制:
?content-field.tpl.php
?content-field- [your_field_name] .tpl.php
內容field.tpl.php從CCK的contrib進入主題文件夾的副本,這是一個重寫的contrib,使其在主題可用,并且不應該被修改(除非你想改變的主題中的所有字段) 。字段特定文件也是tpl的副本,一旦覆蓋文件存在,它將起作用。然后在字段tpl文件中解碼為html:
?// print $ item ['view'];
?print html_entity_decode(strip_tags($ item ['view']),ENT_QUOTES);
Drupal版本注:
Drupal 7和Drupal 8中的tpl文件略有不同。但是html_entity_decode()是一個不會因Drupal版本而改變的php函數。
安全說明:
獲取原始HTML的這種解碼技巧違背了Drupal為文本格式安全性而構建的方式。這意味著擁有編輯頁面權限的任何人現在都有權編輯html結構,并在頁面上添加腳本標記。這可能會破壞布局,并可能構成危險。您在這里依賴于安全性的編輯權限,而不是Drupal的正常Formats-per-Role安全性。
總結
以上是生活随笔為你收集整理的drupal与html转换,在Drupal中将HTMl添加到CCK的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java object转泛型_JAVA快
- 下一篇: linux 远程桌面配置,linux 远