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

แสดงถึงคำถามเกี่ยวกับการพัฒนาและรวมส่วนขยาย

4
Magento 2 แนวปฏิบัติที่ดีที่สุดสำหรับสถานที่เรียนและชื่อ
ในMagento 1เราถูกใช้เพื่อวางชั้นเรียนของเราในไดเรกทอรีเหล่านี้ บล็อก ผู้ช่วย แบบ ทรัพยากร และใช้ชื่อคลาสแบบง่าย ๆ โดยไม่มีอักษรตัวใหญ่อยู่กลางชื่อ ถ้าเรามาดูบางกรณีใน Magento 2 Core ผู้ช่วย ที่ตั้ง : - \Foo\Bar\Helper ชื่อ : - *.php ตัวอย่าง : - \Magento\ImportExport\Helper\Report -\Magento\Cms\Helper\Wysiwyg\Images ผู้สังเกตการณ์ ที่ตั้ง : - \Foo\Bar\Observer ชื่อ : - *.php - *Observer.php ตัวอย่าง : - \Magento\CustomerCustomAttributes\Observer\SalesOrderAddressAfterLoad -\Magento\CustomerBalance\Observer\ProcessBeforeOrderPlaceObserver ปลั๊กอิน ที่อยู่ : - \Foo\Bar\Plugin ชื่อ : …

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

