跟随Alan Storm的教程,我在调用createEntityTables()方法时遇到了一些问题.我的脚本是这样的:
$installer->createEntityTables(
$this->getTable('complexworld/eavblogpost')
);
Run Code Online (Sandbox Code Playgroud)
我已经解决了与BLOB/TEXT Mysql错误相关的问题,但是发生了另一个问题.我创建的表有双重前缀("mgt_"是前缀),
mgt_mgt_eavblog_posts
mgt_mgt_eavblog_posts_char
mgt_mgt_eavblog_posts_datetime
mgt_mgt_eavblog_posts_decimal
mgt_mgt_eavblog_posts_int
mgt_mgt_eavblog_posts_text
mgt_mgt_eavblog_posts_varchar
Run Code Online (Sandbox Code Playgroud)
试图挖掘createEntityTables()方法,而我打印$ this-> getTable($ baseTableName),
if (!$isNoCreateMainTable) {
/**
* Create table main eav table
*/
echo $this->getTable($baseTableName);
exit;
$connection = $this->getConnection();
Run Code Online (Sandbox Code Playgroud)
我在屏幕上显示"mgt_mgt_eavblog_posts",这意味着核心方法可能为表名添加了额外的前缀.知道这里出了什么问题吗?我非常感谢您的帮助!
我在http://www.harmonics.co.uk有一个Magento商店,我在产品上有PinIt按钮.
问题是当您单击它时,即使URL正确,它也不会从查询字符串中的media属性中获取图像.
我正在使用以下代码生成我的图像和产品页面上的PinIt按钮:
<?php
$_helper = $this->helper('catalog/output');
$_product = $this->getProduct();
$image = $this->helper('catalog/image')->init($_product, $_product->getImageUrl(), 'image')->resize(150, 150);
?>
// PinIt Anchor
<a class="pinterest" href="http://pinterest.com/pin/create/button/?url=<?php echo $_product->getProductUrl(); ?>&media=<?php echo $image; ?>&description=<?php echo $_product->getName(); ?>" title="Share on Pinterest"> </a>
Run Code Online (Sandbox Code Playgroud)
它曾经工作,但我认为Pinterest改变了按钮的工作方式,但我看不出如何.生成的代码看起来几乎相同,除了生成的URL替换:%3A和/%2F.
我已经尝试过替换字符串,但这也不起作用.任何想法的人.干杯.
如何在Magento form-mini和高级搜索中按类别搜索?
a:4:{i:0;s:78:"The PDO extension is required for this adapter but the extension is not loaded";i:1;s:1536:"#0 /home/fnmvhnvj/public_html/lib/Zend/Db/Adapter/Abstract.php(247): Zend_Db_Adapter_Pdo_Abstract->setFetchMode(2)
#1 /home/fnmvhnvj/public_html/app/code/core/Mage/Core/Model/Resource.php(165): Zend_Db_Adapter_Abstract->__construct(Array)
#2 /home/fnmvhnvj/public_html/app/code/core/Mage/Core/Model/Resource.php(110): Mage_Core_Model_Resource->_newConnection('pdo_mysql', Object(Mage_Core_Model_Config_Element))
#3 /home/fnmvhnvj/public_html/app/code/core/Mage/Core/Model/Resource/Db/Abstract.php(320): Mage_Core_Model_Resource->getConnection('core_write')
#4 /home/fnmvhnvj/public_html/app/code/core/Mage/Core/Model/Resource/Db/Abstract.php(350): Mage_Core_Model_Resource_Db_Abstract->_getConnection('write')
#5 /home/fnmvhnvj/public_html/app/code/core/Mage/Core/Model/Resource/Db/Abstract.php(335): Mage_Core_Model_Resource_Db_Abstract->_getWriteAdapter()
#6 /home/fnmvhnvj/public_html/app/code/core/Mage/Core/Model/Resource/Config.php(55): Mage_Core_Model_Resource_Db_Abstract->_getReadAdapter()
#7 /home/fnmvhnvj/public_html/app/code/core/Mage/Core/Model/Config.php(354): Mage_Core_Model_Resource_Config->loadToXml(Object(Mage_Core_Model_Config))
#8 /home/fnmvhnvj/public_html/app/code/core/Mage/Core/Model/Config.php(260): Mage_Core_Model_Config->loadDb()
#9 /home/fnmvhnvj/public_html/app/code/core/Mage/Core/Model/App.php(270): Mage_Core_Model_Config->init(Array)
#10 /home/fnmvhnvj/public_html/app/Mage.php(640): Mage_Core_Model_App->init('', 'store', Array)
#11 /home/fnmvhnvj/public_html/index.php(80): Mage::init()
#12 {main}";s:3:"url";s:1:"/";s:11:"script_name";s:10:"/index.php";}
Run Code Online (Sandbox Code Playgroud) 出于安全原因,我在更改db密码时出现此错误.我还更新了我的/app/etc/local.xml
There has been an error processing your request
SQLSTATE[28000] [1045] Access denied for user 'xx'@'example.com' (using password: YES)
Trace:
#0 /var/www/vhosts/example.com/xxx/lib/Zend/Db/Adapter/Pdo/Mysql.php(96): Zend_Db_Adapter_Pdo_Abstract->_connect()
#1 /var/www/vhosts/example.com/xxx/lib/Varien/Db/Adapter/Pdo/Mysql.php(313): Zend_Db_Adapter_Pdo_Mysql->_connect()
#2 /var/www/vhosts/example.com/xxx/lib/Zend/Db/Adapter/Abstract.php(459): Varien_Db_Adapter_Pdo_Mysql->_connect()
#3 /var/www/vhosts/example.com/xxx/lib/Zend/Db/Adapter/Pdo/Abstract.php(238): Zend_Db_Adapter_Abstract->query('SET NAMES utf8', Array)
#4 /var/www/vhosts/example.com/xxx/lib/Varien/Db/Adapter/Pdo/Mysql.php(419): Zend_Db_Adapter_Pdo_Abstract->query('SET NAMES utf8', Array)
#5 /var/www/vhosts/example.com/xxx/app/code/core/Mage/Core/Model/Resource.php(169): Varien_Db_Adapter_Pdo_Mysql->query('SET NAMES utf8')
#6 /var/www/vhosts/example.com/xxx/app/code/core/Mage/Core/Model/Resource.php(110): Mage_Core_Model_Resource->_newConnection('pdo_mysql', Object(Mage_Core_Model_Config_Element))
#7 /var/www/vhosts/example.com/xxx/app/code/core/Mage/Core/Model/Resource/Db/Abstract.php(320): Mage_Core_Model_Resource->getConnection('core_write')
#8 /var/www/vhosts/example.com/xxx/app/code/core/Mage/Core/Model/Resource/Db/Abstract.php(350): Mage_Core_Model_Resource_Db_Abstract->_getConnection('write')
#9 /var/www/vhosts/example.com/xxx/app/code/core/Mage/Core/Model/Resource/Db/Abstract.php(335): Mage_Core_Model_Resource_Db_Abstract->_getWriteAdapter()
#10 /var/www/vhosts/example.com/xxx/app/code/core/Mage/Core/Model/Resource/Db/Abstract.php(360): Mage_Core_Model_Resource_Db_Abstract->_getReadAdapter()
#11 /var/www/vhosts/example.com/xxx/app/code/core/Mage/Core/Model/Resource/Db/Collection/Abstract.php(134): Mage_Core_Model_Resource_Db_Abstract->getReadConnection()
#12 /var/www/vhosts/example.com/xxx/app/code/core/Mage/Core/Model/Config.php(1348): Mage_Core_Model_Resource_Db_Collection_Abstract->__construct(Object(Mage_Core_Model_Resource_Website))
#13 /var/www/vhosts/example.com/xxx/app/code/core/Mage/Core/Model/Config.php(1380): Mage_Core_Model_Config->getModelInstance('core_resource/w...', Object(Mage_Core_Model_Resource_Website))
#14 /var/www/vhosts/example.com/xxx/app/Mage.php(490): Mage_Core_Model_Config->getResourceModelInstance('core/website_co...', Object(Mage_Core_Model_Resource_Website))
#15 /var/www/vhosts/example.com/xxx/app/code/core/Mage/Core/Model/Abstract.php(208): Mage::getResourceModel('core/website_co...', Object(Mage_Core_Model_Resource_Website)) …Run Code Online (Sandbox Code Playgroud) 我有一个自定义的info.phtml文件,如果放在app\design\frontend\default\default\template\sales\order\info.phtml中,该文件已经可以使用了.
但是,我不想使用这种方法,因为这是模块的一部分,因此如果稍后其他人覆盖此文件,它将制动功能.我读过有关使用自定义块的内容,但我尝试了许多不同的方法而没有成功.
我想根据Magento中的country_of_manufacture属性打印出产品的原产国.当我执行以下操作时:
<?php echo $_product->getCountryOfManufacture(); ?>
Run Code Online (Sandbox Code Playgroud)
它只会打印国家/地区代码(例如:美国或IT),而不是完整的国家/地区名称.如何获取它以便显示完整的国家/地区名称,就像我在编辑产品时选择它一样?
我正在创建一个模块(我的第一个模块,没有教程)并且收到了错误
'无法检索实体配置'
在环顾各种网站并尝试不同的选择后,我停下来了.我假设完整的消息:
Error in file: "/Users/myname/Sites/magentotest/app/code/local/Ps/Pref/sql/pref_setup/mysql4-install-0.1.0.php" - Can't retrieve entity config: pref/prefNewsSignUp
Run Code Online (Sandbox Code Playgroud)
问题出在我的config.xml上,我需要在某个地方添加一个实体节点,其中包含与mysql4有关的内容.....但我需要添加的内容以及我需要放在该节点中的内容仍然是一个谜我此刻 我的配置文件是
<global>
<model>
<pref>
<class>Ps_Pref_Models</class>
</pref>
</model>
<resources>
<pref_setup>
<setup>
<module>Ps_Pref</module>
<class>Ps_Pref_Models_Resource_Setup</class>
</setup>
</pref_setup>
</resources>
</global>
Run Code Online (Sandbox Code Playgroud)
============================== 编辑 =================== =============
我现在回到教程阶段,试着去理解我哪里出错了.这个Alan Storm教程 看起来非常类似于我的目标,但我仍然遇到了"无法检索实体配置"的相同问题(我已经完成了所有我的配置和var_dumped在IndexController中的各种选项,但是无法获得传递了这个问题,这对我没有任何意义)我留下了一些我认为有用的var_dump以及它们返回的内容(我希望这个编辑不会太混乱)
文件结构
+诗
- + Prefcentre
- +型号
--- + Mysql4
---- Preferences.php
--- Preferences.php
- +控制器
--- IndexController.php
- +等
--- config.xml中
PS/Prefcentre /型号/ Mysql4 /首选项
class Ps_Prefcentre_Model_Mysql4_Preferences
extends Mage_Core_Model_Mysql4_Abstract
{
protected function _construct()
{
$this->_init('prefcentre/preferences', 'prefcentre_id');
}
}
Run Code Online (Sandbox Code Playgroud)
PS/Prefcentre /型号/首选项
class …Run Code Online (Sandbox Code Playgroud) 我有一个现场和测试Magento商店.我从Magento商店的WSDL生成一个MagentoApi C#类.
我可以通过我的API类更新产品数量而不会出现任何问题.我现在正在尝试Stock Availability从API 设置字段,但它不会改变它的值.
[Test]
public void UpdateIsInStockField()
{
MagentoStoreConfig storeConfig = GetTestMagentoStore();
var magentoApiRepo = new MagentoApiRepository(storeConfig);
catalogInventoryStockItemEntity magentoProduct = magentoApiRepo.GetProductFromSku(new[] { "SKU-123456" });
var productUpdated = new catalogInventoryStockItemUpdateEntity
{
is_in_stock = 0,
manage_stock = 0,
use_config_manage_stock = 0,
qty = new Random().Next(50, 100).ToString(CultureInfo.InvariantCulture)
};
magentoApiRepo.UpdateStockQuantity(magentoProduct.product_id, productUpdated);
}
Run Code Online (Sandbox Code Playgroud)
从Magento商店的管理部分,产品的数量值会发生变化,但Stock Availability价值未发生变化.
我正在设置manage_stock并use_config_manage_stock按照Magento API参考指南中的说明进行操作.
好吧我正在尝试调试我的布局,看看为什么它在IE8及以下都很时髦..当我开始观察代码时,我意识到内部元素的所有包装元素都是自我关闭的.
<section id="top-bar"/>
<div class="container">
<div class="row">
<div class="span12">
<p>ELEMENTS</p>
</div>
</div>
</div>
<div class="rivets"/>
</section/>
Run Code Online (Sandbox Code Playgroud)
我的样式应用于CSS中的#top-bar:
#top-bar {
background: #146c7e url('../images/top-bar-bg.png') repeat top left;
color: #fff;
}
Run Code Online (Sandbox Code Playgroud)
因此在IE8及以下版本中,该样式未被应用.这绝对令人沮丧.这只发生在Magento的我身上.如果内容不是直接在他们内部,我自己做的所有其他布局都不会自我封闭.
好的人以为我是自己添加那些结束标签,但这是我的代码:
<section id="top-bar">
<div class="container">
<div class="row">
<div class="span7">
<a href="#" class="tab">Shoppe</a>
<a href="#" class="tab">Local</a>
<a href="#" class="tab">Half Baked</a>
</div>
<div class="span5 mag-links">
<?php echo $this->getChildHtml('topLinks') ?>
</div>
</div>
</div>
<div class="rivets"></div>
</section>
Run Code Online (Sandbox Code Playgroud)
IE8正在自动添加这些标签.我无法删除它们..因此代码在Chrome,Firefox,IE9及以上版本中运行良好..但IE8及以下版本,它启动了自动关闭的东西.我以前从未遇到过这个问题.