2013-02-12 32 views
6

मैं इस तरह ब्लॉक top.links में जोड़ा जा रहा एक कार्यशील लिंक है:एक लेआउट एक्सएमएल फ़ाइल के माध्यम से एक सहायक कक्षा एक पैरामीटर पासिंग

<block type="page/template_links" name="top.links" as="topLinks"> 
    <action method="addLink"> 
     <label>About Us</label> 
     <url helper="mymodule/getAboutUsUrl"/> 
     <title>About Us</title> 
     <prepare/> 
     <urlParams/> 
     <position>20</position> 
    </action> 
</block> 

अंततः मैं getAboutUsUrlgetExternalSiteUrl में बदलने के लिए करना चाहता था। मैं चाहता हूं कि एक समारोह पैरामीटर ले। उदाहरण के लिए, getExternalSiteUrl ('about-us') जो कुछ// url/about-us जैसा कुछ वापस करेगा। हालांकि, मुझे एक लेआउट एक्सएमएल फ़ाइल में एक सहायक वर्ग पैरामीटर भेजने का कोई तरीका नहीं दिख रहा है। मैंने पहले से ही ऐसा करने वाले अन्य मॉड्यूल की खोज की, और जहां मैंने खोज की ग्राहक मॉड्यूल में कोई नहीं मिला।

क्या कोई मदद कर सकता है?

उत्तर

7
<block type="page/template_links" name="top.links" as="topLinks"> 
    <action method="addLink"> 
     <label>About Us</label> 
     <url helper="mymodule/getAboutUsUrl"> 
      <arg>Now with more args!</arg> 
      <!-- will result in the string being passed as first arg --> 
     </url> 
     <title>About Us</title> 
     <prepare/> 
     <urlParams/> 
     <position>20</position> 
    </action> 
</block> 

ध्यान दें कि सहायकों Varien_Object का विस्तार नहीं है, इसलिए अपने विधि स्पष्ट रूप getAboutUsUrl() विधि को परिभाषित करने की आवश्यकता होगी।