Всплывающее окно конфигурации Magento - куда должен идти html файл в иерархии модулей? - PullRequest
0 голосов
/ 26 апреля 2011

В моем модуле конфигурации у меня есть кнопка.Когда эта кнопка нажата, я открываю окно, которое собирает дополнительные данные.Этот файл является просто html-файлом, но где он должен находиться в структуре каталогов модуля?

Чтобы дать немного больше информации - просто чтобы увидеть что-то работающее, я определил свое поле следующим образом:

<button_url_test_window_open><![CDATA[/px.html]]></button_url_test_window_open>
<frontend_model>mymodule/adminhtml_system_config_testWindowOpenDialog</frontend_model>

и я помещаю файл px.html в мою папку htdocs / magento.Когда я нажимаю кнопку, открывается /px.html, но это не так.Я не уверен, как сформулировать вопрос, но я чувствую, что должен сделать что-то более похожее на «открыть файл с именем px.html для моего модуля», и тогда magento будет искать в правильном месте.Извините за терминологию, я все еще сталкиваюсь с Magento / PHP / Apache.

Просто чтобы завершить картину того, что у меня сейчас есть, блок frontend_model:

protected function _prepareLayout()
{
    parent::_prepareLayout();
    if (!$this->getTemplate()) {
        $this->setTemplate('mypackage/system/config/test_window_open_dialog.phtml');
    }
    return $this;
}

public function render(Varien_Data_Form_Element_Abstract $element)
{
    $element->unsScope()->unsCanUseWebsiteValue()->unsCanUseDefaultValue();
    return parent::render($element);
}

protected function _getElementHtml(Varien_Data_Form_Element_Abstract $element)
{
    $originalData = $element->getOriginalData();
    $this->addData(array(
        'button_label_test_window_open' => Mage::helper('mymodule')->__($originalData['button_label_test_window_open']),
        'button_url_test_window_open'   => $originalData['button_url_test_window_open'],
        'html_id' => $element->getHtmlId(),
    ));
    return $this->_toHtml();
}

и файл test_window_open_dialog.phtml содержит:

<table>
    <tr>
        <td>
            <button style="" onclick="javascript:window.open('<?php echo $this->getButtonUrlTestWindowOpen()?>', 'testing','toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=yes, resizable=yes, ,left=100, top=100, width=600, height=470'); return false;" class="scalable" type="button" id="<?php echo $this->getHtmlId() ?>">
                <span><?php echo $this->escapeHtml($this->getButtonLabelTestWindowOpen()); ?></span>
            </button>
        </td>
    </tr>
</table>

1 Ответ

1 голос
/ 27 апреля 2011

phtml-файлы никуда не попадают в каталог вашего модуля. В каталогах модулей находятся ваши блоки, помощники, модели, контроллеры, файлы установки / обновления Sql, а также файлы конфигурации xml. Файлы шаблонов находятся либо в app / design / adminhtml (если это шаблон администратора), либо в app / design / frontend, если они будут использоваться на веб-интерфейсе сайта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...