2
วิธีที่ดีที่สุดในการเพิ่มกริดแบบไดนามิกเป็นอินพุตใน Adminhtml ส่วนขยายที่กำหนดเอง
ฉันสร้างส่วนขยายตัวระบุตำแหน่งร้านค้าที่กำหนดเองด้วยตารางของตัวเองและแก้ไขหน้าใน Adminhtml และทุกอย่างใช้งานได้ดี สำหรับเวลาทำการของร้านค้าฉันต้องการใช้กริดแบบไดนามิกเช่นเดียวกับตัวเลือกคุณลักษณะ ตอนนี้ฉันได้พบวิธีแก้ปัญหา แต่ฉันหวังว่าจะมีวิธีที่ดีกว่าหรืออย่างน้อยก็สะอาดกว่า สิ่งที่ฉันมีจนถึงตอนนี้ก็คือการเพิ่มตัวแสดงผลลงในฟิลด์ในแบบฟอร์มfieldset class Redkiwi_Rkstorelocator_Block_Adminhtml_Rkstorelocator_Edit_Tab_General extends Mage_Adminhtml_Block_Widget_Form { protected function _prepareForm() { $form = new Varien_Data_Form(); $this->setForm($form); $fieldset = $form->addFieldset('rkstorelocator_form', array('legend'=>Mage::helper('rkstorelocator')->__('Store information'))); [...] $officehours_field = $fieldset->addField('office_hours', 'editor', array( 'name' => 'office_hours', 'label' => Mage::helper('rkstorelocator')->__('Office hours'), 'required' => false, )); $officehours_block = $this->getLayout() ->createBlock('rkstorelocator/adminhtml_rkstorelocator_edit_renderer_officehours') ->setData(array( 'name' => …

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
หน้าเริ่มต้นของการกำหนดค่าระบบ (ผู้ดูแลระบบ / system_config / ดัชนี) ถูกกำหนดอย่างไร?
ฉันมักสังเกตว่าหน้าเริ่มต้นของการกำหนดค่าระบบ ( System > Configurationในแผงการดูแลระบบ) แตกต่างจากการติดตั้งไปยังการติดตั้ง แทนที่จะแสดงGeneral > Generalหัวข้อฉันเห็นส่วนหนึ่งหรือส่วนขยายอื่นเสมอ มันเกิดขึ้นได้อย่างไร? ไม่ใช่ลำดับการเรียงเนื่องจากมันเกิดขึ้นในร้านค้าที่General > Generalยังคงเป็นแท็บแรก และที่สำคัญ: คุณจะป้องกันหรือกำหนด "หน้าแรก" ของคุณเองสำหรับการกำหนดค่าระบบได้อย่างไร?

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

1
เลือกไฟล์ที่จะติดตั้งผ่านนักแต่งเพลงตามเวอร์ชั่นวีโอไอพี
มันจะสะดวกมากที่จะรวมโค้ดหลายเวอร์ชันในโมดูลผู้แต่งและจะมีนักแต่งเพลงที่จะปรับใช้เวอร์ชันใดขึ้นอยู่กับเวอร์ชันวีโอไอพีของเป้าหมายการติดตั้ง ตัวอย่างเช่นสำหรับ Magento> 1.7 ให้ใช้ system.xml ซึ่งรวมถึงคุณสมบัติที่tooltipซ้อนกันgroupและคุณลักษณะที่ทันสมัยอื่น ๆ แต่สำหรับ Magento เวอร์ชันเก่าให้ใช้ไฟล์เวอร์ชั่นที่แยกส่วนซึ่งไม่รวมการประกาศเหล่านั้น วิธีนี้สามารถใช้ได้กับไฟล์อื่น ๆ อีกมากมายในโครงสร้างโมดูลมาตรฐานเช่นกัน ตัวเลือกสำหรับการใช้งานที่มีนักแต่งเพลงmap, modmanหรือpackage.xmlAFAIK ไม่มีใครที่มีสติปัญญาใด ๆ เกี่ยวกับระบบเป้าหมาย package.xmlตัวเลือกที่เป็นไปได้ยากมากที่จะเปลี่ยน แต่mapสามารถ ... สำหรับฉันดูเหมือนว่าจะมีนักพัฒนาส่วนขยายจำนวนมากที่จะได้รับประโยชน์จากวิธีการลดความสง่างาม มีใครพบวิธีแก้ไขปัญหานี้บ้างไหม?

5
ฉันจะวางไฟล์. php, .js, .html, .css จาก lib บุคคลที่สามที่เชื่อมต่อกับส่วนขยายที่ฉันพัฒนาได้อย่างไร
สมมติว่าฉันต้องการพัฒนาส่วนขยายของวีโอไอพีที่เชื่อมต่อกับแพคเกจการสร้างแผนภูมิโอเพนซอร์สหรือแกลเลอรี่ภาพหรือสิ่งที่ไม่ได้เป็นส่วนหนึ่งของส่วนขยายนั้น เมื่อดาวน์โหลด (แยกต่างหากจากส่วนขยาย) lib ของบุคคลที่สามจะมาพร้อมกับ. zip เดี่ยวพร้อมด้วย. php, .js, .html และ. css ทั้งหมด ฉันจะวางบนเจ้าของไซต์ที่ไม่ดีที่ประสงค์จะติดตั้งส่วนขยายของฉันร่วมกับ lib ของบุคคลที่สามภาระในการดึงบุคคลที่สามที่เป็นต้นฉบับ. zip และทำให้พวกเขาวาง. js ใน / js, .php in / lib, CSS ใน / ผิวหนัง ฯลฯ ? หรือมี "พื้นที่การทุ่มตลาด" ที่ยอมรับกันทั่วไปสำหรับไฟล์. zip ของบุคคลที่สามที่หนึ่งสามารถคลายการดาวน์โหลดตามที่สะดวกและทำได้ด้วยหรือไม่

2
วิธีระบุนามสกุลที่“ โทรศัพท์กลับบ้าน”
มีวิธีการระบุรหัสที่ส่งการร้องขอ HTTP ไปยังเซิร์ฟเวอร์ระยะไกลในพื้นหลังหรือไม่? ฉันสังเกตเห็นว่าเมื่อฉันมีการต้อนรับที่ขาด ๆ หาย ๆ บนเครื่องของฉันร้านค้าจำนวนมากใช้เวลาโหลดนานแม้กระทั่งทำงานบน localhost ฉันรู้สึกว่าเป็นเพราะเซิร์ฟเวอร์ระยะไกลใช้เวลานานในการตอบสนองเนื่องจากการเชื่อมต่อขาด ๆ หาย ๆ ของฉัน ฉันต้องการระบุคำขอเหล่านี้และลบออกเพราะฉันกลัวว่าพวกเขาอาจชะลอการติดตั้งสดเช่นหากเซิร์ฟเวอร์ภายนอกไม่ทำงานหรือช้า ...

1
ข้อผิดพลาด 404 ที่หน้าการกำหนดค่า
ทุกครั้งที่ฉันติดตั้งส่วนขยายใหม่และเปิดตัวเลือกผู้ดูแลระบบ - การกำหนดค่า - โมดูลฉันได้รับข้อผิดพลาด 404 ออกจากระบบและให้ความช่วยเหลือ แต่จะหลีกเลี่ยงสิ่งนี้ได้อย่างไร ปัญหาเกี่ยวข้องกับแคชการอนุญาตของผู้ดูแลระบบ แต่จะรีเฟรชได้อย่างไรโดยการเขียนโปรแกรมจากสคริปต์การติดตั้ง ความคิดใด ๆ

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

6
Magento 2: การเปลี่ยนแปลงราคาของผลิตภัณฑ์ในคอนโทรลเลอร์ไม่ทำงานในขณะนี้!
ฉันพยายามที่จะเปลี่ยนราคาสินค้าของฉันเช่นนี้: Controller.php: [แก้ไข] <?php namespace MassiveArt\ShoppingCart\Controller\Index; use Magento\Catalog\Model\ProductFactory; use Magento\Checkout\Model\Cart; use Magento\Framework\App\Action\Action; use Magento\Framework\App\Action\Context; use Magento\Framework\Controller\Result\JsonFactory; use Magento\Framework\Data\Form\FormKey; class Index extends Action { /** * @var FormKey */ protected $formKey; /** * @var Session */ protected $checkoutSession; /** * @var Cart */ protected $cart; /** * @var ProductFactory */ protected …

2
จะสร้างส่วนขยายที่กำหนดเองสำหรับ Magento2 ได้ที่ไหน
บางบทความแนะนำให้สร้างส่วนขยายที่กำหนดเองในapp/codeและอื่น ๆ vendorขอแนะนำให้เพื่อสร้างพวกเขาภายใต้ ทั้งสองวิธีนี้ใช้ได้หรือไม่? หากฉันต้องการที่จะแทนที่โมดูลในvendor? ฉันต้องเขียนโมดูลที่กำหนดเองของฉันด้วยvendorหรือapp/codeไม่ พวกเขาทำหน้าที่เป็น codepools เหมือนกับ Magento 1.x หรือไม่? โปรดใครก็ได้ชี้แจงจุดประสงค์ของแต่ละไดเรกทอรี

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