คำถามติดแท็ก module

คำถามเกี่ยวกับการพัฒนาโมดูลที่กำหนดเอง

2
ฉันจะให้สิทธิ์ใช้งานโมดูลของฉันได้อย่างไร
ฉันมีโมดูลที่ฉันเขียนให้กับ บริษัท ของฉัน ใช้ข้อมูลจากโซลูชัน back office ของเราและนำเข้าสู่ Magento นอกจากนี้ยังรับออเดอร์จาก Magento และนำเข้ามาในซอฟแวร์ Back Office ฉันได้อ่านใบอนุญาตประเภทต่างๆที่ฉันสามารถใช้ได้แล้วแต่ไม่ทราบว่าควรใช้ใบอนุญาตประเภทใด ข้อกำหนดพื้นฐานของฉันคือ: ฉันไม่ต้องการให้ใครบางคนทำสำเนา / แจกจ่ายรหัสเป็นงานของตัวเอง รหัสเขียนด้วยตัวเอง แต่เรียกฟังก์ชั่นหลักคุณภาพเยี่ยม โมดูลจะสามารถดาวน์โหลดได้ฟรี แต่ในการใช้งานคุณจะต้องมี Url บริการเว็บที่ บริษัท ของฉันจะให้บริการ (หลังจากได้รับการชำระเงินแล้ว) ฉันต้องการแจกจ่ายไปยัง Magento ทุกรุ่น (ยกเว้น GO (ฉันคิดว่า)) คำถามสองข้อที่มีอยู่ในใจข้างต้น: ใบอนุญาตใดที่เหมาะสมกับความต้องการของฉันมากที่สุด (ฉันไม่พบรายการที่ชัดเจนของพวกเขาทั้งหมดเพื่ออ่าน) ฉันจะบังคับใช้ใบอนุญาตนี้ได้อย่างไร การเพิ่มคำศัพท์บางส่วนลงบนสุดของแต่ละสคริปต์เพียงพอหรือไม่เพื่อให้แน่ใจว่ามีสิทธิ์การใช้งานอยู่หรือไม่ หากข้อมูลนี้มีอยู่ที่ใดที่หนึ่งโปรดอย่าลังเลที่จะเชื่อมโยงฉันเข้ากับข้อมูลนั้น แต่ฉันไม่พบสิ่งใดหลังจากการค้นหาของฉันที่ตอบสถานการณ์ของฉันโดยเฉพาะ

7
วิธีการแทนที่ไฟล์. phtml ใน Magento 2
ฉันต้องการปรับแต่งหน้ารายละเอียดผลิตภัณฑ์ดังนั้นจึงจำเป็นต้องแทนที่ไฟล์. phtml บางไฟล์ในตำแหน่งต่อไปนี้ ดังนั้นฉันต้องการทราบวิธีการแทนที่ไฟล์. phtmlในvendor\magento\module-catalog\view\frontend\templates\productหรือvendor\magento\module-theme\view

