getData('block'); $post = $this->registry->registry('mageplaza_blog_post'); $storeId = max(0, (int)$this->request->getParam('store')); if (!$block instanceof PostTab || !$post || !$post->getId() || $storeId <= 0) { return; } $form = $block->getForm(); $translations = $this->translationRepository->getTranslations( (int)$post->getId(), $storeId, CmsTranslationRepository::ENTITY_BLOG_POST, BlogPostFields::codes() ); $fieldset = $form->getElement('base_fieldset'); if ($fieldset && !$form->getElement('translation_store_id')) { $fieldset->addField('translation_store_id', 'hidden', [ 'name' => 'translation_store_id', 'value' => $storeId, ]); } foreach (BlogPostFields::codes() as $field) { $element = $form->getElement($field); if (!$element) { continue; } if ($this->skippedFields->isSkipped('blog_post', $field)) { $element->setDisabled(true); $element->setData('after_element_html', (string)__('Skipped by translation configuration.')); continue; } $hasTranslation = array_key_exists($field, $translations); $element->setValue( $hasTranslation ? $translations[$field] : BlogPostFields::baseValue($field, $post->getData($field)) ); $element->setDisabled(!$hasTranslation); $element->setData( 'after_element_html', sprintf( '', $field, $hasTranslation ? '' : ' checked="checked"', __('Use Default Value') ) ); } foreach (self::SHARED_FIELDS as $field) { $element = $form->getElement($field); if ($element) { $element->setDisabled(true); } } } }