मैं चेकआउट पृष्ठ से ग्राहकों को शुरुआती / नाम कैसे हटाऊं?


19

मैगेंटो के नवीनतम संस्करण में अपग्रेड करने के बाद से, मैंने देखा कि चेकआउट पृष्ठ पर एक नई प्रविष्टि दिखाई गई है जो ग्राहकों के मध्य नाम / प्रारंभिक के लिए पूछ रही है।

मैं चेकआउट पृष्ठ से "मध्य नाम / प्रारंभिक" प्रविष्टि कैसे निकालूं?

जवाबों:


46

कैसे Magento 1.9.2.1 अद्यतन मध्य नाम को प्रभावित करता है

सबसे पहले, समाधान

मैं एक ही मुद्दा था जब Magento CE 1.9.2.1 से Magento CE 1.9.2.1 को अद्यतन कर रहा था । अद्यतन के कारण मध्य नाम प्रदर्शित होता है, लेकिन जब मैंने System > Configuration > Customers > Customer Configuration > Name and Address Options"मध्य दृश्य दिखाएं (प्रारंभिक)" व्यवस्थापक की जाँच की तो सेटिंग पहले से ही "नहीं" प्रदर्शित कर रही थी - जो कि मैं चाहता था। मैंने सेटिंग को "हां" में बदल दिया और फिर "सेव कॉन्फिग" पर क्लिक करने से पहले "नहीं" पर वापस आ गया, और जब मैंने पेज रिफ्रेश किया तो इसने तुरंत मध्य नाम / चेकआउट से हटा दिया।

डेटाबेस

मेरे मामले में, मैं Magento 1.8.x से Magento 1.9.x पर एक स्टोर को अपडेट करने पर काम कर रहा हूं। यह मेरे विकास के माहौल में है जिसे मैंने 1.9.2.0 से 1.9.2.1 तक अपडेट किया। जब हम 1.8.x से 1.9.x पर अपग्रेड लॉन्च करते हैं, तो हमें लाइव साइट अप-टू-डेट प्राप्त करने के लिए, हमें कई एडमिन सेटिंग्स को अपडेट करना होगा, जिसे हम डेटाबेस में सीधे क्वेरी के साथ करने की योजना बनाते हैं। डेटाबेस में, आप देख सकते हैं कि Magento मध्य नाम सेटिंग को कैसे बदलता है।

प्रदर्शित व्यवस्थापक सेटिंग भ्रामक हो सकती है

तालिका `core_config_data` रिकॉर्ड के साथ" मध्य नाम दिखाएँ (प्रारंभिक) के लिए सेटिंग की व्यवस्था करती है जहाँ `core_config_data`.`path`='customer/address/middlename_show'

यह रिकॉर्ड `मान` क्षेत्र (0 =" नहीं ", 1 =" हाँ ") में सेटिंग रखता है। जब Magento CE 1.9.2.1 में अपग्रेड करके मध्य नाम प्रकट होता है, तो इस फ़ील्ड को बदला नहीं जाता है । यदि आप मैगेंटो के 1.9.2.1 को अपडेट के दौरान परिवर्तन करने के बाद व्यवस्थापक सेटिंग्स में "शो मिडिल नेम (प्रारंभिक)" में परिवर्तन सहेजते हैं, तो यह यहां 'core_config_data' मान को बदल देगा।

1.9.2.1 के अपडेट ने `core_config_data` पर रिकॉर्ड नहीं बदला, और इसलिए व्यवस्थापक सेटिंग्स में प्रदर्शित किया गया है। लेकिन, अपडेट एक अलग तालिका के एक अलग रिकॉर्ड को बदल देता है।

वास्तविक मध्य नाम दृश्यता `customer_eav_attribute` में है

मैगेंटो के मेरे कई देव उदाहरणों में, तालिका `ev_attribute` का 2" मध्य नाम "` विशेषता_कोड` (s), `विशेषता_आईडी` (s) 6 और 21 है`Customer_eav_attribute` तालिका एक क्षेत्र` is_visible` साथ विशेषता की दृश्यता तय करता है।

  • मेरे लाइव 1.8.x वातावरण में, `एट्री_एड` (एस) 6 और 21 था `is_visible` = 0
  • Magento CE 1.9.2.1 से Magento CE 1.9.2.1 के लिए देव को अद्यतन करने के बाद , यह बन गया `is_visible` = 1
  • के बाद मैंने टाल दिया और "मिडिल नेम" (प्रारंभिक) "से" नहीं "के लिए एडमिन को बचाया, `is_visible`=0फिर से और मिडिल नेम / इनिशियल फील्ड चेकआउट से गायब हो गया।

सारांश

Magento सीई 1.9.2.1 अद्यतन क्या "शो मध्य नाम (प्रारंभिक)" सेटिंग के तहत Magento व्यवस्थापक में प्रदर्शित किया जाता है को प्रभावित किए बिना `customer_eav_attribute` तालिका में फ़्लिप मध्य नाम सेटिंग। आप इसे उस तरह से ठीक कर सकते हैं जिस तरह से "सामान्य रूप से दिखाएँ मध्य नाम (प्रारंभिक)" सेटिंग को टॉगल करके, दूरगामी टेम्पलेट समायोजन किए बिना, सामान्य रूप से सेटिंग को व्यवस्थापक में समायोजित कर दिया जाता है।

पक्षीय लेख

