【问题标题】:Fullcalendar not rendering inside Magento blockFullcalendar 不在 Magento 块内渲染
【发布时间】:2013-02-07 10:21:24
【问题描述】:

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

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

我尝试在 javascript 中引用它所在的选项卡。

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

#dashCalendar 是我的标签的 id/类。

除此之外不呈现日历。它只是改变了 diagram_tab_orders_content 的 CSS。

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

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

【问题讨论】:

    标签: php javascript magento fullcalendar


    【解决方案1】:

    所以我发现了日历的问题,它与 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') ?>"
            },
    

    现在日历可以正确呈现事件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-08
      • 2013-05-26
      相关资源
      最近更新 更多