3
Magento 1: การปรับปรุงกระบวนการพัฒนาโมดูลของฉัน (Modman, ผู้แต่ง, git)
นี่คือสิ่งที่ฉันคิดอยู่ในใจมาระยะหนึ่งแล้ว แต่ฉันไม่สามารถหาวิธีที่ถูกต้องได้ โดยพื้นฐานแล้วฉันทำงานกับ 6 เว็บไซต์ที่แตกต่างกันทั้งหมดใช้ Magento CE 1.9.2+ ในเว็บไซต์เหล่านั้นฉันใช้ส่วนขยายจำนวนมากที่ฉันและทีมที่ฉันทำงานด้วยกำลังพัฒนา (ที่นี่เรากำลังพูดถึงส่วนขยาย 50+) และรหัสสำหรับส่วนขยายเหล่านั้นจะถูกเก็บไว้ใน Bitbucket ดังนั้นฉันไม่ใช่คนเดียวที่จัดการส่วนขยายเหล่านั้นเราเป็น 3 คนที่ทำงานกับพวกเขา ในขณะนี้เมื่อฉันต้องการเพิ่มคุณสมบัติ / แก้ไขข้อบกพร่องสำหรับหนึ่งในส่วนขยายเหล่านี้นี่คือขั้นตอนการทำงานของฉัน: ติดตั้งส่วนขยายรุ่นล่าสุดบนหนึ่งในเว็บไซต์ผ่าน Modman แก้ไขข้อบกพร่อง / เพิ่มคุณสมบัติ / ทดสอบ คัดลอกการเปลี่ยนแปลงไปยังโฟลเดอร์ท้องถิ่นด้วยตนเองที่มีส่วนขยายทั้งหมดของฉัน ตกลงและผลักดันผ่าน GIT จากโฟลเดอร์ส่วนขยายนี้ไปยัง Bitbucket (1 Bitbucket repo ต่อโมดูล) จากนั้นโมดูลรุ่นใหม่สามารถติดตั้งผ่าน Modman หมายเหตุสำคัญ: ฉันใช้ modman กับ hardcopy ที่นี่ไม่มี symlink ปัญหาที่ใหญ่ที่สุดของฉันได้รับการเน้นด้วยตัวหนา: ฉันต้องการข้ามขั้นตอนนี้เพราะเป็นสาเหตุใหญ่ของปัญหา (บางไฟล์ถูกลืมบางครั้งคัดลอก / วางผิดเกี่ยวข้องกับการกระทำของมนุษย์) ดังนั้นฉันจะปรับปรุงกระบวนการทำงานของฉันเพื่อกำจัดขั้นตอนคัดลอก …

4
เมื่อใดที่จะส่งเหตุการณ์ในโมดูลที่กำหนดเอง
นี่เป็นคำถามเกี่ยวกับทั้ง Magento 1 และ Magento 2 ฉันเข้าใจว่าในทางปฏิบัติผู้พัฒนาโมดูลบุคคลที่สามได้รับการสนับสนุนให้จัดส่งกิจกรรมในโมดูลที่กำหนดเองเพื่อให้ทำงานกับโมดูลอื่นได้ง่ายขึ้น ผมอยากจะรู้ว่า: นักพัฒนาควรจัดส่งกิจกรรมในโมดูลที่กำหนดเอง มีจุดแนะนำให้จัดส่งกิจกรรมใดบ้าง เช่นตัวควบคุมโมเดลบล็อกผู้ช่วยเหลือผู้สังเกตการณ์? เหตุการณ์ที่ส่งผลกระทบต่อประสิทธิภาพการทำงานอย่างไร

2
วิธีรับข้อมูลจาก config.xml ของโมดูล
ในโมดูลฉันจำเป็นต้องได้รับข้อมูลบางส่วนจากไฟล์config.xmlของโมดูลBและC มีวิธีการหรือคลาสพิเศษสำหรับเรื่องนี้หรือไม่? โดยเฉพาะฉันต้องได้รับโครงสร้าง XML และค่าของโหนด<default>เพื่อให้ฉันสามารถคืนค่าเริ่มต้นของการกำหนดค่าระบบของโมดูล B และ C ด้านล่างเป็นตัวอย่างจาก config.xml ของโมดูล Wishlist: <config> <default> <wishlist> <general> <active>1</active> </general> <email> <email_identity>general</email_identity> <email_template>wishlist_email_email_template</email_template> </email> </wishlist> </default> </config> เท่าที่ฉันรู้ Magento โหลดไฟล์ config.xml ของโมดูลทั้งหมดดังนั้นฉันสงสัยว่าข้อมูลนี้อาจถูกแคชแล้วและสามารถดึงจากแคชได้หรือไม่ ถ้าไม่วิธีการเรียกโปรแกรมมัน?

