Пользователь пока ничего не рассказал о себе

Наибольший вклад в теги

Все теги (4)

Лучшие ответы пользователя

Все ответы (3)
  • Как переименовать лейблы формы в MAGENTO?

    @Dante_FX
    Попробуйте задать эти значения в свойстваx соответствующего аттрибута:
    Catalog->Attributes->Manage Attributes
    https://www.dropbox.com/s/x82n3ljtgapqign/ice_scre...
    Ответ написан
    Комментировать
  • Как в magento (в adminhtml) на странице модуля добавить блок?

    @Dante_FX
    Нужен или нет - вы сейчас решите сами)
    Примечания:
    1) Magento 1.7.2.0.
    2) Способ, как говориться, "для себя" - в коммерческий модуль я бы его допиливал.
    3) Вы знакомы с маджентой. Если что-то не понятно - уточняйте.

    Поехали:
    1) Если не было до этого в модуле лаяута для админки - подключите его в config.xml
    2) Добавляем в лаяут:
    <adminhtml_sales_order_view>        
            <reference name="order_tab_info">
                <block type="dante_test/adminhtml_test" name="dante_test_test" template="dante/test/test.phtml" />            
            </reference>       
        </adminhtml_sales_order_view>


    Так вы добавляете в лаяут блоку, отвечающему за вывод содержимого табы "Information", свой дочерний блок.
    Наш дочерний блок находится app/code/{local/community}/Dante/Test/Block/Adminhtml/Test.php
    class Dante_Test_Block_Adminhtml_Test extends Mage_Adminhtml_Block_Template {}

    с шаблоном \app\design\adminhtml\default\default\template\dante\test\test.phtml

    Этот блок теперь необходимо вывести.

    Способ 1)
    Для этого либо делаем реврайт класса Mage_Adminhtml_Block_Sales_Order_View_Tab_Info в конфиге.
    Теперь у нас есть класс:

    class Dante_Test_Block_Adminhtml_Sales_Order_View_Tab_Info  extends Mage_Adminhtml_Block_Sales_Order_View_Tab_Info {
        public function getTestHtml()
        {
            return $this->getChildHtml('dante_test_test');
        }
        
        protected function _toHtml()
        {
            return parent::_toHtml() . $this->getTestHtml();
        }
    }


    где

    $this->getChildHtml('test')

    Выводит содержимое шаблона модуля
    dante/test/test.phtml

    Таким образом блок Ваш добавится в самый низ. Чтобы засунуть его в середину - или используйте js, или
    переназначайте блоку Dante_Test_Block_Adminhtml_Sales_Order_View_Tab_Info свой phtml шаблон, куда скопируйте оригинальный маджентовский (\app\design\adminhtml\default\default\template\sales\order\view\tab\info.phtml) и внесите в него необходимые правки.

    Способ 2 заключается в том, что Вы не делаете реврайт класса Mage_Adminhtml_Block_Sales_Order_View_Tab_Info, а копируете его из core в local директорию (с сохранением путей) и изменяете как хотите. Оригинальный файл из core директории остается не измененным и не будет теперь использоваться.

    P.S. Если Вас по каким-то причинам не устраивает реврайт (это может быть из-за конфликта с реврайтами сторонних модулей) или перенос в директорию local (что может вызвать проблему после обновления мадженты - хотя, похоже, что это теперь маловероятный сценарий), Вы можете выполнить задачу через использование обзервера.
    Ответ написан
    Комментировать