Magento

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

6
ลบหลายผลิตภัณฑ์ใน Magento
มีวิธีใดที่จะลบผลิตภัณฑ์หลายรายการด้วยการกรองด้วย SKU หรือไม่ ฉันมีผลิตภัณฑ์ประมาณ 1,000 รายการที่ฉันต้องการลบ
12 products  sku  dataflow 

2
ความแตกต่างระหว่างรถเข็น getItemsCount () และ getSummaryCount ()
ฉันกำลังแสดงรายการทั้งหมดที่มีอยู่ในรถเข็นที่ส่วนหัว ฉันสามารถแสดงจำนวนรายการได้ แต่ฉันสับสนเล็กน้อยระหว่างรถเข็นสองวิธี 1. Mage::helper('checkout/cart')->getItemsCount() 2. Mage::helper('checkout/cart')->getSummaryCount(); สำหรับฉันคนที่หนึ่งส่งคืนสินค้า 1 รายการในตะกร้าและรายการที่ 2 ส่งคืนสินค้า 6 รายการในตะกร้าซึ่งเป็นสินค้าที่ถูกต้องและความแตกต่างระหว่างสองฟังก์ชันนี้คืออะไร ขอบคุณ

6
วิธีที่มีประสิทธิภาพในการรับ URL และรูปภาพผลิตภัณฑ์
ในขณะที่สร้างส่วนเพิ่มเติมจากร้านค้าบนเว็บไซต์วีโอไอพีฉันพบปัญหาสองสามอย่าง ในการพยายามสร้างรหัสที่เร็วที่สุดฉันพบว่าตัวเองไม่สามารถคิดสองสิ่งได้ รหัสของฉัน (ที่เกี่ยวข้อง) มีดังต่อไปนี้: $rc = Mage::getResourceSingleton('catalog/product'); $productName = $rc->getAttributeRawValue($productId, 'name', Mage::app()->getStore()); $productPrice = $rc->getAttributeRawValue($productId, 'price', Mage::app()->getStore()); $productImage = $rc->getAttributeRawValue($productId, 'image', Mage::app()->getStore()); $productUrl = $rc->getAttributeRawValue($productId, 'url_key', Mage::app()->getStore()); สองสิ่งที่ฉันนึกไม่ออกคือ: 1) ฉันจะดึง URL ผลิตภัณฑ์ได้อย่างไร url_keyไม่ได้ให้ URL ที่ถูกต้องเสมอไปเพราะ webshops บางแห่งใช้ URL ของ canonical หรือมีหมวดหมู่ใน URL 2) ฉันจะได้รับภาพผลิตภัณฑ์ที่มีความกว้าง / ความสูงที่กำหนดไว้แทนที่จะเป็นภาพเต็มได้อย่างไร? ->resize()ฟังก์ชั่นไม่สามารถทำงานได้ในกรณีนี้ผมลาดตระเวน (ตั้งแต่มันกลับ URL …

5
PayPal Express - ส่วนหัวความปลอดภัย 1,0002 ไม่ใช่ข้อผิดพลาดที่ถูกต้อง
ฉันได้รับข้อผิดพลาดขณะที่การทดสอบ PayPal เอ็กซ์เพรส, 10002 security header is not validข้อผิดพลาดคือ: เว็บไซต์ทำงานบน AWS EC2 โดยมี nginx และ Varnish อยู่ด้านหน้า ฉันใช้น้ำมันสนสำหรับการตั้งค่าและการเจาะรู สถาปัตยกรรมนี้มีบางอย่างเกี่ยวข้องกับมันหรือไม่? ฉันไม่ได้ทำการทดสอบในโหมด Sandbox แต่ข้อมูลรับรอง API สดนั้นถูกต้องทั้งหมดฉันรีเซ็ตหลายครั้ง ฉันดูบันทึกการใช้งานแล้ว แต่ไม่พบสิ่งใดมีความสำคัญ 2014-01-31T05:47:11+00:00 ERR (3): exception 'Mage_Core_Exception' with message 'PayPal NVP gateway errors: Security header is not valid (#10002: Security error). Correlation ID: 60e76cc8d89c5. Version: 72.0.' …

3
Magento โมดูลบล็อกที่กำหนดเองใหม่
ฉันใช้ Magento รุ่น1.8.1.0 ฉันกำลังพยายามสร้างโมดูลบล็อกที่กำหนดเองใหม่ซึ่งฉันจะใช้สำหรับสร้างโฮมเพจใหม่ Namespace: Crusader โมดูล: CLHomePage ประเภท Block: บ้านครูเสด Class: Qwerty (ตอนนี้กำลังทดสอบอยู่) แพ็คเกจการออกแบบ: สงคราม ธีม: ค่าเริ่มต้น นี่คือสิ่งที่ฉันมี: \ แอป \ etc \ โมดูล \ Crusader_All.xml <?xml version="1.0"?> <config> <modules> <Crusader_CLHomePage> <active>true</active> <codePool>local</codePool> </Crusader_CLHomePage> </modules> </config> \ แอป \ รหัส \ ท้องถิ่น \ สงคราม \ CLHomePage \ etc \ …

2
ลบมุมมองร้านค้าโดยทางโปรแกรมในสคริปต์อัปเกรด
ฉันต้องการที่จะลบมุมมองการจัดเก็บโปรแกรม ดูMage_Adminhtml_System_StoreController::deleteStorePostAction()นี่เป็นเรื่องง่าย ๆ (ย่อรหัสเล็กน้อย): $model = Mage::getModel('core/store')->load($id); if ($model->getId() && $model->isCanDelete()) { $model->delete(); Mage::dispatchEvent('store_delete', array('store' => $model)); } ฉันต้องการใส่รหัสนี้ลงในสคริปต์อัปเกรดข้อมูลเพื่อให้การลบดำเนินการโดยอัตโนมัติ ปัญหาคือขณะที่เรียกใช้สคริปต์อัปเกรดในdata/Magento จะเรียกเฉพาะผู้สังเกตเหตุการณ์ที่กำหนดค่าในglobalพื้นที่ (ดูการปรับปรุงโครงสร้างวีโอไอพีกับการอัพเดทข้อมูล ) ผู้สังเกตการณ์บางคนชอบenterprise_cmsและenterprise_searchสำหรับเหตุการณ์store_delete_afterที่กำหนดไว้ในadminhtmlพื้นที่เพื่อให้พวกเขาจะไม่ถูกประหารชีวิต การลบมุมมองร้านค้าจะไม่ได้รับการจัดการเหมือนกับการลบที่ดำเนินการในแบ็กเอนด์ คุณจัดการการดำเนินการเช่นนี้ได้อย่างไร โหลดพื้นที่กิจกรรมเพิ่มเติมด้วยตัวคุณเองในสคริปต์อัพเกรด (ฉันกลัวเรื่องนั้น) อย่าทำการดัดแปลงข้อมูลแบบนั้นในสคริปต์การอัปเกรด แต่ทำให้นักเวทย์ของคุณอยู่ในสถานที่ศักดิ์สิทธิ์ที่ซ่อนเร้นและดำเนินการด้วยตนเอง?

6
รายการ (Mage_Sales_Model_Order) ที่มี id เดียวกัน“ X” มีอยู่แล้ว
หลังจากสร้างการจัดส่งในพื้นที่ผู้ดูแลระบบของ Magento ข้อผิดพลาดต่อไปนี้จะปรากฏขึ้นในvar/reportโฟลเดอร์ (หลังจากหน้าข้อผิดพลาดของ Magento เริ่มต้น) เมื่อดูหน้าตารางคำสั่งของผู้ดูแลระบบ: Item (Mage_Sales_Model_Order) with the same id "1234" already exist ฉันสามารถกำจัดข้อผิดพลาดนี้ได้โดยเพิ่มส่วนคำสั่ง DISTINCT ให้กับตัวเลือกอ็อบเจกต์ Varien ในapp/code/core/Mage/Eav/Model/Entity/Collection/Abstact.phpบรรทัด 662 อย่างไรก็ตามฉันไม่ต้องการทำเช่นนั้นด้วยเหตุผลหลายประการ เป็นวิธีที่ดีที่สุดในการแก้ปัญหานี้ในขณะที่รักษาความสมบูรณ์ของข้อมูล ฉันควรจะลบคำสั่งซื้อหรือไม่ ฉันขอขอบคุณอินพุตที่สร้างสรรค์โดยเฉพาะอย่างยิ่งเกี่ยวกับสิ่งที่จะทำให้เกิดความขัดแย้งนี้ในตอนแรก ขอบคุณ - แก้ไข - นี่คือการติดตามสแต็คเต็มรูปแบบเพื่อความชัดเจน / เพื่อชี้ให้เห็นความโง่เขลาของฉัน: a:5:{i:0;s:67:"Item (Mage_Sales_Model_Order) with the same id "1234" already exist";i:1;s:4829:"#0 lib/Varien/Data/Collection/Db.php(576): Varien_Data_Collection->addItem(Object(Mage_Sales_Model_Order)) #1 app/code/core/Mage/Adminhtml/Block/Widget/Grid.php(533): Varien_Data_Collection_Db->load() #2 app/code/core/Mage/Adminhtml/Block/Sales/Order/Grid.php(61): Mage_Adminhtml_Block_Widget_Grid->_prepareCollection() …

3
ลูกค้าไม่สามารถเข้าสู่ระบบ
ฉันเพิ่งย้ายเว็บไซต์ของฉัน แต่ฉันมีปัญหา ลูกค้าของฉันไม่สามารถเข้าสู่บัญชีของพวกเขา เมื่อคลิกเข้าสู่ระบบในหน้าเข้าสู่ระบบ http://www.mywebsite.com/customer/account/login/ควรลงชื่อเข้าใช้บัญชีของตน แต่จะเปลี่ยนเส้นทางหน้าเดียวกัน ฉันใหม่มากสำหรับวีโอไอพี โปรดช่วยฉันวิธีการแก้ไขที่?

1
การอัพเกรดฐานข้อมูลวีโอไอพีเกิดขึ้นใน“ ธุรกรรม” หรือไม่?
เรามีปัญหานี้ atm: ลูกค้าได้รับร้านค้าของเขาอัพเกรดจาก CE 1.4 เป็น CE 1.8 การอัปเกรดไฟล์เป็นไปด้วยดีและการอัปเกรดฐานข้อมูลยังทำได้ดีบนเครื่องพัฒนาของเรา เมื่อเราพยายามอัพเกรด live-db ของไคลเอ็นต์บนเครื่องสดของเขา (เชื่อมต่อ 1.8-Magento ไปยังฐานข้อมูลและเปิดในเบราว์เซอร์) กระบวนการดูเหมือนว่าจะทำงานชั่วขณะหนึ่งและสิ้นสุดลงในข้อผิดพลาด 500 บันทึกข้อผิดพลาด PHP ว่างเปล่า; เนื่องจากเป็นโฮสต์ที่ใช้ร่วมกันเราจึงไม่สามารถเปลี่ยนการตั้งค่า apache หรือ mysql ได้ hoster ถึงแม้ว่า "special im magento hosting" ไม่ต้องการเปลี่ยนการตั้งค่าและบอกฉันว่าฉันสามารถอัพเกรดฐานข้อมูลให้เสร็จได้โดยการรีเฟรชหน้าต่างเบราว์เซอร์ซ้ำ ๆ เมื่อเกิดข้อผิดพลาด 500 เนื่องจาก magento จะได้รับการอัพเกรดในขั้นตอนเล็ก ๆ . อาจใช้เวลาหลายชั่วโมง คำถามของฉันตอนนี้คือ: - จริงหรือไม่ ฉันคิดว่า sql-statement สำหรับการอัพเกรดฐานข้อมูลจะถูกรวมอยู่ในธุรกรรมดังนั้นพวกเขาจึงสามารถย้อนกลับได้ถ้ามีอะไรผิดพลาด - คำตอบสามารถให้คำแนะนำที่ฉันสามารถดูรหัสเพื่อค้นหาคำตอบสำหรับคำถามนี้ได้หรือไม่ ขอบคุณที่สละเวลา!

2
วิธีการตั้งค่าการส่งอีเมล SMTP ภายนอกบน Magento ท้องถิ่น
ฉันพยายามทดสอบการส่งอีเมลบางส่วนจากโฮสต์ในพื้นที่ของฉัน ฉันต้องการใช้เซิร์ฟเวอร์ SMTP ภายนอกสำหรับเรื่องนี้ ฉันใช้ Windows 7 / XAMPP ฉันลองกำหนดค่า sendmail.ini โดยไม่มีโชค ฉันจะบอก Magento ให้ใช้การตั้งค่าเฉพาะสำหรับการส่งอีเมลได้ที่ไหน
12 magento-1  email  smtp 

4
สร้างหน้าหมวดหมู่ซึ่งแสดงผลิตภัณฑ์ราคาพิเศษทั้งหมด
โดยทั่วไปฉันได้สร้างหมวดหมู่ 'ผลิตภัณฑ์ที่เกี่ยวกับการขาย' ซึ่งผมอยากจะโดยอัตโนมัติประกอบด้วยผลิตภัณฑ์ทั้งหมดในแคตตาล็อกของฉันที่มีราคาพิเศษนำไปใช้กับพวกเขา (ผ่านแคตตาล็อก> จัดการ Products) ฉันต้องการให้หน้าเว็บยังคงความสามารถในการนำทางแบบเรียงซ้อนและความสามารถในการเรียงลำดับที่หน้าหมวดหมู่วีโอไอพีมาตรฐานมี ดูเหมือนว่านี่คือสิ่งที่จะเป็นประโยชน์ต่อผู้ใช้ Magento ส่วนใหญ่และฉันประหลาดใจที่ไม่ได้รวมอยู่ในฟังก์ชั่นหลัก ฉันได้ลองใช้คำตอบ Stack Exchange โหลบล็อกโพสต์และฟอรัมแล้วและยังไม่ได้ผล ใครบ้างมีวิธีแก้ปัญหาเชิงโปรแกรมสำหรับสิ่งนี้? === แก้ไข === จากการวิพากษ์วิจารณ์ของ @ pspahn ในความคิดเห็นด้านล่างฉันได้ตัดสินใจที่จะใช้วิธีอื่นเพื่อให้ได้ฟังก์ชันการทำงานที่คล้ายกัน หากคุณสนใจที่จะติดตามบรรทัดนี้ @ sander-mangel จะอธิบายวิธีการที่ดูเหมือนเป็นไปได้ทั้งหมด

1
จะระบุลำดับการจัดเรียงแบบกำหนดเองสำหรับการรวบรวมผลิตภัณฑ์ได้อย่างไร
ฉันกำลังพยายามสร้างชุดผลิตภัณฑ์ตามอาร์เรย์รหัสผลิตภัณฑ์และเรียงลำดับชุดสะสมตามอาร์เรย์รหัส $productIds = array(318,310,311); $collection = Mage::getModel('catalog/product') ->getCollection() ->setOrder('entity_id', 'asc') // This will not do the job ->addAttributeToSelect('*') ->addAttributeToFilter('status', 1) ->addAttributeToFilter('entity_id', array( 'in' => $productIds, )); ฉันต้องการที่จะรวบรวมจัดเรียงตามที่ปรากฏใน$productIdsอาร์เรย์ที่มีแต่เหนือรหัสจะกลับมาจัดเรียงคอลเลกชันเช่น318, 310, 311310,311, 312 เป็นไปได้โดยไม่ใช้แบบสอบถาม MySQL ธรรมดาตามที่ระบุด้านล่าง? SELECT * FROM catalog_product_entity WHERE entity_id IN (318, 310, 311) ORDER BY FIELD(entity_id, 318, 310, 311);

3
เขียนวีโอไอพีควบคุมซ้ำ
ฉันต้องการเขียนทับการกระทำที่เรียกว่า _initAction จาก Controller: /app/code/core/Mage/Adminhtml/controllers/Catalog/Product/AttributeController.php เป็นโมดูลและคอนโทรลเลอร์ของฉันเอง: /app/code/local/Qbikz/ToolTip/controllers/Adminhtml/Catalog/Product/AttributeController.php ฉันลองวิธีต่างๆในการแก้ไขแล้ว: วิธีแรกที่<from>และ<to>ฉันลองชุดค่าผสมที่แตกต่างกัน (ไม่พบหน้า 404): <rewrite> <qbikz_tooltip_adminhtml_catalog_product_attribute> <from><![CDATA[#^/adminpanel/catalog_product_attribute/edit/#]]></from> <to>/tooltip/adminhtml_catalog_product_attribute/init/</to> </qbikz_tooltip_adminhtml_catalog_product_attribute> </rewrite> + <frontend> <routers> <qbikz_tooltip> <use>admin</use> <args> <module>Qbikz_ToolTip</module> <frontName>catalog_product_attribute</frontName> </args> </qbikz_tooltip> </routers> </frontend> วิธีที่สอง (หน้าที่แสดงโดยไม่สนใจกฎของฉัน): <admin> <routers> <adminhtml> <args> <modules> <Qbikz before="Mage_Adminhtml_Catalog_Product">Qbikz_ToolTip_Adminhtml_Catalog_Product</Qbikz> </modules> </args> </adminhtml> </routers> </admin> ในตัวควบคุมของฉันฉันใส่ตาย ("ตกลง"); แต่มันไม่ปรากฏขึ้น บางทีบางคนอาจช่วยได้? ขอบคุณ

5
การชำระเงิน Oneepage แตกเป็น 1.8?
การเช็คเอาต์ของเราดูเหมือนจะพังและผู้คนจำนวนมากดูเหมือนจะมีปัญหากับคุณภาพเยี่ยม 1.8 มันไม่ได้ทำอะไรหลังจากที่คุณกดปุ่มดำเนินการต่อในขั้นตอนที่ 4 เราเรียกใช้ PHP 5.4.19 และทดลองใช้ใน Chromium v28, firefox v22, safari v5.1 ไม่มีข้อผิดพลาดในบันทึกและเป็นเหมือนกันในชุดรูปแบบเริ่มต้น

2
วิธีบันทึกค่าสำหรับแอตทริบิวต์ของผลิตภัณฑ์ [กำหนดเอง] เฉพาะจากรุ่นผลิตภัณฑ์
วิธีการประหยัดค่าสำหรับคุณสมบัติเฉพาะ [กำหนดเอง] ของผลิตภัณฑ์จากรุ่นผลิตภัณฑ์? ฉันพบสคริปต์ด้านล่างจากที่นี่ : $product = Mage::getModel('catalog/product')->load(1); $product->setName('Some Random Name'); $product->getResource()->saveAttribute($product, 'name');

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