Magento

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

8
คำแนะนำในการเพิ่มประสิทธิภาพความเร็วไซต์จะเริ่มต้นอย่างไร
ฉันถูกขอให้ลองและค้นหาวิธีแก้ปัญหาสำหรับการโหลดช้าของเว็บไซต์ Magento ของเรา ฉันใช้การทดสอบ Yslow และดูเหมือนว่าผู้กระทำผิดที่ใหญ่ที่สุดจะเป็น ทำให้คำขอ HTTP น้อยลง ใช้ CDN เพิ่มส่วนหัวที่หมดอายุ วาง Javascript ที่ด้านล่าง ลดขนาด jS และ CSS กำหนดค่าแท็ก ET ลดการค้นหา DNS หลีกเลี่ยงตัวกรอง AlphaImageLoader ในฐานะผู้จัดการอีคอมเมิร์ซฉันกำลังมองหาคำแนะนำเกี่ยวกับสิ่งที่ฉันสามารถทำได้จากบทบาทของฉันภายในผู้ดูแลระบบ Magento เครื่องมือเว็บมาสเตอร์ ฯลฯ และสิ่งที่ฉันสามารถสั่งให้ผู้พัฒนาทำเว็บไซต์ของเราให้เป็นไปตามข้อกำหนดและรวดเร็วขึ้นอย่างเห็นได้ชัด ฉันเคยดูปลั๊กอินที่เรียกว่า GTMetrix ซึ่งดูเหมือนว่าจะทำสิ่งนี้มากมายสำหรับคุณในผู้ดูแลระบบ (รวมแผ่นงาน CSS, ปรับภาพให้เหมาะสม ฯลฯ ) ใครบ้างมีประสบการณ์กับสิ่งนี้บ้างไหม? ฉันมักจะพยายามหลีกเลี่ยงส่วนขยายที่มากเกินไปซึ่งลึกเข้าไปในฟังก์ชันที่จำเป็น แต่ดูเหมือนว่าอาจเป็นวิธีแก้ปัญหา http://gtmetrix.com/magento-optimization-guide.html คำแนะนำของคุณจะได้รับการชื่นชมอย่างมากเนื่องจากฉันมีช่วงเวลาที่ยากลำบากในการทราบว่าจะเริ่มมีผลกระทบที่ดีที่สุดได้ที่ไหน ขอบคุณล่วงหน้า.

