示例#1
0
文件: Inline.php 项目: mage2pro/core
 /**
  * 2015-11-19
  * @override
  * @see \Magento\Framework\Data\Form\Element\Renderer\RendererInterface::render()
  * @param AE|\Df\Framework\Form\Element $element
  * @return string
  */
 public function render(AE $element)
 {
     /** @var bool $labelAtRight */
     $labelAtRight = E::shouldLabelBeAtRight($element);
     /**
      * 2015-12-11
      * Класс .df-label-sibling означает: элемент рядом с label.
      * В данном случае это всегда непосредственно элемент управления,
      * а вот для блочных элементов это может быть div-оболочка вокруг элемента:
      * @see \Df\Backend\Block\Widget\Form\Renderer\Fieldset\Element::elementHtml()
      */
     $element->addClass('df-label-sibling');
     /**
      * 2015-12-28
      * К сожалению, мы не можем назначать классы для label:
      * @uses \Magento\Framework\Data\Form\Element\AbstractElement::getLabelHtml()
      * https://github.com/magento/magento2/blob/2.0.0/lib/internal/Magento/Framework/Data/Form/Element/AbstractElement.php#L425
      * Потому ситуацию, когда label расположена справа от элемента,
      * помечаем классом для элемента.
      * При этом сама label справа может быть выбрана селектором .df-label-sibling ~ label
      */
     if ($labelAtRight) {
         $element->addClass('df-label-at-right');
     }
     /** @var string $innerA */
     $innerA = [$element->getLabelHtml(), $element->getElementHtml()];
     if ($labelAtRight) {
         $innerA = array_reverse($innerA);
     }
     return df_tag('span', ['class' => df_cc_s('df-element-inline', 'df-field', E::getClassDfOnly($element), $element->getContainerClass())], implode($innerA));
 }
示例#2
0
文件: Element.php 项目: mage2pro/core
 /**
  * 2015-11-22
  * @used-by \Df\Backend\Block\Widget\Form\Renderer\Fieldset\Element::_render()
  * @return bool
  */
 private function shouldLabelBeAtRight()
 {
     if (!isset($this->{__METHOD__})) {
         $this->{__METHOD__} = E::shouldLabelBeAtRight($this->e());
     }
     return $this->{__METHOD__};
 }