2016-03-08 3 views
1

У меня есть несколько пользовательских блоков, добавленных на странице администратора под моим настраиваемым модулем. Когда я пытаюсь добавить еще один блок, добавив запись в файл макета моего модуля, новый блок не отображается. Я что-то пропустил?Magento admin: новый блок не отображается после добавления в макет

Мой существующий блок, который хорошо отображается.

<block type="adminhtml/sales_order_create_shipping_method" template="sales/order/create/abstract.phtml" name="shipping_method"> 
    <block type="adminhtml/sales_order_create_shipping_method_form" template="xxxx/xxxx/quote/create/shipping/form.phtml" name="form" /> 
</block> 

Блок Я пытаюсь добавить ниже его, и он не показывает

<block type="adminhtml/sales_order_create_billing_method" template="sales/order/create/abstract.phtml" name="billing_method"> 
          <block type="adminhtml/sales_order_create_billing_method_form" template="xxx/xxx/quote/create/billing/form.phtml" name="form" /> 
         </block> 

BTW, блок загружается, если я держу его в уже существующий блок. Интересно, как я могу заставить его отображаться вне существующего, как отдельный блок.

<block type="adminhtml/sales_order_create_shipping_method" template="sales/order/create/abstract.phtml" name="shipping_method"> 
          <block type="adminhtml/sales_order_create_shipping_method_form" template="xxxx/xxxxxx/quote/create/shipping/form.phtml" name="shipping_form" /> 
    <block type="adminhtml/sales_order_create_billing_method" template="sales/order/create/abstract.phtml" name="billing_method"> 
    <block type="adminhtml/sales_order_create_billing_method_form" template="xxxxxx/xxxxxxxx/quote/create/billing/form.phtml" name="billing_form" /> 
    </block> 
</block> 
+0

Какую версию Magento вы используете? Если 1.9.2.2 или вы применили исправления 6788 и выше, вы можете обнаружить, что блоки должны быть включены вручную в System> Permissions> Blocks and System> Permissions> Variables. См. [Здесь] (https://magento.com/security/patches/supee-6788-technical-details) для получения более подробной информации. –

+0

Это не тот случай, когда блоки добавляются программно. Просто для статических блоков :) –

+0

А я получаю, просто у меня была аналогичная проблема, и это было мое исправление. Сожалею! –

ответ

0

Исправлена ​​проблема. У меня был файл шаблона data.phtml в той же папке, в котором были мои другие файлы phtml, в которых был следующий код.

<div id="order-billing_method" style="display:none"><?php echo $this->getChildHtml('billing_method') ?></div> 

Я изменил отображение: ни один из них не отображался: блок и новый блок биллингового метода начали проявляться без каких-либо проблем. Спасибо за ответы.

+0

У меня такая же проблема, когда не отображается пользовательский блок на странице администратора. В моем случае я хочу, чтобы пользовательский блок отображался в файле adminhtml_sales_order_shipment_view. Если вы не против, взгляните на этот нерешенный вопрос: http://stackoverflow.com/questions/39340112/adding-block-into-adminhtml-shipment-view спасибо заранее – may

2

Можете изменить атрибут имени? Например

<block type="adminhtml/sales_order_create_shipping_method" template="sales/order/create/abstract.phtml" name="shipping_method"> 
    <block type="adminhtml/sales_order_create_shipping_method_form" template="xxxx/xxxx/quote/create/shipping/form.phtml" name="shipping_form" /> 
</block> 

и

<block type="adminhtml/sales_order_create_billing_method" template="sales/order/create/abstract.phtml" name="billing_method"> 
          <block type="adminhtml/sales_order_create_billing_method_form" template="xxx/xxx/quote/create/billing/form.phtml" name="billing_form" /> 
         </block> 

И после того, обновите кэш

+0

Это тоже не работает –

+0

Спасибо за подсказку. Отредактировал мой вопрос. Блок загружается, когда я помещаю его в существующий блок. Но мне все еще нужно, чтобы он был снаружи как отдельный блок. –

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