4
อัปเดตผลิตภัณฑ์จำนวนมากเพื่อรวมเว็บไซต์ใหม่
ลูกค้ามีผลิตภัณฑ์มากกว่า 20,000 รายการพร้อมด้วย 7 เว็บไซต์ เคยมี 4 เว็บไซต์และผลิตภัณฑ์ส่วนใหญ่เชื่อมโยงกับ 4 เว็บไซต์ เป็นวิธีที่ดีที่สุดและเร็วที่สุดในการวนซ้ำผลิตภัณฑ์และอัปเดตผลิตภัณฑ์เพื่อรวมเว็บไซต์ใหม่ ๆ ฉันมีรหัสต่อไปนี้ แต่มันช้าเกินไป: $ productCollection = Mage :: getModel ('แคตตาล็อก / ผลิตภัณฑ์') -> getCollection () -> addFieldToFilter ('sku', อาร์เรย์ ('like' => '02% ')); foreach ($ productCollection เป็น $ product) { echo $ product-> getSku (); $ ผลิตภัณฑ์> setWebsiteIds (array …

3
การจัดการสถานที่เก็บสินค้าหลายแห่งหรือคลังสินค้า
ฐานข้อมูล Magento มีตารางที่cataloginventory_stockมีรายการเดียวในนั้นเรียกว่า 'Default' ฉันรู้ว่านี่เป็นสถานที่ที่จะเริ่มต้นจัดการกับที่ตั้งหลายแห่ง ฉันสงสัยว่ามีใครในพวกคุณเคยมีประสบการณ์เกี่ยวกับเรื่องนี้บ้างหรือเปล่า ฉันกำลังมองหา: สามารถติดตามสต็อกสินค้าในสถานที่ทางกายภาพต่างๆ (ร้านค้า / คลังสินค้า / ฯลฯ ) สามารถระบุได้ว่าจะเลือกสต็อกสินค้าจากที่ใดสำหรับการสั่งซื้อของลูกค้าแต่ละราย หากใครสามารถให้ลิงค์ไปยังบทความหรือการสอนเกี่ยวกับเรื่องนี้หรือเพียงแค่แบ่งปันประสบการณ์ของพวกเขาจะลงเส้นทางที่จะดี ไม่ว่าคุณจะพัฒนาด้วยตัวเองหรือใช้โมดูลบุคคลที่สามฉันชอบที่จะได้ยินจากคุณ แก้ไข:ฉันสิ้นสุดการเขียนโมดูลหลายสินค้าคงคลังของตัวเองที่เพิ่มแถวพิเศษลงในcataloginventory_stockตารางที่มีอยู่ มันจำเป็นต้องมีผู้สังเกตการณ์และแบบจำลองที่ตรวจสอบที่ตั้งของหุ้น ในหลาย ๆ ที่ ID หุ้น 1 ถูกเขียนลงในฮาร์ดคอร์ ในโครงการอื่นฉันใช้โมดูลที่ตั้งหลายคลังของ Demacแล้ว แม้ว่ามันจะไม่สมบูรณ์แบบ แต่ก็ใช้งานได้ดีและเขียนได้ดี ฉันสามารถขยายและปรับแต่งตามความต้องการของฉันได้อย่างง่ายดาย

1
ฉันจะรวมความคืบหน้าการชำระเงินในหน้าการตรวจสอบ Paypal ด่วนได้อย่างไร
โอเคฉันแยกมันออกเป็นขั้นตอนแล้วคุณจะเห็นว่าฉันติดอยู่ที่ไหน: ขั้นตอนที่ 1 - เปลี่ยนหมายเลขคอลัมน์ หน้าตรวจสอบด่วนของ PayPal (หน้าของเราที่ PayPal ส่งผู้ซื้อกลับไปเพื่อตรวจสอบและส่งคำสั่งซื้อในที่สุด) เป็นหน้าหนึ่งคอลัมน์ แน่นอนว่าเราสามารถเปลี่ยนจำนวนคอลัมน์ได้โดยการแทนที่เลย์เอาต์ในไฟล์ xml โมดูลที่กำหนดเอง: <paypal_express_review> <!-- maybe other references here --> <reference name="root"> <action method="setTemplate"><template>page/2columns-right.phtml</template></action> </reference> <!-- maybe other references here --> </paypal_express_review> ขั้นตอนที่ 2 - ลบรหัสการ จำกัด เนื้อหาคอลัมน์ขวามือ ตอนนี้คอลัมน์ด้านขวาจะปรากฏ แต่จะว่างเปล่า - นี่เป็นเพราะบรรทัดต่อไปนี้app/design/frontend/base/default/layout/paypal.xml- ซึ่งเราลบออก: <remove name="right"/> ขั้นตอนที่ 3 - เพิ่มเนื้อหาในไฟล์ …

5
จะตรวจสอบได้อย่างไรว่าที่อยู่การเรียกเก็บเงินและที่อยู่จัดส่งเท่ากัน?
ฉันกำลังพยายามตรวจสอบว่าที่อยู่สำหรับการเรียกเก็บเงินและที่อยู่จัดส่งเท่ากับเมื่อสร้าง PDF ใบแจ้งหนี้หรือไม่ สิ่งที่ฉันพยายามมาแล้วคือ: $order = $invoice->getOrder(); if( $order->getBillingAddress()->getData() != $order->getShippingAddress()->getData() ) หรือ $order = $invoice->getOrder(); if( $order->getShippingAddress()->getData('same_as_billing')!='1' ) แต่ก็ไม่ได้ผล ฉันก็พยายามที่จะได้รับการเสนอราคาโดยใช้$order->getQuote()แต่ก็ไม่ได้ผลเช่นกัน มีวิธีใดบ้างในการตรวจสอบว่าที่อยู่สำหรับการเรียกเก็บเงินและการจัดส่งสินค้ามีค่าเท่ากันหรือไม่?

3
กรองผลลัพธ์โดยใช้ LIKE
พิจารณาสตริง "Haystack" ทั้งสามนี้: ก) foo bar ข) welcome to foo bar industries ค) foo barer และตอนนี้ "เข็ม" ของฉัน: foo bar (หึ) ฉันต้องการให้ตัวกรองของฉันจับคู่เข็มของฉันกับสตริงที่กองหญ้าเป็น & a แต่ไม่ใช่ c ฉันเหนื่อย: $collection->addAttributeToFilter('name', array('like' => '%'.$needle.'%')); แต่ข้างต้นตรงกับ c ฉันก็ลอง: $collection->addAttributeToFilter('name', array('like' => '% '.$needle.' %')); // Note the spaces ด้านบนตรงกับ b. ความช่วยเหลือใด ๆ ที่ชื่นชมมาก