2
การเพิ่มเลย์เอาต์ที่กำหนดเองสำหรับการใช้ CMS และหมวดหมู่ด้วยปัญหาโมดูลที่กำหนดเอง
ฉันมีหมวดหมู่ในร้านค้าของฉันที่ต้องใช้เลย์เอาต์ที่แตกต่างกันโดยสิ้นเชิงกับเลย์เอาต์ Magento มาตรฐาน ดังนั้นฉันจึงสร้างสำเนา 1column.phtml ใหม่และเปลี่ยนชื่อใหม่และทำการทดสอบเพียงเล็กน้อย ตอนนี้ปัญหาคือว่าเค้าโครงที่กำหนดเองไม่ปรากฏขึ้น ฉันสร้างโมดูล (ซึ่งทำงานตามที่เห็นใน Admin> Config> ภาพรวมขั้นสูง) ไฟล์และเนื้อหาของฉันมีดังนี้: app / etc / โมดูล / Test_Page.xml <?xml version="1.0"?> <config> <modules> <Test_Page> <active>true</active> <codePool>community</codePool> <version>0.1.0</version> <depends> <Mage_Page /> </depends> </Test_Page> </modules> </config> app / รหัส / ท้องถิ่น / ทดสอบ / หน้า / etc / config.xml <?xml version="1.0"?> …

3
วิธีการแทนที่คลาส Virtual Type ใน Magento 2
วิธีการแทนที่ VirtualType block ใน Magento 2 ฉันต้องการแทนที่การบล็อกเสมือนจริงด้วยบล็อกของฉันเอง <virtualType name="Magento\CatalogSearch\Block\SearchResult\ListProduct" type="Magento\Catalog\Block\Product\ListProduct"> <arguments> <argument name="catalogLayer" xsi:type="object">Magento\Catalog\Model\Layer\Search</argument> </arguments> </virtualType> ดังนั้นฉันจึงพยายามแทนที่มันจากโมดูลที่กำหนดเองของฉันdi.xmlเช่นนี้ <preference for="Magento\Catalog\Block\Product\ListProduct" type="My\Vendor\Block\Product\ListProductSearch" /> แต่มันไม่ทำงาน ดังนั้นวิธีที่เหมาะสมในการเอาชนะคลาสชนิดเสมือนใน Magento 2 คืออะไร

