/** * Get label translation with translate language * * @param \XLite\Model\LanguageLabel $label Label * * @return string */ public function getTranslation(\XLite\Model\LanguageLabel $label) { return $this->getTranslatedLanguage() ? $label->getTranslation($this->getTranslatedLanguage()->code)->getLabel() : ''; }
/** * {@inheritDoc} */ public function prepareEntityBeforeCommit($type) { $this->__initializer__ && $this->__initializer__->__invoke($this, 'prepareEntityBeforeCommit', array($type)); return parent::prepareEntityBeforeCommit($type); }
/** * Get languages list for label translations availability * * @param \XLite\Model\LanguageLabel $entity * * @return array */ protected function getLanguageMarks($entity) { $result = array(); $languages = \XLite\Core\Database::getRepo('XLite\\Model\\Language')->findAddedLanguages(); $translations = $entity->getTranslations(); foreach ($languages as $l) { $code = $l->getCode(); $found = false; foreach ($translations as $t) { if ($t->getCode() == $code) { $found = true; break; } } $result[strtoupper($code)] = array('status' => $found ? 'set' : 'unset'); } return $result; }