1

我在 Magento 社区中有一个自定义块,它重写了 Adminhtml 中的“订单”选项卡,并将其替换为 Fullcalendar(arshaw.com 的),它显示了产品何时发货的事件。

我已经实现了一个 JSON 提要,它依赖于我的自定义模块控制器来填充和保存数据。这很好用,一旦我点击月/今天/上一个/下一个,我就可以看到产品。但是,这不是它应该如何工作的。它应该在页面加载时呈现,除了我看到的只是按钮。

我曾尝试在 javascript 中引用它所在的选项卡,例如。

jQuery('#diagram_tab_orders_content').tabs({
    show: function(event, ui) {
        jQuery('#dashCalendar').fullCalendar('render');
}

其中#dashCalendar 是我的标签的 id / class。

除非这不会呈现日历。它只是改变了 diagram_tab_orders_content 的 CSS。

我在 Stackoverflow 上看到了一个类似的主题,您必须明确引用日历所在的选项卡才能正确呈现。这是我试图实现的,以便在文档准备好时呈现日历。

任何有关如何在文档准备好时呈现此日历的建议将不胜感激。

4

1 回答 1

0

所以我发现了日历的问题,它与 Magento 中的选项卡有关。在 Javascript 中显式引用选项卡会导致渲染出现问题,因此我不得不重写 Dashboard 块。

我的 ModuleName/etc 文件夹中的 Config.xml:

<global>
        <!-- Blocks -->
        <blocks>
            <adminhtml>
                <rewrite>
                    <dashboard>ModuleName_Block_Adminhtml_Calendar</dashboard>
                </rewrite>
            </adminhtml>
        </blocks>
</global>

然后在我的 ModuleName/Block/Calendar.php 文件中设置模板:

public function __construct()
    {   //this creates the template block for the calendar
        parent::__construct();
        $this->setId('Calendar');
        $this->setTemplate('moduleName/calendar/calendar.phtml');
    }

复制/粘贴提供的完整日历的 JSON 示例页面,将您的 events: 标记设置为您的 .php 文件,该文件使用 JSON 从您的数据库生成/请求数据。如果您想使用提供的 CSS 自定义您的主题,您将在登录 Adminhtml 时看到带有事件的日历呈现。您将在下方看到“填充”。它是我的控制器中的一个操作,它检索数据并将 JSON 提要回显到日历。

events: {
           url: "<? echo $this->getUrl('moduleName/adminhtml_calendar/populate') ?>"
        },

现在日历正确呈现事件。

于 2013-02-08T09:24:03.270 回答