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

5
ผู้ช่วยสร้างภาพใน Magento 2
การสร้างล่าสุดของ Magento 2 ได้ทำให้หายไปจากMageชั้นเรียน หมายความว่าเราสูญเสียMage::helperวิธีการไปแล้ว มีเทคนิคการเปลี่ยน (โรงงานผู้ช่วยหรือไม่) สำหรับผู้ช่วย instantiating ใน Magento 2 หรือไม่? หรือว่าเราคาดว่าจะใช้คลาส Object manager ใหม่และเพียงยกตัวอย่างผู้ช่วยเป็นวัตถุเดี่ยว / แคชด้วยget(กับcreate)

2
การสร้างคลาสตัวช่วยที่กำหนดเองในโมดูล
ฉันได้สร้างโมดูลใหม่ที่เรียกว่าtest_helperและฉันต้องการสร้างคลาสผู้ช่วยในโมดูลนี้เพื่อให้ฉันสามารถเพิ่มฟังก์ชั่นที่กำหนดเองที่จะเรียกว่าทั่วเว็บไซต์ของฉัน อย่างไรก็ตามฉันไม่สามารถหาตัวอย่างของวิธีทำสิ่งนี้ได้ ฉันคิดว่าฉันต้องสร้าง xml พิเศษในการกำหนดค่าและโฆษณาไฟล์อื่นที่ขยายฐานผู้ช่วย แต่ฉันไม่มีโชคในการหาตัวอย่างเพื่อสร้าง


5
วิธีเรียกใช้เมธอดตัวช่วยเหลือในไฟล์. phtml
พยายามพัฒนาบางอย่างด้วย magento 2 แต่ฉันไม่พบวิธีเรียกใช้ Helper ในไฟล์ template (.phtml) ฉันต้องการเปลี่ยนรหัสด้านล่าง: $this->helper('modulename/helpername')->methodname(); หากใครรู้โปรดช่วยฉัน
16 magento2  phtml  helper 

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 โปรดให้ความช่วยเหลือสำหรับข้อผิดพลาดนี้หรือไม่? หากมีความขัดแย้งของชื่อชั้นเรียนเราจะแก้ปัญหาได้อย่างไร? ขอบคุณ

1
ชื่อเต็มของคลาสในวิธีโรงงานของวีโอไอพี
ใน Magento 1 ถ้าฉันใช้ชื่อคลาส Magento แบบเต็มในวิธีการจากโรงงานฉันสามารถสร้างวัตถุได้ //trying full class name instead of catalog/product $object = Mage::getModel('Mage_Catalog_Model_Product'); อย่างไรก็ตามสิ่งเดียวกันนี้ใช้ไม่ได้กับผู้ช่วยเหลือ ถ้าคุณลอง Mage::helper('Mage_Core_Helper_Url'); คุณได้รับ Warning: include(Mage/Mage/Core/Helper/Url/Helper/Data.php): failed to open stream: No such file or directory in /path/to/magentolib/Varien/Autoload.php on line 93 #0 /path/to/magentolib/Varien/Autoload.php(93): mageCoreErrorHandler(2, 'include(Mage/Ma...', '/path/to/magent...', 93, Array) #1 /path/to/magentolib/Varien/Autoload.php(93): Varien_Autoload::autoload() #2 [internal function]: Varien_Autoload->autoload('Mage_Mage_Core_...') …
11 model  helper  factory 

2
Magento 2: การใช้งานผู้ช่วยที่เหมาะสม
ฉันเริ่มเห็นผู้คนมากขึ้นเรื่อย ๆ ที่ประกาศคลาสผู้ช่วยเหลือเพื่อให้สามารถใช้สิ่งต่อไปนี้ในไฟล์เทมเพลต: $this->helper('Path/To/Helper/Class')->customMethod(); รหัสประเภทนี้ช่วยให้ผู้ใช้หลีกเลี่ยงการห้ามใช้ตัวจัดการวัตถุโดยตรงจำกัด แต่ฉันมักจะเห็นรหัสที่ควรจะเป็นรหัสบล็อกในผู้ช่วยเหลือเหล่านั้น ดังนั้นนี่คือคำถามของฉัน: สิ่งหนึ่งที่ควรเขียนในชั้นเรียนผู้ช่วย? ในกรณีใดบ้างที่เกี่ยวข้องกับการใช้เมธอดตัวช่วยในเทมเพลต

4
ตัวช่วยเทียบกับรุ่น? ฉันควรใช้แบบไหน
ฉันกำลังทำงานกับ Instagram API ใน magento ฉันให้คูปองแก่ผู้ติดตาม Instagram ของฉันหากพวกเขาติดตามร้านค้าของเราบน Instagram ฉันกำลังเรียก API ไปยัง instagram ใน PHP โดยใช้ curl ขณะนี้ฉันกำลังปิดการเรียก API ในฟังก์ชันตัวช่วยภายในโมดูลที่กำหนดเองของฉัน ฉันควรจะตัดการโทรเหล่านี้ในฟังก์ชั่นภายในโมเดลหรือไม่? ตัวอย่างเช่น. ฉันกำลังเรียก API ไปยัง Instagram เพื่อตรวจสอบว่าผู้ใช้ปัจจุบันติดตามบัญชีของฉันหรือไม่ ดังนั้นในคอนโทรลเลอร์ของฉันฉันกำลังโทรไปที่ฟังก์ชันตัวช่วยซึ่งส่งคืนสถานะการติดตามไปยังคอนโทรลเลอร์ของฉัน ในคอนโทรลเลอร์ของฉันฉันจะอัปเดตโมเดลของฉันหากจำเป็น ฉันแก้ไขการเรียก API เหล่านี้ภายในฟังก์ชันตัวช่วยได้หรือไม่ ฉันจะใช้ผู้ช่วยเหลือเมื่อเทียบกับรุ่นได้อย่างไร <?php class Company_SocialCoupons_InstagramController extends Mage_Core_Controller_Front_Action { public function followAction() { $status = Mage::helper('socialcoupons/instagram')->getFollow(); if ($status == 'follows') …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.