4
ใช้ส่วนลดกับค่าจัดส่ง
ฉันต้องการใช้ส่วนลดจากอัตราค่าจัดส่ง ตัวอย่างเช่นถ้าผลรวมย่อยของรถเข็นมากกว่า $ 125 ดังนั้นจะมีส่วนลด $ 17 สำหรับค่าขนส่ง ฉันสร้างกฎตะกร้าสินค้าในผู้ดูแลระบบแล้ว แต่กฎนั้นจะถูกนำไปใช้กับยอดรวมย่อยของรถเข็นไม่ใช่กับค่าจัดส่ง ฉันเลือกตัวเลือก "ใช้กับจำนวนการจัดส่ง" เป็นใช่และ "หยุดการประมวลผลกฎเพิ่มเติม" เป็นไม่ มีใครมีความคิดเกี่ยวกับวิธีที่ฉันสามารถทำได้ ความช่วยเหลือใด ๆ จะได้รับการชื่นชมจริงๆ ขอบคุณล่วงหน้า.

2
การพึ่งพาฟิลด์ system.xml
ดังนั้นคุณสามารถตั้งค่าในsystem.xmlไฟล์ของโมดูลการพึ่งพาระหว่างเขตข้อมูลโดยการเพิ่ม<depends>แท็กในหนึ่งในเขตข้อมูล <field1> .... </field1> <field2> .... <depends> <field1>1</field1> </depends> </field2> รหัสข้างต้นหมายความว่าfield2จะแสดงเมื่อค่าของการมีfield1 1ฉันต้องการทราบว่าฉันสามารถบอกให้วีโอไอพีแสดงfield2ว่าค่าfield1เป็น1หรือ2?

3
Magento: ข้อผิดพลาดร้ายแรง: คลาส 'Mage_Giftcards_Helper_Data' ไม่พบใน… / app / Mage.php ที่บรรทัด 546
ฉันได้ติดตั้งส่วนขยายหนึ่งโมดูลซึ่งมีข้อผิดพลาดร้ายแรง "ข้อผิดพลาดร้ายแรง: คลาส 'Mage_Giftcards_Helper_Data' ไม่พบใน .... / app / Mage.php ที่บรรทัด 546" ในผู้ดูแลระบบ ฉันได้อ้างอิงลิงค์นี้อีกครั้ง/programming//a/9191286/2919940และลิงก์นี้เช่นกันที่/magento//a/7133/3693 แต่ฉันมี <global> <helpers> <giftcards> <class>Webtex_Giftcards_Helper</class> </giftcards> </helpers> </global> ในของฉันconfig.xmlและฉันมีชั้นนี้ class Webtex_Giftcards_Helper_Data extends Mage_Core_Helper_Data{ // my methods } ประกาศที่/app/code/local/Webtex/Giftcards/Helper/Data.phpเส้นทาง ฉันได้ปิดการใช้งานคอมไพเลอร์และล้างแคชโดยการทำvar/cacheไดเรกทอรีว่าง ฉันพบทุกหนทุกแห่งที่config.xmlควรมีคลาสตัวช่วยกำหนดและ Data.php ควรประกาศคลาสตัวช่วยนั้น แต่ฉันมีทั้งสองอย่างในกรณีของฉันข้อผิดพลาดนี้มีเหตุผลอะไรบ้าง ฉันได้ทดสอบโมดูลนั้นในการติดตั้ง Magento ใหม่ของฉันเช่นกัน เวอร์ชั่นวีโอไอพีคือ 1.7.0.2 โปรดให้ความช่วยเหลือสำหรับข้อผิดพลาดนี้หรือไม่? หากมีความขัดแย้งของชื่อชั้นเรียนเราจะแก้ปัญหาได้อย่างไร? ขอบคุณ

