बैक-एंड में मैंने सड़क का पता 3 लाइनों का है।
मैं प्रत्येक क्षेत्र में एक अलग प्लेसहोल्डर रखना चाहता हूँ:
- सड़क
- भवन / अपार्टमेंट
- क्षेत्र
इस तरह से उपयोगकर्ता अधिक संरचित तरीके से डेटा दर्ज कर सकता है।
इसी तरह का प्रश्न यहां पाया जा सकता है:
Magento 2 - लेआउट xml / ui तर्कों के साथ चेकआउट रूपों में सड़क के पते को कैसे प्रभावित करें
हालाँकि उत्तर सड़क पता क्षेत्रों में प्लेसहोल्डर्स को शामिल करने के लिए एक समाधान प्रदान नहीं करता है ।
मैं जो हासिल करना चाहता हूं, वह प्रत्येक स्ट्रीट एड्रेस फ़ील्ड के लिए एक अलग प्लेसहोल्डर सेट कर रहा है ।
मेरा कोड:
एप्लिकेशन / कोड / जेएसपी / प्लेसहोल्डर / आदि / मॉड्यूल। xml:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Module/etc/module.xsd">
<module name="Jsp_Placeholder" setup_version="2.0.0" />
</config>
एप्लिकेशन / कोड / जेएसपी / प्लेसहोल्डर / पंजीकरण। एफपी:
<?php
\Magento\Framework\Component\ComponentRegistrar::register(
\Magento\Framework\Component\ComponentRegistrar::MODULE,
'Jsp_Placeholder',
__DIR__
);
ऐप / कोड / Jsp / प्लेसहोल्डर / etc / di.xml:
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\Checkout\Block\Checkout\AttributeMerger">
<plugin name="shippingAddress" type="Jsp\Placeholder\Plugin\Checkout\Block\Checkout\AttributeMerger\Plugin"/>
</type>
</config>
ऐप / कोड / जेएसपी / प्लेसहोल्डर / प्लगिन / चेकआउट / ब्लॉक / चेकआउट / एट्रिब्यूट / चार्जर / प्लग इन:
<?php
namespace Jsp\Placeholder\Plugin\Checkout\Block\Checkout\AttributeMerger;
class Plugin {
public function afterMerge(\Magento\Checkout\Block\Checkout\AttributeMerger $subject, $result)
{
if (array_key_exists('street', $result)) {
$result['street']['children'][0]['placeholder'] = __('Calle y número exterior');
$result['street']['children'][1]['placeholder'] = __('Interior / Edificio / Depto.');
$result['street']['children'][2]['placeholder'] = __('Colonia');
}
return $result;
}
}