javascript - 如何在 Magento 中将 CSS 文件添加到 CUSTOM WIDGET?

标签 javascript css magento widget

所以,我有 自定义小部件 对于 Magento (如产品幻灯片)。

并想添加自定义 CSS/Javascript 到我的小部件。

我不想每次都显示(加载)CSS/JS 文件。

我只想在 PAGE 包含自定义小部件时加载 JS/CSS。

谢谢。

最佳答案

这取决于您是否已将小部件添加为小部件实例(CMS -> 小部件)或已将其包含在页面、静态 block 或电子邮件的内容区域中,如下所示:{{widget type="blabla/carousel"}} .

如果您已将其作为小部件实例包含在内,则可以像这样添加 Assets :

protected function _prepareLayout() {
    if ($head = $this->getLayout()->getBlock('head')) { 
        $head->addCss('myfile.css');
    }
    return parent::_prepareLayout();
}

..在您实现 Mage_Widget_Block_Interface 的 block 中.

(见 http://www.magentocommerce.com/boards/viewthread/212110/)

AFAIK,当您将小部件内联作为模板指令包含时,不可能添加 Assets 。这仅仅是因为 HTML 头已经输出了它的 HTML:模板指令(例如 {{widget}}{{var}} )在 block 的 _toHtml 阶段被注意到。在已经渲染的 block 上调用任何方法都不会产生任何效果。

另见 $processor->filter调用_toHtml Mage_Cms_Block_Page 中的方法
protected function _toHtml()
{
    /* @var $helper Mage_Cms_Helper_Data */
    $helper = Mage::helper('cms');
    $processor = $helper->getPageTemplateProcessor();
    $html = $processor->filter($this->getPage()->getContent());
    $html = $this->getMessagesBlock()->toHtml() . $html;
    return $html;
}

关于javascript - 如何在 Magento 中将 CSS 文件添加到 CUSTOM WIDGET?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14891335/

相关文章:

javascript - 如何在javascript中解析一个或多个括号之间的所有正则表达式

html - div高度取决于伪代码的内容div

.htaccess - 将 index.php 重定向到 .htaccess 中的根目录

css - 在 magento 中将 css 添加到仅来自 xml 的主页

javascript - 勾选 Javascript 中的独家项目

javascript - 使用 JSON 或 jQuery 在 Javascript 中创建 HTML 表

html - Bootstrap v4.0.3 Alpha Carousel 阴影

Mysql dump restore 报异常错误

javascript - 如何找到对象的键?

jquery - 覆盖不覆盖导航栏