1 回答

TA貢獻1817條經(jīng)驗 獲得超14個贊
我解決了這個問題。
在我的情況下,我在索引中有照片,它們有一個畫廊作為實體字段,如果在照片索引中修改了畫廊,它們就不會更新。因此,使用 SQL 抓取與該畫廊相關的所有照片,然后放入臟 ids 數(shù)組中。所以下面的代碼:
function hook_entity_presave($entity, $type) {
if ($entity->type == 'MYCONTENTTYPE') {
if ($entity->original->title !== $entity->title) {
$dirty_ids = array();
$nid = $entity->nid;
$result = db_query('SELECT g.entity_id FROM {gallery} g WHERE c.id = :nid', array(':nid' => $nid));
foreach($result as $record) {
$dirty_ids[] = $record->entity_id;
}
if(!empty($dirty_ids)) {
search_api_track_item_change('node', $dirty_ids);
}
}
}
}
- 1 回答
- 0 關注
- 189 瀏覽
添加回答
舉報