2
เมื่อใดที่ฉันควรใช้ตัวเลือกประเภทโต๊ะแบน
ตามคำถามก่อนหน้านี้ฉันต้องการทราบว่า: เมื่อใดที่ฉันควรใช้ตัวเลือกประเภทโต๊ะแบน ในขณะที่ googling ฉันพบคำแนะนำให้เปิดใช้งาน " เมื่อคุณมีหมวดหมู่มาก " แต่อะไรกันนะ ? ฉันสามารถเข้าใจได้ง่ายว่าการเปิดใช้งานโต๊ะแบนสำหรับผลิตภัณฑ์เป็นการตัดสินใจที่ดีในแง่ของประสิทธิภาพ แต่มันสำคัญมากสำหรับแคตตาล็อกหรือไม่ และสิ่งที่เกี่ยวข้องสรุปจากนี้ ฉันเพิ่งเรียนรู้ว่าการเปิดใช้งานตารางหมวดหมู่แบบแฟลตทำให้ไม่สามารถบันทึกตำแหน่งผลิตภัณฑ์หมวดหมู่ได้ อย่างน้อยก็ไม่ง่ายเหมือนไม่มีตัวเลือกแบบแบน (ขอบคุณสำหรับMariusสำหรับความช่วยเหลือของคุณ) มีสิ่งที่กล่าวถึงอื่น ๆ อีกไหม? ขอบคุณล่วงหน้า :)

4
จะหานักพัฒนา Magento ที่น่าเชื่อถือได้อย่างไร?
ฉันเป็นเจ้าของธุรกิจเริ่มต้นที่ขายบน eBay แต่ฉันได้ทำงานอย่างหนักกับ Magento หลังการตั้งค่าร้านค้าด้วยเทมเพลต ฉันเบื่อเทมเพลตหลายครั้งเพราะฉันรู้สึกว่ามันไม่มีฟังก์ชั่นเฉพาะหรือรูปลักษณ์ที่ฉันต้องการ ดังนั้นฉันจึงสร้าง PSD โดยมีธีมของฉันวางไว้และกำลังมองหาใครสักคนที่จะให้บริการ PSD กับ Magento ดูเหมือนว่าทุกที่ที่ฉันมองฉันจะได้รับการเสนอราคาหรือคำตอบที่แตกต่างกันมากและตอนนี้ฉันสับสนมากขึ้นกว่าเดิม บริษัท บางแห่งบอกฉันว่า Magento ไม่ใช่ทางเลือกที่แน่นอนสำหรับฉันเพราะธุรกิจของฉันมีขนาดเล็กเพียงใดและฉันจะไม่สามารถจ่ายค่าบำรุงรักษา Magento ได้ บริษัท อื่น ๆ ต้องการบอกว่าพวกเขาสามารถทำทุกอย่างที่ฉันต้องการและราคาที่พวกเขาอ้างนั้นยอดเยี่ยม แต่จากนั้นฉันก็กลายเป็นที่น่าสงสัยในคุณภาพของงานเนื่องจากราคาถูกและความคิดเห็นออนไลน์ ฉันได้ดูโซลูชันนอก Magento และพวกเขาดูเหมือนจะไม่เสนอฟังก์ชั่นที่ฉันต้องการหรือต้องการ ฉันเดาคำถามของฉันคือวีโอไอพีต้องการค่าใช้จ่ายมากเกินไปสำหรับธุรกิจขนาดเล็กที่ต้องพิจารณาหรือไม่? และถ้าไม่คุณจะแนะนำให้หานักพัฒนาและดูคุณภาพ / คุณค่าของงานของพวกเขาอย่างไร? สิ่งที่คุณจะพูดว่าเป็นช่วงที่ดีสำหรับค่าใช้จ่ายของชุดรูปแบบ PSD เป็น Magento ก่อนที่จะมีการใช้งานฟังก์ชันแบบกำหนดเองใด ๆ $ 2,000 5,000? $ 5,000 ถึง $ 10,000 มากกว่า? ขอบคุณที่สละเวลา!

