magento2 结账地面的送货地址两行的时候没有数字,第二第三行的 没有 label,没有数字
本文参考 github 参考
复写类
/**
* Fields attribute merger.
*/
class AttributeMerger extends \Magento\Checkout\Block\Checkout\AttributeMerger
{
protected function getMultilineFieldConfig($attributeCode, array $attributeConfig, $providerName, $dataScopePrefix)
{
$lines = [];
unset($attributeConfig['validation']['required-entry']);
for ($lineIndex = 0; $lineIndex < (int)$attributeConfig['size']; $lineIndex++) {
$isFirstLine = $lineIndex === 0;
$line = [
'label' => __("%1 %2", $attributeConfig['label'], $lineIndex + 1),
'component' => 'Magento_Ui/js/form/element/abstract',
'config' => [
// customScope is used to group elements within a single form e.g. they can be validated separately
'customScope' => $dataScopePrefix,
'template' => 'ui/form/field',
'elementTmpl' => 'ui/form/element/input',
'placeholder'=>__('Enter')
],
'dataScope' => $lineIndex,
'provider' => $providerName,
'validation' => $isFirstLine
? array_merge(
['required-entry' => (bool)$attributeConfig['required']],
$attributeConfig['validation']
)
: $attributeConfig['validation'],
'additionalClasses' => $isFirstLine ? 'field' : 'additional'
];
if ($isFirstLine && isset($attributeConfig['default']) && $attributeConfig['default'] != null) {
$line['value'] = $attributeConfig['default'];
}
$lines[] = $line;
}
return [
'component' => 'Magento_Ui/js/form/components/group',
'label' => $attributeConfig['label'],
'required' => (bool)$attributeConfig['required'],
'dataScope' => $dataScopePrefix . '.' . $attributeCode,
'provider' => $providerName,
'sortOrder' => $attributeConfig['sortOrder'],
'type' => 'group',
'config' => [
'template' => 'ui/group/group',
'additionalClasses' => $attributeCode
],
'children' => $lines,
];
}
}
其他输入框没有 placeholder、 label
checkout_index_index.xml
sortOrder 前後排序,有些在PHP
config 设置 label 和placeholder
<item name="telephone" xsi:type="array">
<item name="sortOrder" xsi:type="string">65</item>
<item name="config" xsi:type="array">
<item name="label" xsi:type="string" translate="true"></item>
<item name="placeholder" xsi:type="string" translate="true">Phone Number</item>
<item name="tooltip" xsi:type="array">
<item name="description" xsi:type="string" translate="true">For delivery questions.
</item>
</item>
</item>
</item>
<item name="country_code" xsi:type="array">
<item name="sortOrder" xsi:type="string">64</item>
<item name="config" xsi:type="array">
<item name="label" xsi:type="string" translate="true">Phone Number</item>
<item name="placeholder" xsi:type="string" translate="true">Country Code</item>
</item>
</item>
<item name="city" xsi:type="array">
<item name="config" xsi:type="array">
<item name="placeholder" xsi:type="string" translate="true">Enter</item>
</item>
</item>