magento - 在 javascript 中检索 Magento 商店的基本 url

标签 magento

从 JavaScript 内部确定 Magento 商店的基本 url 的最佳方法是什么?

我正在开发一个可重用的扩展程序,它需要知道 javascript 中商店的基本 url,以便执行一些 Ajax 调用。人们会认为像

这样的属性
Mage.baseUrl 

可以使用,但我找不到它。

另一种方法是将基本网址添加为一些内联 javascript,但我找不到任何有关如何以编程方式添加内联 javascript(仅外部 js 文件)而不更改模板的信息。

最佳答案

默认情况下,此信息不会(可靠、稳定)通过 Javascript 公开。您将需要通过添加到布局中的自定义 block 自行公开它。最简单的方法是

  1. 通过主题的 local.xml 文件添加 block

  2. 为上述 block 添加模板到您的主题

要通过 local.xml 文件将 block 添加到布局中,类似这样的内容就足够了

<default>
    <reference name="root">
        <block name="my_custom_js_block">
            <action method="setTemplate">
                <template>my_custom_js_block/extra-js.phtml</template>
            </action>
        </block>
    </reference>
</default>

然后将以下文件夹和文件添加到您的主题

app/design/frontend/default/your_theme/template/my_custom_js_block/
app/design/frontend/default/your_theme/template/my_custom_js_block/extra-js.phtml

此时,您已经有了一个将在每个页面上呈现的phtml模板文件。您可以添加任何您想要的 JavaScript 变量。我喜欢类似

的模式
#File: app/design/frontend/default/your_theme/template/my_custom_js_block/extra-js.phtml
<?php
    $h = Mage::helper('core');
    $info = new stdClass();
    $info->base_dir = Mage::getBaseDir();
?>
<script type="text/javascript">
    var my_custom_js_block_info = <?php echo $h->jsonEncode($info); ?>;
</script>

(未经测试,我的头顶代码,但应该可以工作)

关于magento - 在 javascript 中检索 Magento 商店的基本 url,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8936450/

相关文章:

magento - magento 中的 PDF 图像问题

mysql - 原始删除查询

Magento - 如何将分层导航添加到高级搜索?

magento - 从模板文件中显示 cms 页面

mysqldump 恢复错误 - 字段类型时间戳的默认值无效

Magento 添加到购物车并重定向到结账(产品页面 : on "Checkout" button, "Add to Cart"重定向到购物车)

magento - 将属性添加到集合的更好方法

php - 类别产品重新索引在 magento 1.8 中不起作用

mysql - Magento 高负载下抛出错误 : UNQ_SALES_FLAT_INVOICE_INCREMENT_ID

mysql - Magento - addOrderedQty 多个日期