protected function ConfigSource::getMapper in Translation Management Tool 8
Gets the mapper.
Parameters
\Drupal\tmgmt\JobItemInterface $job_item: Gets a job item as a parameter.
Return value
\Drupal\config_translation\ConfigMapperInterface $config_mapper Returns the config mapper.
Throws
\Drupal\tmgmt\TMGMTException If there is no entity, throws an exception.
4 calls to ConfigSource::getMapper()
- ConfigSource::getData in sources/
tmgmt_config/ src/ Plugin/ tmgmt/ Source/ ConfigSource.php - Implements TMGMTEntitySourcePluginController::getData().
- ConfigSource::getSourceLangCode in sources/
tmgmt_config/ src/ Plugin/ tmgmt/ Source/ ConfigSource.php - Gets language code of the job item source.
- ConfigSource::getUrl in sources/
tmgmt_config/ src/ Plugin/ tmgmt/ Source/ ConfigSource.php - Returns the Uri for this job item.
- ConfigSource::saveTranslation in sources/
tmgmt_config/ src/ Plugin/ tmgmt/ Source/ ConfigSource.php - Saves a translation.
File
- sources/
tmgmt_config/ src/ Plugin/ tmgmt/ Source/ ConfigSource.php, line 146
Class
- ConfigSource
- Content entity source plugin controller.
Namespace
Drupal\tmgmt_config\Plugin\tmgmt\SourceCode
protected function getMapper(JobItemInterface $job_item) {
$config_mapper = $this->configMapperManager
->createInstance($this
->getMapperId($job_item));
if ($job_item
->getItemType() != static::SIMPLE_CONFIG) {
/** @var \Drupal\Core\Config\Entity\ConfigEntityTypeInterface $entity_type */
$entity_type = $this->entityTypeManager
->getDefinition($config_mapper
->getType());
$pos = strpos($job_item
->getItemId(), $entity_type
->getConfigPrefix());
if ($pos !== FALSE) {
$entity_id = str_replace($entity_type
->getConfigPrefix() . '.', '', $job_item
->getItemId());
}
else {
throw new TMGMTException(t('Item ID does not contain the full config object name.'));
}
$entity = $this->entityTypeManager
->getStorage($config_mapper
->getType())
->load($entity_id);
if (!$entity) {
throw new TMGMTException(t('Unable to load entity %type with id %id', array(
'%type' => $job_item
->getItemType(),
'%id' => $entity_id,
)));
}
$config_mapper
->setEntity($entity);
}
return $config_mapper;
}