यदि किसी कारण से आपको इस व्यवस्थापक सेटिंग को किसी स्टोर की कई प्रतियों में, या व्यवस्थापक अद्यतनों के एक बैच में स्थानांतरित करना होगा, जैसे कि देव माहौल से मेल खाने के लिए किसी स्टोर को अपग्रेड करते समय ... आप इस सेटिंग के लिए निम्न SQL कथन का उपयोग कर सकते हैं ( बशर्ते आपको पता हो कि "मिडल नेम" आपके स्टोर में `एट्रिब्यूशन_ 6 'और 21 है। यह मैगेंटो के लिए मानक है, लेकिन सुरक्षित रहने के लिए, अपने` ईव_ट्रेड्रा `टेबल को पहले दोहराएं।)।

UPDATE customer_eav_attribute SET is_visible = 0 WHERE attribute_id IN (6, 21);


Magento पर फिक्स 1.9.2.1 मेरे लिए ठीक काम करता है
फ्रा

5

तकनीकी जवाब

सिस्टम कॉन्फ़िगरेशन विकल्प को बैकएंड मॉडल ( Mage_Adminhtml_Model_System_Config_Backend_Customer_Show_Customer) मिला है, जिसकी _afterSaveविधि ग्राहक EAV विशेषता (तालिका:) में समान परिवर्तन करती है customer_eav_attribute

सिस्टम कॉन्फ़िगरेशन विकल्प मान और EAV विशेषता is_visibleमान आवश्यक रूप से सिंक में नहीं हो सकता है (या तो Magento के उन्नयन के कारण, या यदि कॉन्फ़िगरेशन विकल्प प्रोग्रामेटिक रूप से, या किसी अन्य कारण से बदला गया था)।

स्विच को एक-दो बार फ़्लिप करने से यह ठीक हो जाएगा, या, यदि आप मेरे जैसे हैं और हर चीज़ के लिए इंस्टॉल / अपग्रेड स्क्रिप्ट का उपयोग कर सकते हैं, तो आप निम्न कर सकते हैं:

Mage::getModel('core/config')
    ->saveConfig('customer/address/middlename_show', 0);    

try {

    $attribute = Mage::getSingleton('eav/config')
        ->getAttribute('customer', 'middlename')
        ->setIsVisible(0)
        ->save();

    $attribute = Mage::getSingleton('eav/config')
        ->getAttribute('customer_address', 'middlename')
        ->setIsVisible(0)
        ->save();

} catch (Exception $e) {
    Mage::logException($e);
    throw $e;
}

1
धन्यवाद, महान काम। आपको ग्राहक पता विशेषता के लिए कोड भी जोड़ना चाहिए:$attribute = Mage::getSingleton('eav/config') ->getAttribute('customer_address', 'middlename') ->setIsVisible(0) ->save();
Andreas von Studnitz

2

सबसे आसान तरीका:

Magento ver। 1.9.2.1

System > Configuration > Customers > Customer configuration > Name and Address Options

Show Middle Name (initial) = No

यहाँ छवि विवरण दर्ज करें


यह पहले से ही सेट था।
SR_Magento

बस हां चुनें -> सहेजें। फिर से No-> save चुनें। कैश ताज़ा करें और देखें।
प्रतीक कामनी

0

निकाला जा रहा है {{depend middlename}}{{var middlename}}@sr_magento की तरह वास्तव में अपने जवाब में पता चलता है हटाने को दूर नहीं करताShow Middle Name (initial) चेकआउट पृष्ठ से ही क्षेत्र। यह केवल उन क्षेत्रों से इसे हटाता है जहां ग्राहक पता जानकारी प्रदान / मुद्रित की जाती है, जैसे व्यवस्थापक क्षेत्र, पीडीएफ और ईमेल टेम्पलेट।

ईमेल टेम्प्लेट से फ़ील्ड हटाने की कोई आवश्यकता नहीं है। यह ओवरकिल है और आपको उन प्रविष्टियों को ईमेल टेम्प्लेट में फिर से जोड़ना होगा, यदि आप इसे सक्षम करने का निर्णय लेते हैंShow Middle Name(initial) भविष्य में इसे होगा।

मैंने इस गड़बड़ को भी देखा है, Magento CE 1.9.2.0 से Magento CE 1.9.2.1 को अपडेट करने के बाद Magento डाउनलोडर का उपयोग करके। अद्यतन के Show Middle Name (initial)तहत सेटिंग को समायोजित करने के लिए लगता है

System > Configuration > Customers > Customer Configuration > Name and Address Options

से "नहीं" के लिए "हाँ" । यह विभिन्न सर्वरों पर कई दुकानों में मेरे साथ हुआ।

इसे पूर्ववत करने के लिए बस इसे "नहीं" पर वापस सेट करें और कॉन्फ़िगरेशन को सहेजें। Show Middle Name (initial)फ़ील्ड अब चेकआउट पृष्ठ पर प्रदर्शित किया जाएगा।


@sr_magento आपका तरीका काम कर सकता है (हालाँकि मुझे यकीन नहीं है कि क्यों, मुझे संदेह है कि केवल कॉन्फिग को सेव करना ट्रिक करता है) लेकिन आपका तर्क गलत है। बदल रहा है Address Templatesआप का सुझाव दे दुकान के दृश्यपटल में चेकआउट पृष्ठ इनपुट फ़ील्ड नहीं बदलता है। यह केवल पतों के मुद्रण के लिए टेम्पलेट्स को प्रभावित करता है। कृपया निम्नलिखित दस्तावेज़ पढ़ें । आप व्यवस्थापक पैनल के ग्राहक क्षेत्रों के बारे में सही हैं। मैं अपने उत्तर के इस भाग को पुनः प्रकाशित करूंगा।
फॉरमैट

0

अगर आप सीधे फाइल से हटाना चाहते हैं तो

निम्न फ़ाइल खोलें

ऐप => डिज़ाइन => फ्रंटेंड => आधार => डिफ़ॉल्ट => टेम्पलेट => ग्राहक => विजेट => name.phtml

if ($this->showMiddlename()) टिप्पणी के लिए खोज करें या उस कथन को पूरा करें

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.