4
จะแสดงแอททริบิวที่กำหนดเองในช่องที่อยู่ผู้ดูแลระบบได้อย่างไร
ฉันได้เพิ่มฟิลด์ที่กำหนดเองแบบหล่นลงในหน้าเช็คเอาต์ด้วยค่าที่กำหนดเอง มันทำงานได้ดีนอกจากนี้ยังบันทึกค่าแอตทริบิวต์ในฐานข้อมูล แต่ไม่แสดงในที่อยู่จัดส่งคำสั่งซื้อ ความคิดวิธีการแสดงมัน? InstallSchema.php $connection->addColumn( $installer->getTable('quote_address'), 'mob_type', [ 'type' => \Magento\Framework\DB\Ddl\Table ::TYPE_TEXT, 'nullable' => true, 'default' => NULL, 'length' => 255, 'comment' => 'Mob Type' ] ); $connection->addColumn( $installer->getTable('sales_order_address'), 'mob_type', [ 'type' => \Magento\Framework\DB\Ddl\Table ::TYPE_TEXT, 'nullable' => true, 'default' => NULL, 'length' => 255, 'comment' => 'Mob Type' ] …

1
Magento 2 ถอนการติดตั้งโมดูล
เห็นได้ชัดว่าตอนนี้ Magento 2 รองรับสคริปต์ถอนการติดตั้งที่อนุญาตให้แก้ไข db schema เมื่อทำการถอนการติดตั้งโมดูล (horay !!) ตามที่อธิบายไว้ในที่นี้สามารถใช้งานได้กับโมดูลที่ติดตั้งผ่านผู้แต่งเท่านั้น (ฉันหวังว่ามันจะทำงานในอนาคตสำหรับโมดูลทั้งหมด แต่นั่นเป็นปัญหาที่แตกต่างกัน) สมมติว่าผมมีโมดูลที่เรียกว่า โมดูลนี้ทำ 3 สิ่งที่ฉันต้องการจะลบเมื่อถอนการติดตั้ง Testing_Demo testing_demoเพิ่มตารางที่เรียกว่า ดังนั้นฉันต้องวางมันลง demoเพิ่มแอตทริบิวต์ผลิตภัณฑ์ที่เรียกว่า ดังนั้นสิ่งนี้ต้องถูกลบออก มีการตั้งค่าบางอย่างในอาจจะหรืออาจจะไม่ถูกเก็บไว้ในตารางsystem->configuration การตั้งค่าทั้งหมดเหล่านี้มีเส้นทางcore_config_data testing_demo/...ดังนั้นสิ่งเหล่านี้จำเป็นต้องถูกลบออกด้วย สคริปต์การถอนการติดตั้งโมดูลของฉันควรมีลักษณะอย่างไร

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 \ …

3
ฉันจะแทนที่ / เขียนคลาสบล็อกใน Magento 1 ได้อย่างไร
หมายเหตุ:คำถามนี้มีวัตถุประสงค์เพื่อเป็นคำถามมาตรฐานที่อธิบายการทำงานของการเขียนบล็อกใหม่อย่างสมบูรณ์และสามารถใช้เป็นเป้าหมายที่ซ้ำกันสำหรับคำถาม "ฉันจะเขียนทับบล็อก X" ได้อย่างไรหรือคำถาม "ทำไมการเขียนซ้ำของฉันไม่ทำงาน" ดูเพิ่มเติม: ค้นหาคำถามที่เป็นที่ยอมรับเกี่ยวกับการแทนที่ Magento 1 สมมติว่าฉันต้องทำการเปลี่ยนแปลงคลาสบล็อกหลักในโมดูลที่กำหนดเอง (เปลี่ยนวิธีหรือเพิ่มวิธี) ฉันจะทำสิ่งนี้ทีละขั้นตอนได้อย่างไร

3
ข้อผิดพลาด Magento2 REST API 'ไม่มีคลาส'
ฉันได้สร้าง Magento 2.0.2 REST web service ตามบล็อกของ Alan: http://alankent.me/2015/07/24/creating-a-new-rest-web-service-in-magento-2/ ฉันใช้บุรุษไปรษณีย์เพื่อโทรหาบริการเว็บที่กำหนดเองและได้รับข้อผิดพลาดต่อไปนี้: "message": "Class does not exist", "code": -1, "trace": "#0 P:\\wwwroot\\Magento202_com_loc\\Web\\vendor\\magento\\framework\\Webapi\\ServiceInputProcessor.php(128): ReflectionClass->__construct('')\n#1 P:\\wwwroot\\Magento202_com_loc\\Web\\vendor\\magento\\framework\\Webapi\\ServiceInputProcessor.php(262): Magento\\Framework\\Webapi\\ServiceInputProcessor->_createFromArray(NULL, '30')\n#2 P:\\wwwroot\\Magento202_com_loc\\Web\\vendor\\magento\\framework\\Webapi\\ServiceInputProcessor.php(99): Magento\\Framework\\Webapi\\ServiceInputProcessor->convertValue('30', NULL)\n#3 P:\\wwwroot\\Magento202_com_loc\\Web\\vendor\\magento\\module-webapi\\Controller\\Rest.php(262): Magento\\Framework\\Webapi\\ServiceInputProcessor->process('Test\\\\Calculator...', 'add', Array)\n#4 P:\\wwwroot\\Magento202_com_loc\\Web\\vendor\\magento\\module-webapi\\Controller\\Rest.php(160): Magento\\Webapi\\Controller\\Rest->processApiRequest()\n#5 P:\\wwwroot\\Magento202_com_loc\\Web\\var\\generation\\Magento\\Webapi\\Controller\\Rest\\Interceptor.php(24): Magento\\Webapi\\Controller\\Rest->dispatch(Object(Magento\\Framework\\App\\Request\\Http))\n#6 P:\\wwwroot\\Magento202_com_loc\\Web\\vendor\\magento\\framework\\App\\Http.php(115): Magento\\Webapi\\Controller\\Rest\\Interceptor->dispatch(Object(Magento\\Framework\\App\\Request\\Http))\n#7 P:\\wwwroot\\Magento202_com_loc\\Web\\vendor\\magento\\framework\\App\\Bootstrap.php(258): Magento\\Framework\\App\\Http->launch()\n#8 P:\\wwwroot\\Magento202_com_loc\\Web\\index.php(39): Magento\\Framework\\App\\Bootstrap->run(Object(Magento\\Framework\\App\\Http))\n#9 {main}" ฉันสามารถโทรหาบริการเว็บ REST ของ Magento ได้อย่างประสบความสำเร็จ app / รหัส …

1
โมดูลที่กำหนดเอง: การเข้าถึงถูกปฏิเสธ (ปัญหา ACL)
ฉันสร้างโมดูลและทำงานได้อย่างสมบูรณ์ อย่างไรก็ตามฉันชนกำแพง เมื่อฉันเข้าสู่ระบบในฐานะผู้ดูแลระบบทุกสิ่งเป็นสิ่งที่ดี ฉันเพิ่มสิ่งนี้ลงใน acl: <?xml version="1.0"?> <config> <menu> <erp translate="title" module="firtal_deadstock"> <title>ERP</title> <sort_order>99</sort_order> <children> <stock_management module="firtal_deadstock"> <title>Stock Management</title> <children> <firtal_deadstock> <title><![CDATA[Firtal Stock Analysis]]></title> <sort_order>99</sort_order> <action>adminhtml/deadstock</action> </firtal_deadstock> </children> </stock_management> </children> </erp> </menu> <acl> <resources> <all> <title>Allow Everything</title> </all> <admin> <children> <system> <children> <config> <children> <firtal_deadstock translate="title"> <title>Firtal Stock Analysis settings</title> …
12 module  acl 

2
ฉันจะตั้งค่าการกำหนดค่าใน Magento 2 ได้อย่างไร
ก่อนหน้านี้ (ใน Magento 1 นั่นคือ) เราได้สร้างโมดูลที่ชื่อว่า Setup ซึ่งมีการตั้งค่าสำหรับไซต์ สคริปต์อัปเกรดมีลักษณะดังนี้: $installer = $this; $installer->startSetup(); $installer->setConfigData("fastsimpleimport/general/partial_indexing", 1); $installer->setConfigData("fastsimpleimport/product/disable_preprocess_images", 1); $installer->setConfigData('general/country/default', 'GB'); $installer->setConfigData('general/locale/firstday', 1); $installer->setConfigData('general/locale/timezone', 'Europe/London'); $installer->setConfigData('general/store_information/merchant_country', 'GB'); $installer->setConfigData('design/header/welcome', 'Enter your value'); $installer->setConfigData('design/head/title_suffix', 'Enter your value'); $installer->setConfigData('currency/options/base', 'GBP'); $installer->setConfigData('currency/options/default', 'GBP'); // ... ฉันคิดไม่ออกว่าจะทำอย่างไรใน M2 กล่าวอีกนัยหนึ่ง: ฉันจะไปเกี่ยวกับการตั้งค่าข้อมูลการกำหนดค่าใน M2 ได้อย่างไร

9
Magento 2 - วิธีถอนการติดตั้งโมดูล
จะถอนการติดตั้งโมดูลได้อย่างไร ฉันอ่านเอกสารนี้ แต่มันก็ไม่ประสบความสำเร็จและแสดงด้านล่าง: php bin/magento module:uninstall SP_Gridthumbs SP_Gridthumbs ไม่ใช่แพ็คเกจผู้แต่งที่ติดตั้ง

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