Magento

คำถาม & คำตอบสำหรับผู้ใช้แพลตฟอร์ม Magento e-Commerce

3
การรวบรวมการกรองและการโหลดที่มีประสิทธิภาพ
ตอนนี้ฉันกำลังใช้คอลเลกชันจำนวนมากที่ซ้อนกันอยู่ภายในลูปด้านหน้า เป็นไปได้ไหมที่จะย้ายสิ่งต่าง ๆ เหล่านี้ขึ้นมาสองสามระดับ? ปัจจุบันฉันถูกบังคับให้โหลดคอลเล็กชันที่มีเอนทิตี 51k ขึ้นไปซ้ำแล้วซ้ำอีกซึ่งทำให้สิ่งต่าง ๆ ช้าลงอย่างมาก โดยเฉพาะคอลเลกชัน kitinventory <?php class Codespace_Module_Helper_Item extends other_one{ function functionOne($collection){ ... $data = $collection->getData(); foreach($data as $item){ $this->_functionTwo($item); } ... } function _functionTwo($item){ $model = Mage::getModel('catalog/product'); $id = $model->getIdBySku($item['sku']); $inventoryStatus = Mage::getResourceSingleton('catalog/product')->getAttributeRawValue($id, 'product_inventory_status', 1); $invStatus = $model->getResource()->getAttribute('product_inventory_status')->getSource()->getOptionText($inventoryStatus); if ($invStatus && $id) { …

1
อนุญาตให้มีคำสั่งซื้อติดลบโดยมียอดรวมน้อยกว่า 0
หนึ่งในลูกค้าของเราได้ขอความสามารถสำหรับบุคลากรในการป้อนคำสั่งซื้อเพื่อส่งคำสั่งซื้อที่มียอดรวมคำสั่งซื้อติดลบ แอปพลิเคชันอนุญาตให้มีรายการโฆษณาเชิงลบอยู่แล้วซึ่งทำงานได้ดีตราบใดที่คำสั่งซื้อที่เหลือทำให้มีผลรวมทั้งหมด ดูเหมือนว่าวีโอไอพีจะพยายามอย่างหนักเพื่อไม่ให้มียอดสั่งซื้อติดลบ จากการดูจำนวนรวมที่ได้รับแสดงให้เห็นว่าวีโอไอพีจะใช้บัตรของขวัญสำหรับจำนวนเงินที่กลับกัน หากฉันปิดใช้บัตรของขวัญก็จะใช้เครดิตร้านค้า (แม้ว่าเครดิตจะไม่มีอยู่) ฉันสงสัยว่านี่เป็นเพียงการเล่นโวหาร (และอาจเป็นปลาเฮอริ่งแดง) ใครสามารถช่วยระบุตำแหน่งที่วีโอไอพีบังคับให้ 0 เป็นจำนวนเงินสูงสุดทั้งหมดและเราจะดำเนินการตามคำขอได้อย่างไร ฉันไม่ต้องการเพียงแค่บังคับให้ตั้งค่าทั้งหมดเพราะฉันต้องการให้วีโอไอพีคำนวณทุกอย่างตามปกติเพียงแค่หักล้างผลรวมทั้งหมดที่เป็นค่าลบ จิตวิญญาณของคำถามคือความเป็นไปได้ทางเทคนิค แต่ทันทีที่ได้รับการแก้ไขฉันสนใจใน 'gotchas' หรือความคิดใด ๆ ที่อาจขัดขวางการใช้ผลรวมคำสั่งเชิงลบจากจุดยืนที่ไม่ใช่ด้านเทคนิค

2
ข้อผิดพลาด PDO ขณะดำเนินการ cron: คิวการส่งจดหมายข่าวล้มเหลว (คอลัมน์ที่ไม่รู้จัก 'main_table.data' ใน 'รายการเขตข้อมูล')
งาน cron ล้มเหลวเมื่อประมวลผลคิวจดหมายข่าว ฉัน debugged การเรียก PDO และดูเหมือนว่า Magento กำลังผสมฟิลด์ที่นี่ ฉันไม่มีเงื่อนงำที่วีโอไอพี (หรือ Zend PDO) หาช่องที่จะเลือกจาก แต่มันดูสับสนไปหมด: ดูเหมือนว่าวีโอไอพีจะล้มเหลวในการรับชื่อลูกค้าของลูกค้า ตัวเลือกสุดท้ายคือ: SELECT eav_entity_type.* FROM eav_entity_type WHERE (eav_entity_type.entity_type_code='customer') DESCRIBE customer_eav_attribute DESCRIBE customer_eav_attribute_website เลือกมาพร้อมกับรายการเขตข้อมูลที่ไม่มีอยู่: SELECT main_table.data, main_table.lifetime, main_table.expire, main_table.priority, additional_table.attribute_id, additional_table.is_visible, additional_table.input_filter, additional_table.multiline_count, additional_table.validate_rules, additional_table.is_system, additional_table.sort_order, additional_table.data_model, scope_table.website_id AS scope_website_id, scope_table.is_visible AS scope_is_visible, scope_table.multiline_count AS …

4
PageSpeed ​​- กำจัดจาวาสคริปต์และ CSS ที่บล็อกการแสดงผลในเนื้อหาที่อยู่ด้านบน
ฉันกำลังใช้งานmagento 1.9และฉันกำลังใช้สิ่งRWD sliderที่มาพร้อมกับ Magento 1.9 ในหน้าแรก Google PageSpeedไม่ชอบสิ่งนี้และพูดว่า: กำจัดการปิดกั้นการแสดงผล JavaScript และ CSS ในเนื้อหาครึ่งหน้าบน ฉันจะทำอย่างไรกับไฟล์จาวาสคริปต์นี้ซึ่งเรียกแถบเลื่อนนี้: http://www.MYDOMAIN/media/js/sdhfksjfhdsjvbskj8e4w.js

3
การจัดการกับประเภท neutered นัยใน Magento
เพียงแค่สงสัยว่าถ้าใครมีกลยุทธ์ที่ดีกว่าที่ฉันเคยคิดไว้สำหรับการตรวจสอบประเภทให้อยู่ร่วมกับตัวจัดการข้อผิดพลาดที่กำหนดเองของ Magento โดยเฉพาะฉันสงสัยเกี่ยวกับ "ข้อผิดพลาดร้ายแรงที่ตรวจจับได้" ซึ่งถูกโยนในกรณีที่พารามิเตอร์ไม่ตรงกันพิมพ์ นี่คือตัวอย่างจากMageชั้นเรียน: /** * Write exception to log * * @param Exception $e */ public static function logException(Exception $e) { if (!self::getConfig()) { return; } $file = self::getStoreConfig('dev/log/exception_file'); self::log("\n" . $e->__toString(), Zend_Log::ERR, $file); } เนื่องจากตัวจัดการข้อผิดพลาดสิ่งใดที่สามารถส่งผ่านไปยังวิธีการรวมถึงZend_Date(ซึ่งจะทำงานได้ดี แต่ดูสับสนมากในบันทึกข้อยกเว้นของคุณ) หรือ a Mage_Core_Model_Appซึ่งอันที่จริงจะมีข้อผิดพลาดร้ายแรง เป็นไปได้ที่จะนำการตรวจสอบประเภทกลับมาใช้ใหม่ที่ด้านบนของวิธีการ$e instanceof Exceptionแต่กลยุทธ์ดังกล่าวเอาชนะวัตถุประสงค์ของการพิมพ์ดีด ข้อเสนอแนะคำแนะนำใด ๆ
15 error  exception 

1
ตัวช่วยสร้างการติดตั้งแบบสุ่มเปลี่ยนเส้นทาง Magento 1.9.0.1
ฉันมีการติดตั้ง Magento 1.9.0.1 community edition ซึ่งพร้อมที่จะเปิดตัวยกเว้นปัญหาเดียวที่ฉันพบต่อไป สุ่มในเวลาที่ต่างกันมันจะเปลี่ยนเส้นทางไปที่ /index.php/install/ ฉันล้างแคชและเซสชันหลายครั้งแม้กระทั่งรีสตาร์ทเซิร์ฟเวอร์หลังจากล้างแคชและเซสชันสองครั้งเนื่องจากผู้โพสต์คนอื่นบอกว่าทำงานให้เขา แต่หลังจากประสบความสำเร็จในระยะเวลาสั้น ๆ ปัญหานี้ก็ยังคงปรากฏขึ้นเรื่อย ๆ ฉันตรวจสอบเพื่อให้แน่ใจว่าไฟล์ local.xml ของฉันอยู่ที่นั่นและมีวันที่ติดตั้ง เพื่อตรวจสอบได้ดี ฉันเปรียบเทียบกับการติดตั้ง Magento อื่น ๆ ที่ฉันทำ (ไม่มีการเรียกใช้ 1.9 แม้ว่านี่เป็นครั้งแรกของฉัน) และไฟล์ดูดี นอกจากนี้ฉันมีข้อผิดพลาดและการบันทึกข้อยกเว้นเปิดอยู่โดยที่ไม่มีการบันทึกสิ่งนี้ สิ่งที่ยุ่งยากคือมันไม่ได้ทำเสมอไป แต่เป็นการสุ่ม ฉันสามารถไปถึงที่นั่นได้โดยกลับไปที่หน้าที่ฉันพยายามเรียกดู แต่ไม่ต้องการให้ผู้เยี่ยมชมเห็นการเปลี่ยนเส้นทางนี้ ดูเหมือนจะไม่มีหมวดหมู่เหตุการณ์เวลาและอื่น ๆ ที่ทำให้การเปลี่ยนเส้นทางบ่อยขึ้น บางครั้งฉันสามารถไป 60 นาทีโดยไม่ต้องเปลี่ยนเส้นทางเพื่อติดตั้งและบางครั้งฉันก็พบปัญหาสองสามครั้งต่อนาที ความช่วยเหลือใด ๆ ที่ทุกคนสามารถให้การชื่นชม ขอบคุณ!


7
Magento - PayPal - SSLV3: มันจะทำงานเมื่อ PayPal หยุด SSL3 ในวันที่ 3 ธันวาคมหรือไม่
ฉันเพิ่งได้รับอีเมลจาก PayPal ระบุเนื่องจากช่องโหว่ของพุดเดิ้ลพวกเขาจะยุติการสนับสนุน SSLV3 โดยใช้ API การชำระเงินของพวกเขาตั้งแต่วันที่ 3 ธันวาคม 2014 แค่อยากจะวางไว้ที่นั่นและถามว่าใครรู้หรือไม่ว่าสิ่งนี้จะส่งผลโดยตรงกับการรวม PayPal Pro Pro / Hosted Solution / Express Payments รวมใน Magento 1.9.0.1 (ล่าสุด) หรือไม่ ถ้ามีใครมีความคิดว่าฉันจะไปแก้ไขโมดูล paypal มาตรฐานใน magento ได้อย่างไร ขอบคุณ!
15 paypal 

1
ลำดับการโหลด Layout XML ไม่ถูกต้อง
เมื่อฉันสร้างไฟล์เลย์เอาต์สำหรับพื้นที่ผู้ดูแลระบบ (ไม่ว่าจะเป็นในชุมชนหรือกลุ่มรหัสท้องถิ่น) บางครั้งวีโอไอพีก็กำลังโหลดเลย์เอาต์ xml นั้นไว้ก่อนที่จะโหลด Adminhtml โมดูลเลย์เอาต์ xml ผลที่ได้คือการโทรอ้างอิงจะถูกยกเลิกเพราะไม่มีบล็อกที่สร้างขึ้นเพื่อใช้กับพวกเขา เห็นได้ชัดว่าแคชไม่ได้เป็นส่วนหนึ่งที่นี่ ฉันได้เพิ่มMage_Adminhtmlใน<depends/>โหนดในไฟล์ประกาศโมดูล นี่เป็นปัญหาที่คุณมีมาก่อนหรือไม่? ถ้าเป็นเช่นนั้นจะแก้ไขได้อย่างไร? ฉันได้ทำงานผ่านปัญหานี้มาหลายครั้งแล้วและหาทางแก้ไขในแต่ละครั้ง แต่ฉันไม่สามารถคิดได้ว่าอะไรทำให้สิ่งนี้เกิดขึ้นตั้งแต่แรก
15 layout  magento-1 

3
ที่จัดเก็บปัจจุบันคือ 1 เมื่อเรียกใช้สคริปต์อัปเกรด
แนวคิดใดที่Mage::app()->getStore()ส่งคืนมุมมองร้านค้าด้วย id 1 เมื่อภายในสคริปต์อัปเกรดที่เป็นอิสระในมุมมองร้านค้าฉันกำลังเรียกใช้สคริปต์อัปเกรดใน (แม้แต่ผู้ดูแลระบบ) ฉันหมายความว่าฉันรู้ว่ารหัสที่ทำนี่อยู่ที่ไหน ในMage_Core_Model_App::getStore()นี้มี: if (!Mage::isInstalled() || $this->getUpdateMode()) { return $this->_getDefaultStore(); } และ_getDefaultStoreมีลักษณะเช่นนี้: if (empty($this->_store)) { $this->_store = Mage::getModel('core/store') ->setId(self::DISTRO_STORE_ID) ->setCode(self::DISTRO_STORE_CODE); } return $this->_store; $this->_store ว่างเสมอเมื่อถึงวิธีการด้านบน ฉันได้รับผลลัพธ์เดียวกันแม้ว่าฉันจะเพิ่มที่ด้านบนสุดของสคริปต์อัปเกรด: Mage::app()->setCurrentStore(Mage::getModel('core/store')->load(Mage_Core_Model_App::ADMIN_STORE_ID)); ฉันอยากรู้เกี่ยวกับตรรกะทางธุรกิจของการมี 'คุณสมบัติ' นี้

2
Magento ล้มเหลวเมื่อพยายามบันทึกผลิตภัณฑ์ภายในผู้สังเกตการณ์เหตุการณ์ที่ส่วนหน้า?
ฉันมีฟังก์ชั่นที่เชื่อมโยงกับผู้สังเกตการณ์เหตุการณ์ หนึ่งในความต้องการคือเมื่อลูปผ่านข้อมูลรายการสั่งซื้อหากแอตทริบิวต์ผลิตภัณฑ์บางอย่างว่างเปล่าจะมีการร้องขอให้รับข้อมูลที่เฉพาะเจาะจงผ่านรูปแบบที่แยกต่างหาก (ทำงานได้ดี) รหัสปัญหาโดยทั่วไปจะลดลงถึงสิ่งนี้ foreach ($order->getAllItems() as $key => $item) { /** @var Tantor_Catalog_Model_Product $productData */ $productData = $item->getProduct(); $_item = Mage::getModel('catalog/product')->load($productData->getId()); $_item->setNetsuiteItemIid('foo'); $_item->save(); } อย่างไรก็ตามวีโอไอพีกำลังขว้างข้อยกเว้น 2014-03-05T21:14:14+00:00 ERR (3): exception 'Exception' with message 'Warning: Invalid argument supplied for foreach() in /var/www/html/app/code/core/Mage/Eav/Model/Entity/Abstract.php on line 1180' in /var/www/html/app/code/core/Mage/Core/functions.php:245 Stack trace: #0 /var/www/html/app/code/core/Mage/Eav/Model/Entity/Abstract.php(1180): …

6
วิธีตรวจสอบว่าเป็นสินค้าใหม่
จากการค้นหาอย่างรวดเร็วมีเพียงการอ้างอิงเดียวที่ฉันพบคือในฟอรัม Magentoซึ่งแนะนำว่าคุณต้องเขียนโค้ดที่กำหนดเองเพื่อตรวจสอบว่าผลิตภัณฑ์ใหม่หรือไม่ ฉันคิดว่าจะมีisNew()วิธีการง่ายๆในการMage_Catalog_Model_Productคำนึงถึงรายการแบบหล่นลงที่แนะนำรวมถึงการตั้งค่าผลิตภัณฑ์เป็นใหม่จากวันที่และตั้งผลิตภัณฑ์เป็นใหม่ถึงวันที่ - แต่ดูเหมือนจะไม่เป็นเช่นนั้น? จำเป็นต้องใช้ codez ที่กำหนดเองหรือไม่?
15 product 

2
ทำไมคุณภาพเยี่ยมถึงใช้ทรัพยากรและการเก็บแบบจำลอง mysql4
จุดประสงค์ของการใช้ทั้งสองรุ่นนี้คืออะไร ทรัพยากร Mysql4 เหตุใดเราไม่สามารถใช้โมเดลทรัพยากรสำหรับคอลเลกชันทั้งหมด ทำไมเราใช้ MySql4 สำหรับโมดูลง่าย ๆ บางคนอธิบาย

2
เชื่อมต่อ MongoDB ODM กับ Magento
ฉันกำลังพยายามเชื่อมต่อ Mongo Doctrine ODM กับ Magento ฉันเชื่อมต่อ zend กับ mongodb สำเร็จแล้ว และฉันไม่รู้วิธีเชื่อมต่อทั้งสองอย่าง ฉันได้วาง Mongodb odm ในโฟลเดอร์ "lib" ของ magento และฉันมีปัญหาในการเชื่อมโยง lib กับ magento ฉันพยายามที่จะ "รวม" ชั้นฐานห้องสมุด แต่ห้องสมุดมีเนมสเปซมากมาย ฉันไม่คิดว่าวีโอไอพีรองรับเนมสเปซ ดังนั้นจึงแสดงข้อผิดพลาด . ช่วยได้รับการชื่นชมอย่างมาก ขอบคุณล่วงหน้า.

3
Magento: วิธีที่เร็วที่สุดในการอัปเดตแอตทริบิวต์ผลิตภัณฑ์
ฉันกำลังมองหาวิธีที่รวดเร็วและเชื่อถือได้สำหรับการอัปเดตแอตทริบิวต์จำนวนมาก ด้านล่างนี้เป็นวิธีการที่ฉันทราบ แต่ฉันไม่รู้ว่าควรจะไปทางไหน $store_id = 0; Mage::getSingleton('catalog/product_action')->updateAttributes( array($product_id), array('attribute_code' => $attribute_code), $store_id ); หรือ $product->setData($attribute_code, 1234); $product->getResource()->saveAttribute($product, $attribute_code);

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.