select('i18n_blocks', 'i18n') ->fields('i18n') ->fields('b', ['bid', 'module', 'delta', 'theme', 'title']); $query->innerJoin($this->blockTable, 'b', ('b.module = i18n.module AND b.delta = i18n.delta')); return $query; } /** * {@inheritdoc} */ public function fields() { return [ 'bid' => $this->t('The block numeric identifier.'), 'ibid' => $this->t('The i18n_blocks block numeric identifier.'), 'module' => $this->t('The module providing the block.'), 'delta' => $this->t("The block's delta."), 'type' => $this->t('Block type'), 'language' => $this->t('Language for this field.'), 'theme' => $this->t('Which theme the block is placed in.'), 'default_theme' => $this->t('The default theme.'), 'title' => $this->t('Block title.'), ]; } /** * {@inheritdoc} */ public function prepareRow(Row $row) { $row->setSourceProperty('default_theme', $this->defaultTheme); return SourcePluginBase::prepareRow($row); } /** * {@inheritdoc} */ public function getIds() { $ids = parent::getIds(); $ids['module']['alias'] = 'b'; $ids['delta']['alias'] = 'b'; $ids['theme']['alias'] = 'b'; $ids['language']['type'] = 'string'; return $ids; } }