如何使用magento中的布局配置文件调用模板文件中的自定义模块块

时间:2015-10-23 06:35:23

标签: magento magento-1.9

朋友 我已经创建了自定义模块,其中我有创建块。我想在模板中使用此块但这不起作用。

这是我的配置文件: -

     <?xml version="1.0"?>
      <config>
        <modules>
          <CustomModule_SocialLogin>
             <version>1.0.0</version>
          </CustomModule_SocialLogin>
       </modules>
       <frontend>
            <routers>
              <customer>
                <args>
                  <modules>
                    <CustomModule_SocialLogin before="Mage_Customer">CustomModule_SocialLogin_Customer </CustomModule_SocialLogin>
                 </modules>
              </args>
           </customer>
           <sociallogin>
             <use>standard</use>
             <args>
                <module>CustomModule_SocialLogin</module>
                <frontName>sociallogin</frontName>
            </args>
          </sociallogin>
       </routers>
       <layout>
         <updates>
            <CustomModule_SocialLogin module="CustomModule_SocialLogin">
                <file>CustomModule/sociallogin.xml</file>
            </CustomModule_SocialLogin>
        </updates>
     </layout>
</frontend>
<global>
    <blocks>
        <CustomModule_SocialLogin>
            <class>CustomModule_SocialLogin_Block</class>
        </CustomModule_SocialLogin>
    </blocks>
    <models>
        <CustomModule_SocialLogin>
            <class>CustomModule_SocialLogin_Model</class>
        </CustomModule_SocialLogin>
    </models>
    <helpers>
        <CustomModule_SocialLogin>
            <class>CustomModule_SocialLogin_Helper</class>
        </CustomModule_SocialLogin>
    </helpers>  
  </global>
 </config> 

我的阻止文件 - :

         class  CustomModule_SocialLogin_Block_Qa extends   Mage_Core_Block_Template{
            public function getText()
            {
             $name='test';
             return $name;     
            }
        }

自定义模块布局更新文件: -

   <layout version="0.1.0">
     <default>
        <reference name="content" translate="label">
          <block type="custommodule_sociallogin/qa" name="SocialLogin.qa"  template="CustomModule/SocialLogin/questionans.phtml" />
        </reference> 
     </default>
   </layout>

我的模板文件: -

<?php
   echo $this->getText()->toHtml();
   //echo $this->getText();
?>

请帮我解决这个错误。

1 个答案:

答案 0 :(得分:2)

您需要更正模块布局文件。我已经纠正了块类型。

<layout version="0.1.0">
 <default>
    <reference name="content" translate="label">
      <block type="sociallogin/qa" name="SocialLogin.qa"  template="CustomModule/SocialLogin/questionans.phtml" />
    </reference> 
 </default>

在模板文件中: -

<?php
echo $this->getText();
?>