2

假设我有一个名为“职位”的词汇表。该词汇表包含几个自定义字段。

"JOB TITLES" (Vocabulary)
 |
 |-- name (Default Field)
 |-- description (Default Field)
 |-- reference_url (Custom Field)
 |-- help_link (Custom Field)

上面的词汇表包含 2 个自定义字段,我可以在添加或编辑分类术语时看到它们。

我的问题是,如何在 page.tpl 上使用它们?如何使用 hook_page_preprocess() 在 template.php 上访问它们?

4

2 回答 2

0

为了在术语页面底部显示文本,我在分类词汇表中添加了 2 个新字段(“field_term_heading”和“field_term_footer”)。我发现它创建了一个相当笨拙的嵌套数组。这是我添加到 page.tpl.php 以显示它的内容。

<?php if ( arg(0) == 'taxonomy' && arg(1) == 'term' && is_numeric(arg(2)) ): ?>

    <?php $page_term = taxonomy_term_load(arg(2));
        if ($page_term->field_footer_heading) {
        print '<h2 class="block-title">'.($page_term->field_footer_heading['und'][0]['safe_value']).'</h2>';
        }
    ?>
    <?php $page_term = taxonomy_term_load(arg(2));
        if ($page_term->field_footer_text) {
        print '<div class="content">'.($page_term->field_footer_text['und'][0]['safe_value']).'</div>';
        }
    ?>

    <?php endif; ?>
于 2013-07-21T08:25:44.667 回答
0

不幸的是,我还没有找到一个好的解决方案。我暂时这样解决了:

自定义字段:

$output = (isset($term->field_FIELDNAME['und'][0]['safe_value']))? $term->field_FIELDNAME['und'][0]['safe_value'] : '' ;

术语说明:

$output = filter_xss_admin($term->description);

其中 $term 是:

$tid = (int)arg(2);
$term = taxonomy_term_load($tid);

我再说一遍,上面的自定义字段解决方案不是最佳实践,而且它也是不可预测的,所以请谨慎使用。

于 2012-05-27T09:43:06.380 回答