從代碼中用於在Drupal中創建分類術語的函數是什麼?從代碼創建Drupal分類術語?
1
A
回答
6
爲什麼不檢查API文檔?答案就在那裏。 http://api.drupal.org/api/function/taxonomy_save_term/6
2
我寫的一個模塊需要一個具有分層術語的特定詞彙表。我寫了這個函數來保存條款:
<?php
/**
* Save recursive array of terms for a vocabulary.
*
* Example:
* <code><?php
* $terms = array(
* 'Species' => array(
* 'Dog',
* 'Cat',
* 'Bird'),
* 'Sex' => array(
* 'Male',
* 'Female'))
* _save_terms_recursive($vid, $terms);
* </code>
*
* @param int $vid Vocabulary id
* @param array $terms Recursive array of terms
* @param int $ptid Parent term id (generated by taxonomy_save_term)
*/
function _save_terms_recursive($vid, &$terms, $ptid=0) {
foreach ($terms as $k => $v) {
// simple check for numeric indices (term array without children)
$name = is_string($k) ? $k : $v;
$term = array('vid' => $vid, 'name' => $name, 'parent' => $ptid);
taxonomy_save_term($term);
if (is_array($v) && count($v))
_save_terms_recursive($vid, $terms[ $k ], $term[ 'tid' ]);
}
}
2
對於Drupal 7,它是taxonomy_term_save(),順便說一下。
1
Drupal 7的版本是這樣的:
/**
* Save recursive array of terms for a vocabulary.
*
* Example of an array of terms:
* $terms = array(
* 'Species' => array(
* 'Dog',
* 'Cat',
* 'Bird'),
* 'Sex' => array(
* 'Male',
* 'Female'));
*
* @param int $vid Vocabulary id
* @param array $terms Recursive array of terms
* @param int $ptid Parent term id (generated by taxonomy_save_term, when =0 then no parent)
*
* taxonomy_term_save ($term) gives back saved tid in $term
*
**/
function _save_terms_recursively($vid, &$terms, $ptid=0) {
foreach ($terms as $k => $v) {
// simple check for numeric indices (term array without children)
$name = is_string($k) ? $k : $v;
$term = new stdClass();
$term->vid = $vid;
$term->name = $name;
$term->parent = $ptid;
taxonomy_term_save($term);
if (is_array($v) && count($v)) {
_save_terms_recursively($vid, $terms[ $k ], $term->tid);
}
}
相關問題
- 1. Drupal 6 - 在分類術語刪除後執行代碼
- 2. Drupal Views:使用分類術語創建3列主頁
- 3. 如何爲父類和子類分類術語創建單獨的Drupal模板?
- 4. Drupal 8樹枝中的分類術語
- 5. Drupal分類術語與視圖
- 6. 在drupal暫停分類術語
- 7. Drupal:分類術語的其他屬性
- 8. 的Drupal 6房源分類術語
- 9. Drupal 8列表分類術語
- 10. 批量更新Drupal 7分類術語
- 11. Drupal動態分類系統術語值
- 12. Drupal 7分類術語顯示頁面
- 13. Drupal 7分類術語計數
- 14. Drupal:將分類術語名稱轉換爲術語ID
- 15. 如何在層次結構(Drupal 7)中創建塊列表分類術語
- 16. 從Drupal 7中的節點檢索分類術語URL
- 17. Drupal:我如何從分類術語中刪除鏈接?
- 18. 將阻塞代碼分成異步回調的術語術語
- 19. 我能否使用術語別名創建分類/術語/%/ x查看路徑?
- 20. Drupal 7:手動列表分類術語和具有這些術語的節點
- 21. 的Drupal 7:Pathauto分級分類術語模式
- 22. Drupal 8:列表樹枝中活動類的分類術語
- 23. 從術語名稱檢索分類術語ID?
- 24. 如何鏈接分類術語圖像到Drupal視圖中的分類術語頁面?
- 25. 與代碼和術語查詢請求創建Web參數API需要創建
- 26. 如何創建分類術語計數塊?
- 27. 如何根據分類術語創建列表?
- 28. Drupal Views:找到由NAT關聯創建的術語
- 29. WordPress短代碼術語
- 30. Drupal:從分類詞彙詞彙創建分層菜單
真棒。現在從哪裏得到如何使用它的例子? – coderama
+1 - 這是要使用的函數,因爲它會調用適當的鉤子。注意:該函數使用起來有點不方便,因爲它期望它的參數是來自術語編輯頁面的單個詞語的結構數組,它可能會有所不同。 –
滾動到頁面底部並閱讀評論,你會發現那裏的例子。 – wimvds