从代码中用于在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 Views:使用分类术语创建3列主页
- 2. Drupal:分类术语的其他属性
- 3. 的Drupal 6房源分类术语
- 4. 在drupal暂停分类术语
- 5. 批量更新Drupal 7分类术语
- 6. Drupal 7分类术语计数
- 7. Drupal:将分类术语名称转换为术语ID
- 8. 如何在层次结构(Drupal 7)中创建块列表分类术语
- 9. Drupal:我如何从分类术语中删除链接?
- 10. 我能否使用术语别名创建分类/术语/%/ x查看路径?
- 11. 的Drupal 7:Pathauto分级分类术语模式
- 12. Drupal 8:列表树枝中活动类的分类术语
- 13. 如何链接分类术语图像到Drupal视图中的分类术语页面?
- 14. 如何根据分类术语创建列表?
- 15. WordPress短代码术语
- 16. 从术语代码创建年份/在SAS中操纵日期字符串
- 17. Drupal:从分类词汇词汇创建分层菜单
- 18. Drupal Views:找到由NAT关联创建的术语
- 19. Drupal 6 - 添加分类术语后的重定向
- 20. Drupal - 根据节点的分类术语来显示块ID
- 21. Drupal - 计算字段 - 分类术语权重?
- 22. Drupal - 循环所有在分类标准下的术语
- 23. 将分类术语列表添加到主页Drupal 8
- 24. Drupal 7意见按动态分类术语筛选
- 25. Drupal:在高级搜索中重新选择分类术语
- 26. 如何使用Drupal迁移添加分类术语
- 27. 仅显示当前帖子的分类术语(Drupal)
- 28. Drupal分类学术语中的特殊字符
- 29. Drupal 7:按两个或多个分类术语过滤
- 30. Drupal 7的分类学根术语查看显示
真棒。现在从哪里得到如何使用它的例子? – coderama
+1 - 这是要使用的函数,因为它会调用适当的钩子。注意:该函数使用起来有点不方便,因为它期望它的参数是来自术语编辑页面的单个词语的结构数组,它可能会有所不同。 –
滚动到页面底部并阅读评论,你会发现那里的例子。 – wimvds