2015-10-23 2 views
-1

друзья Я создал собственный модуль, в котором у меня есть разбитые блоки. Я хочу использовать этот блок в шаблоне, но это не работает.Как вызвать блок пользовательского модуля в файле шаблона с использованием файла конфигурации макета в magento

Это мой конфигурационный файл: -

 <?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(); 
?> 

Пожалуйста, помогите мне решить эту ошибку.

+0

Пожалуйста, опишите вашу ошибку как можно более подробно. «Это не сработало» - слишком общее и почти невозможно помочь вам. –

+0

Страница шаблона, не добавленная в макет .it, не показывает никаких ошибок, у меня есть использование подсказок для шаблона из System-> Configuration-> Developer. Я думаю, что ошибка будет в [block type = "custommodule_sociallogin/qa"]. Мой блок - CustomModule_SocialLogin_Block_Qa. Я запутался в именовании типа блока. –

ответ

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(); 
?> 
+0

Здравствуйте @Ramesh Kumar, к сожалению, мне пришлось отклонить это предложение: http://stackoverflow.com/review/spected-edits/9972318. Нет необходимости редактировать теги в названиях; SO настроен так, чтобы поисковые системы уже видели теги. –

Смежные вопросы