5
การกำหนดค่าการออกแบบสตริง "ข้อยกเว้น" สำหรับอุปกรณ์ "มือถือ"
สตริงข้อยกเว้นคือ "สถานะของศิลปะ" สำหรับการเปลี่ยนเส้นทางผู้ใช้ iPhone, iPad, Android, แท็บเล็ตและอื่น ๆ ไปยังการออกแบบที่แตกต่างกันอย่างไร นั่นคือฉันตระหนักใน System -> Configuration -> Design ส่วนต่อประสานผู้ใช้มีคุณสมบัติที่ทำให้ฉันสามารถสร้างนิพจน์ทั่วไปที่ตรงกับสตริงตัวแทนผู้ใช้ สิ่งที่ฉันกำลังมองหาคือสิ่งที่ผู้คนใช้สายอักขระเฉพาะเพื่อเปลี่ยนเส้นทางคอมพิวเตอร์ที่ไม่ใช่เดสก์ท็อปไปยังธีมมือถือและ / หรือการตอบสนองที่แตกต่างกันอย่างไร หรือมีวิธีการที่ดีกว่าวิธี "ยกเว้น" ที่จะใช้เวลาเหล่านี้หรือไม่

3
เพิ่มพารามิเตอร์การสืบค้นให้กับสตริง URL ที่มีอยู่
ใน Magento ถ้าฉันมีสตริง URL มีฟังก์ชันใด ๆ ในตัวที่ฉันสามารถใช้เพื่อเพิ่มพารามิเตอร์การสืบค้นได้หรือไม่ ในกรณีที่แน่นอนฉันกำลังดูว่าฉันกำลังสร้าง URL หมวดหมู่แล้วฉันต้องการเพิ่มชุดพารามิเตอร์การสืบค้นไว้ด้านบน ฉันกำลังทำสิ่งต่อไปนี้: $categoryUrl = Mage::getModel('catalog/category')->load(1)->getUrl(); ฉันต้องการเพิ่มพารามิเตอร์การค้นหาต่อไปนี้: array('param1' => 'myparam1','param2' => 'myparam2'); ฉันต้องการที่จะจบลงด้วย: http://mysite.com/mycategory.html?param1=myparam1&param2=myparam2
16 url 

2
วิธีการตั้งค่าแอตทริบิวต์แบบหลายตัวเลือกของฉลากโดยทางโปรแกรม
หากมีคุณสมบัติแบบหลายตัวเลือกและต้องการตั้งค่าการเลือกบนผลิตภัณฑ์ $selectedOptions = "red,green,blue"; $product->..... // # what to do? ฉันจะทำสิ่งนั้นได้อย่างไร

4
เพิ่มคอลัมน์ในกริด (ผู้สังเกตการณ์) - คอลัมน์ 'store_id' ในกรณีที่คำสั่งย่อยเป็นปัญหาที่ไม่ชัดเจน
ฉันกำลังเพิ่มคอลัมน์ในตารางคำสั่งซื้อโดยใช้วิธีผู้สังเกตการณ์: ในกิจกรรม -> sales_order_grid_collection_load_beforeฉันกำลังเพิ่มการเข้าร่วมในคอลเล็กชัน ในกิจกรรม -> core_block_abstract_prepare_layout_beforeฉันกำลังเพิ่มคอลัมน์ลงในตาราง แก้ไขข้อมูลเพิ่มเติม: ในกิจกรรม (1): public function salesOrderGridCollectionLoadBefore($observer) { $collection = $observer->getOrderGridCollection(); $collection->addFilterToMap('store_id', 'main_table.store_id'); $select = $collection->getSelect(); $select->joinLeft(array('oe' => $collection->getTable('sales/order')), 'oe.entity_id=main_table.entity_id', array('oe.customer_group_id')); } ในเหตุการณ์ (2): public function appendCustomColumn(Varien_Event_Observer $observer) { $block = $observer->getBlock(); if (!isset($block)) { return $this; } if ($block->getType() == 'adminhtml/sales_order_grid') { /* …

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