【问题标题】:How to call a different database in Magento to fill a custom dropdown box?如何在 Magento 中调用不同的数据库来填充自定义下拉框?
【发布时间】:2013-06-25 22:02:32
【问题描述】:

我对 Magento 非常陌生,我不确定我想要的是否可行。我想做的是不要使用 Magento API,因为我们使用的是企业的多站点版本,而且速度非常慢。我目前使用的是 Magento 1.11 版。

我有一个以前的员工制作的自定义模块,我想为其添加一个下拉框,让它调用不同的数据库(然后是在 local.xml 文件中设置的那个)并填充框用于从不同数据库中获取所有品牌的 sql 命令。不同的数据库是 SQL 数据库而不是 MySQL 数据库。我知道连接工作正常,因为我已经测试过它,当我把

mssql_select_db('myDatabase', $link)
die('Something went wrong')

它崩溃了;然而,当我把代码像:

!mssql_select_db('myDatabase', $link)
die('Something went wrong')

它不会崩溃,它会正常继续。

我的 SQL 代码如下所示:

$getBrandNameQuery = "SELECT a.BrandID, a.[Name]
FROM mydatabase a
join Categories b on a.CategoryID = b.CategoryID
where a.CategoryID = 1

这会给我我想要的品牌。现在我的 php Magento 代码(虽然它只是给了我一个空白页)看起来像这样:

$fieldset->addField("get_brand", "select", array("label"=> $helper->__("Brands"),
"title"=>$helper->__("Brands"),
"name"=>"get_brand",
"required" => true,
/*"values"=> array(
"1" => $helper->__("Active"),
"0" => $helper->__("Inactive"),*/
"values"=> Mage::getSingleton("torus_mailinrebate_block_adminhtml_model_system_config_source_brands")->toOptionArray(),

而且它不会发回任何东西或填充投递箱。之前的值为 0 和 1 用于活动和非活动,但我将拥有大约 30 多个项目。

我获取数据的代码如下所示:

for ($i = 0; $i < mssql_num_rows($query); ++$i) {
$row = mssql_fetch_row(mssql_query($getBrandNameQuery));
$id = $row->getId();
$name = $row->getName();
$brandName[] = array('value'=>$id, 'label'=>$name);
}

mssql_free_result($query);
return $brandName;

请告诉我我需要从哪里开始,我们将不胜感激。 谢谢。

【问题讨论】:

  • 您的问题已在此处得到解答stackoverflow.com/questions/6821129/…
  • 我已经定义了一个到 magento 数据库的连接,但是这个新连接是用于非 magento 数据库的,并且是只读的。我喜欢您提供的链接,但是如何将我的第二个数据库添加到列表中以及在哪里?我根本不希望有任何写入这个新数据库的可能性。我正在使用 2 个单独的文件:C:\Program Files (x86)\Zend\Apache2\htdocs\magento2\app\code\local\Torus\MailInRebate\Block\Adminhtml\Rebate\Edit\Tab\Main.php 和 C :\Program Files (x86)\Zend\Apache2\htdocs\magento2\app\code\local\Torus\MailInRebate\Block\Adminhtml\Model\System\Config\Source\Brands.php

标签: php sql sql-server magento


【解决方案1】:

您可以通过以下 URL 了解如何创建新的数据库连接(您已经完成)以及如何正确访问它:

http://fishpig.co.uk/blog/create-an-external-database-connection-in-magento.html

【讨论】:

    猜你喜欢
    • 2012-05-05
    • 1970-01-01
    • 2012-03-28
    • 2019-01-07
    • 2020-11-09
    • 1970-01-01
    • 1970-01-01
    • 2020-09-22
    • 1970-01-01
    相关资源
    最近更新 更多