/** * Intercept core config form block getScopeLabel() method * to add additional override hints. * * @see Magento\Config\Block\System\Config\Form::getScopeLabel() * @param \Magento\Config\Block\System\Config\Form $form * @param callable $getScopeLabel * @param Field $field * @return Phrase */ public function aroundGetScopeLabel(\Magento\Config\Block\System\Config\Form $form, \Closure $getScopeLabel, Field $field) { $currentScopeId = null; switch ($form->getScope()) { case 'websites': $currentScopeId = $form->getWebsiteCode(); break; case 'stores': $currentScopeId = $form->getStoreCode(); break; } $overriddenLevels = $this->helper->getOverriddenLevels($field->getPath(), $form->getScope(), $currentScopeId); /* @var $returnPhrase Phrase */ $labelPhrase = $getScopeLabel($field); if (!empty($overriddenLevels)) { $scopeHintText = $labelPhrase . $this->helper->formatOverriddenScopes($form, $overriddenLevels); // create new phrase, now that constituent strings are translated individually $labelPhrase = new Phrase($scopeHintText, $labelPhrase->getArguments()); } return $labelPhrase; }
/** * Get parameters, corresponding to placeholders in raw exception message * * @return array */ public function getParameters() { return $this->phrase->getArguments(); }
/** * Test get arguments * * @return void */ public function testGetArguments() { $text = 'some text'; $arguments = ['arg1', 'arg2']; $phrase1 = new Phrase($text); $phrase2 = new Phrase($text, $arguments); $this->assertEquals([], $phrase1->getArguments()); $this->assertEquals($arguments, $phrase2->getArguments()); }