รับค่าการกำหนดค่าสำหรับขอบเขตเว็บไซต์


21

ฉันจะรับค่าการกำหนดค่าสำหรับเว็บไซต์เฉพาะได้อย่างไร

มีแต่ไม่มีMage::getStoreConfig()Mage::getWebsiteConfig()

แก้ไข :

ฉันกำลังส่งออกข้อมูลการกำหนดค่าในระดับเว็บไซต์ - ดังนั้นฉันต้องการตั้งค่าขอบเขตเว็บไซต์ ...

คำตอบ:


16

โดยปกติแล้วคุณไม่ควรทำเช่นนี้ Mage::getStoreConfig()จะส่งคืนค่าร้านค้าโดยอัตโนมัติมูลค่าเว็บไซต์มูลค่าทั่วโลกหรือค่าเริ่มต้นขึ้นอยู่กับการกำหนดค่าของฟิลด์

อย่างไรก็ตามหากคุณจำเป็นต้องเพิกเฉยต่อมูลค่าร้านค้าและรับค่าเว็บไซต์คุณสามารถทำได้ด้วยวิธีนี้:

Mage::app()->getWebsite()->getConfig('.../.../...')

1
อย่าลืมเพิ่มเว็บไซต์รหัส ie <br/>Mage::app()->getWebsite($websiteId)->getConfig('web/unsecure/base_url')
Eduardo

8

นี่เป็นกรณีที่ไม่ค่อยเกิดขึ้นเนื่องจากการตั้งค่าได้รับการสืบทอดมาจากระดับร้านค้าและมักจะgetStoreConfig()นำการตั้งค่าเว็บไซต์มาพิจารณาด้วย

คุณสามารถใช้Mage_Core_Model_Website::getConfig()- แต่โปรดทราบว่ามีความแตกต่างกันเล็กน้อยในMage_Core_Model_Store::getConfig()การประมวลผลบางอย่าง (เช่นการทดแทน{{...}}) - การทดแทนประเภทนี้ไม่ได้ทำในระดับเว็บไซต์

getStoreConfig()ถ้าค่าเท่านั้นที่สามารถเปลี่ยนแปลงได้ในระดับเว็บไซต์อีกทางเลือกหนึ่งที่จะได้รับเพียงบางร้านสุ่มของเว็บไซต์และการใช้งานแล้ว


6

สามารถรับได้โดยใช้รหัสเว็บไซต์เฉพาะหากรู้

$value = Mage::getConfig()->getNode('websites/[website_code]/section/group/field');
var_dump($value[0]);

ควรทำเครื่องหมายเป็นคำตอบที่ถูกต้อง คุณสามารถรับเว็บไซต์จากMage::app()->getWebsites()และรหัสจากเว็บไซต์:$website->getCode()
Michael

สิ่งที่ดี @ เครื่องหมาย ฉันเห็นด้วยควรทำเครื่องหมายเป็นคำตอบที่ถูกต้อง ฉันรู้ว่าไม่ใช่เรื่องปกติที่จะได้รับค่าการกำหนดค่าจากเว็บไซต์ แต่ในบางกรณีมันเป็น .. ตัวอย่างเช่นฉันจำเป็นต้องทำเช่นนี้เมื่อเรียกใช้การส่งออกผลิตภัณฑ์ตามเว็บไซต์ในงาน cron
Eduardo

2

ฉันอาจจะผิด แต่เท่าที่ฉันจำได้ขอบเขตของการกำหนดค่านั้นผูกกับร้านค้าเสมอ หากคุณตั้งค่าในระดับเว็บไซต์จะสามารถใช้ได้ในร้านค้าใด ๆ ของเว็บไซต์นั้นเว้นแต่คุณจะตั้งค่าที่แตกต่างในระดับร้านค้า

สมมติว่าคุณมีเว็บไซต์ A และเก็บ A1 และ A2 เป็นร้านค้าสำหรับเว็บไซต์นั้น สมมติว่า A มีค่า 5 สำหรับคุณสมบัติที่กำหนด

จากนั้นMage::getStoreConfig()จะส่งคืน 5 สำหรับคุณสมบัตินั้นทั้ง A1 และ A2 หากคุณตั้งค่าคุณสมบัติเป็น 3 สำหรับ A1 จากนั้น Mage::getStoreConfig()จะส่งคืน 3 สำหรับ A1 และ 5 สำหรับ A2 สำหรับคุณสมบัตินั้น


คุณมีสิทธิ์อย่างสมบูรณ์แบบ - แต่: ฉันกำลังส่งออกข้อมูลการกำหนดค่าในระดับเว็บไซต์ - ดังนั้นฉันต้องการตั้งค่าขอบเขตเว็บไซต์ ... ฉันรู้ว่านี่เป็นกรณีที่ค่อนข้างหายาก
อเล็กซ์

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