Magento – добавить пользовательский блок с помощью настраиваемого модуля на странице корзины покупок

Я создал настраиваемый модуль и пытаюсь включить блок сразу после таблицы корзины покупок и перед полем Totals. Но я не могу получить его в этом точном месте. Я могу заставить свой блок появляться в разделе контента чуть ниже всего остального, но не между ними.

Если я переопределить checkout.xml и cart.phtml, тогда я смогу добиться того, где хочу отобразить свой блок, но я не хочу переопределять существующие файлы, следовательно, свой настраиваемый модуль. Может ли кто-нибудь указать на то, что я пропустил или сделал неправильно.

Вот мой код модуля,

app/code/local/CM/Test/etc/config.xml

 <?xml version="1.0"?> <config> <modules> <CM_Test> <version>0.1.0</version> </CM_Test> </modules> <frontend> <routers> <test> <use>standard</use> <args> <module>CM_Test</module> <frontName>test</frontName> </args> </test> </routers> <layout> <updates> <cm_test module="CM_Test"> <file>test.xml</file> </cm_test> </updates> </layout> </frontend> <global> <blocks> <test> <class>CM_Test_Block</class> </test> </blocks> </global> </config> 

app/code/local/CM/Test/Block/Somblock.php

  <?php class CM_Test_Block_Somblock extends Mage_Core_Block_Template { protected function _construct() { parent::_construct(); $this->setTemplate('test/testing.phtml'); } public function methodBlock() { return 'informations about my block !!' ; } } 

app/code/local/CM/Test/controllers/IndexController.php

  <?php class CM_Test_IndexController extends Mage_Core_Controller_Front_Action { public function indexAction() { $this->loadLayout(); $this->renderLayout(); } public function somethingAction() { echo 'test mamethode'; } } 

app/design/frontend/mytheme/layout/test.xml

  <layout version="0.1.0"> <default></default> <test_index_index> <reference name="root"> <action method="setTemplate"><template>page/2columns-right.phtml</template> </action> </reference> <reference name="content"> <block type="test/somblock" name="test.somblock" template="test/testing.phtml"/> </reference> </test_index_index> <checkout_cart_index> <reference name="checkout.cart.form.before"> <block type="test/somblock" name="test.somblock"> <action method="setTemplate"><template>test/testing.phtml</template></action> </block> <block type="test/somblock" name="test.somblock" template="test/smtesting.phtml"/> </reference> </checkout_cart_index> </layout> по  <layout version="0.1.0"> <default></default> <test_index_index> <reference name="root"> <action method="setTemplate"><template>page/2columns-right.phtml</template> </action> </reference> <reference name="content"> <block type="test/somblock" name="test.somblock" template="test/testing.phtml"/> </reference> </test_index_index> <checkout_cart_index> <reference name="checkout.cart.form.before"> <block type="test/somblock" name="test.somblock"> <action method="setTemplate"><template>test/testing.phtml</template></action> </block> <block type="test/somblock" name="test.somblock" template="test/smtesting.phtml"/> </reference> </checkout_cart_index> </layout> по  <layout version="0.1.0"> <default></default> <test_index_index> <reference name="root"> <action method="setTemplate"><template>page/2columns-right.phtml</template> </action> </reference> <reference name="content"> <block type="test/somblock" name="test.somblock" template="test/testing.phtml"/> </reference> </test_index_index> <checkout_cart_index> <reference name="checkout.cart.form.before"> <block type="test/somblock" name="test.somblock"> <action method="setTemplate"><template>test/testing.phtml</template></action> </block> <block type="test/somblock" name="test.somblock" template="test/smtesting.phtml"/> </reference> </checkout_cart_index> </layout> 

app/design/frontend/default/mytheme/template/test/testing.phtml

  TESTING <br/> <?php echo $this->getChildHtml('testing.somblock'); echo "HELLO"; 

app/design/frontend/default/mytheme/template/test/smtesting.phtml

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

app/etc/modules/CM_Test.xml

  <?xml version="1.0"?> <config> <modules> <CM_Test> <codePool>local</codePool> <active>true</active> </CM_Test> </modules> </config> 

Когда я обратился к http://mydomain.com/test/index/index, он дал мне следующее o / p

TESTING HELLO

Когда я обратился к http://mydomain.com/checkout/cart/index, он дал мне следующие о / р

вывод моего модуля

Но мне нужна выходная information about my block сразу после таблицы корзины покупок и над полем «Итоговые данные», как мне это сделать?

 <checkout_cart_index> <reference name="checkout.cart"> <block type="test/somblock" name="test.somblock" before="checkout.cart.totals" template="test/testing.phtml" /> <block type="test/somblock" name="test.somblock" after="test.somblock" template="test/smtesting.phtml"/> </reference> </checkout_cart_index> 

Вы имеете в виду форму перед тележкой, в то время как вы хотите ее в корзине. Измените свою ссылку и добавьте ее до итогов (или до скидки, если хотите).