Magento - 从管理文件链接到前端皮肤js文件

时间:2010-12-14 20:53:51

标签: magento

我已经在我的前端皮肤文件中使用了jQuery。我现在在admin phtml文件中添加了一些额外的功能,还需要使用jQuery。我不想要包含它两次,但我怎么能动态链接到现有的jQuery文件,假设我不知道前端使用了什么主题包名(因为很明显可以改变,所以我不喜欢不想硬编码吗?

例如,我试过这个,但它给了我管理主题包名,而不是前端包:

<?php
    // Get the package name
    $configData = Mage::getStoreConfig('design');
    $package = $configData['package']['name'];
?>

任何?

2 个答案:

答案 0 :(得分:1)

好的,这似乎有效。我可以直接访问数据库,查找&#34; design / package / name&#34;在core_config_data表中,然后使用以下内容构建js文件的URL:

<?php // Get the current theme being used, so we can build the url link to our jQuery file
$connection = Mage::getSingleton('core/resource')->getConnection('core_read');
$tablename = Mage::getSingleton('core/resource')->getTableName('core_config_data');
$results = $connection->fetchAll("SELECT * FROM $tablename WHERE path='design/package/name';");
foreach($results as $row) { $theme = $row['value']; };
?>
<script type="text/javascript" src="<?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_SKIN).'frontend/'.$theme; ?>/default/js/jquery.min.js"></script>

答案 1 :(得分:0)

对我来说有助于将$ storeId设置为1而不是0

$package = Mage::getStoreConfig('design/package/name', 1);
$theme   = Mage::getStoreConfig('design/theme/default', 1);