首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >节点索引中的术语表类型

节点索引中的术语表类型
EN

Stack Overflow用户
提问于 2013-07-11 13:21:49
回答 1查看 378关注 0票数 0

问题/动机

我正在使用Search与Search集成。目前,我有一个显示内容类型列表的节点索引和一个附加在其上的分面块(类别)。我的想法是创建另一个面块,将过滤开始的上市标题。

我想我什么都试过了(再说一次,也许没有.)除了创建新的索引字段外,将标题裁剪为第一个字母,然后使用它来筛选标题。

EN

回答 1

Stack Overflow用户

发布于 2013-07-12 06:48:35

这解决了我的问题。它将另一个字段添加到索引中,您可以在其中创建facet。

代码语言:javascript
代码运行次数:0
运行
复制
function wtc_glossary_search_api_alter_callback_info() {
  $callbacks['wtc_glossary_alter_add_first_letter_title'] = array(
    'name' => t('First letter of listing title'),
    'description' => t("This module provides first letter of title for glossary view."),
    'class' => 'WtcAlterAddFirstLetter',
  );

  return $callbacks;
}

/**
 * Search API data alteration callback that adds the first letter of title  for glossary mode
 */
class WtcAlterAddFirstLetter extends SearchApiAbstractAlterCallback {

  public function alterItems(array &$items) {
    foreach ($items as $id => &$item) {
      if (!isset($item->FIELD_YOU_NEED)) {
        $item->search_api_title_first_letter = NULL;
        continue;
      }
      $item->search_api_title_first_letter = substr($item->FIELD_YOU_NEED,0,1);
    }
  }

  public function propertyInfo() {
    return array(
      'search_api_title_first_letter' => array(
        'label' => t('First Letter of FIELD_YOU_NEED'),
        'description' => t('For for listings in glossary mode.'),
        'type' => 'text',
      ),
    );
  }

}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17594548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档