ฉันจะรับค่าการกำหนดค่าสำหรับเว็บไซต์เฉพาะได้อย่างไร
มีแต่ไม่มีMage::getStoreConfig()
Mage::getWebsiteConfig()
แก้ไข :
ฉันกำลังส่งออกข้อมูลการกำหนดค่าในระดับเว็บไซต์ - ดังนั้นฉันต้องการตั้งค่าขอบเขตเว็บไซต์ ...
ฉันจะรับค่าการกำหนดค่าสำหรับเว็บไซต์เฉพาะได้อย่างไร
มีแต่ไม่มีMage::getStoreConfig()
Mage::getWebsiteConfig()
แก้ไข :
ฉันกำลังส่งออกข้อมูลการกำหนดค่าในระดับเว็บไซต์ - ดังนั้นฉันต้องการตั้งค่าขอบเขตเว็บไซต์ ...
คำตอบ:
โดยปกติแล้วคุณไม่ควรทำเช่นนี้ Mage::getStoreConfig()
จะส่งคืนค่าร้านค้าโดยอัตโนมัติมูลค่าเว็บไซต์มูลค่าทั่วโลกหรือค่าเริ่มต้นขึ้นอยู่กับการกำหนดค่าของฟิลด์
อย่างไรก็ตามหากคุณจำเป็นต้องเพิกเฉยต่อมูลค่าร้านค้าและรับค่าเว็บไซต์คุณสามารถทำได้ด้วยวิธีนี้:
Mage::app()->getWebsite()->getConfig('.../.../...')
นี่เป็นกรณีที่ไม่ค่อยเกิดขึ้นเนื่องจากการตั้งค่าได้รับการสืบทอดมาจากระดับร้านค้าและมักจะgetStoreConfig()
นำการตั้งค่าเว็บไซต์มาพิจารณาด้วย
คุณสามารถใช้Mage_Core_Model_Website::getConfig()
- แต่โปรดทราบว่ามีความแตกต่างกันเล็กน้อยในMage_Core_Model_Store::getConfig()
การประมวลผลบางอย่าง (เช่นการทดแทน{{...}}
) - การทดแทนประเภทนี้ไม่ได้ทำในระดับเว็บไซต์
getStoreConfig()
ถ้าค่าเท่านั้นที่สามารถเปลี่ยนแปลงได้ในระดับเว็บไซต์อีกทางเลือกหนึ่งที่จะได้รับเพียงบางร้านสุ่มของเว็บไซต์และการใช้งานแล้ว
สามารถรับได้โดยใช้รหัสเว็บไซต์เฉพาะหากรู้
$value = Mage::getConfig()->getNode('websites/[website_code]/section/group/field');
var_dump($value[0]);
Mage::app()->getWebsites()
และรหัสจากเว็บไซต์:$website->getCode()
ฉันอาจจะผิด แต่เท่าที่ฉันจำได้ขอบเขตของการกำหนดค่านั้นผูกกับร้านค้าเสมอ หากคุณตั้งค่าในระดับเว็บไซต์จะสามารถใช้ได้ในร้านค้าใด ๆ ของเว็บไซต์นั้นเว้นแต่คุณจะตั้งค่าที่แตกต่างในระดับร้านค้า
สมมติว่าคุณมีเว็บไซต์ A และเก็บ A1 และ A2 เป็นร้านค้าสำหรับเว็บไซต์นั้น สมมติว่า A มีค่า 5 สำหรับคุณสมบัติที่กำหนด
จากนั้นMage::getStoreConfig()
จะส่งคืน 5 สำหรับคุณสมบัตินั้นทั้ง A1 และ A2 หากคุณตั้งค่าคุณสมบัติเป็น 3 สำหรับ A1 จากนั้น
Mage::getStoreConfig()
จะส่งคืน 3 สำหรับ A1 และ 5 สำหรับ A2 สำหรับคุณสมบัตินั้น
Mage::app()->getWebsite($websiteId)->getConfig('web/unsecure/base_url')