如何给magento修改原始价格和特价

如何给magento中的产品修改原始价格和特价,如果你的网站有1000个以上的产品,那么手工定义需要多少次点击呢?

点击打开产品,添加价格,原始价格、特价点击保存,总共要点击2到3次,那么1000个产品可以需要点击2000到 3000次才能给每个产品修改价格.

所以我研究了一下数据库,直接对数据库进行操作.找到表:

特价修改

UPdate `catalog_product_entity_decimal` set `value`=价格  where  `attribute_id` =65

原价修改

Update `catalog_product_entity_decimal` set `value`=价格  where `attribute_id`=64

我是将价格 修改为一个rand()函数,大家有什么更好的方法吗?

 

 

Magento随机生成产品

看这个地址:

app\code\core\Mage\Catalog\Block\Product\List\Random.php
这个模块是随机生成产品,会根据当前商店中的产品随机生成一部分:

模块调用写法:
<block type=”catalog/product_list_random” name=”product_random” template=”catalog/product/list.phtml”/>
或者:
下一个方法,控制产品显示数量
<reference name=”content”>
<block type=”catalog/product_list_random” name=”home.list” alias=”product_list” template=”catalog/product/random.phtml”>
<action method=”setProductsCount”><count>8</count></action>
<action method=”addPriceBlockType”>
<type>bundle</type>
<block>bundle/catalog_product_price</block>
<template>bundle/catalog/product/price.phtml</template>
</action>
</block>
</reference>
在xml中调用:

{{block type=”catalog/product_list_random” template=”catalog/product/list.phtml”}}

{{block type=”catalog/product_list” category_id=”” num_products=”8″ template=”catalog/random1.phtml”}}

{{block type=”catalog/product_list” category_id=”24,24,26″ num_products=”8″ template=”catalog/random1.phtml”}}

Magento安装sample演示数据后浏览前台出错的解决办法

如果要安装演示数据需要先安装演示数据库,然后再安装Magento,记得环境尽量接近程序包里面的php.ini.sample的设置要求,演示数据库管理员是admin,密码是123123,如果发现登陆不了,可以注册一个用户名后,将新注册的用户名密码字段值覆盖掉管理员的密码即可。

安装完magento后浏览前台时会出现下面的错误:

SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry ‘765’ for key ‘PRIMARY’
Trace:
#0 C:\xampp\htdocs\okkare\lib\Zend\Db\Statement.php(283): Zend_Db_Statement_Pdo->_execute(Array)
#1 C:\xampp\htdocs\okkare\lib\Zend\Db\Adapter\Abstract.php(457): Zend_Db_Statement->execute(Array)
#2 C:\xampp\htdocs\okkare\lib\Zend\Db\Adapter\Pdo\Abstract.php(230): Zend_Db_Adapter_Abstract->query(’INSERT INTO `lo…’, Array)
#3 C:\xampp\htdocs\okkare\lib\Varien\Db\Adapter\Pdo\Mysql.php(258): Zend_Db_Adapter_Pdo_Abstract->query(’INSERT INTO `lo…’, Array)
#4 C:\xampp\htdocs\okkare\lib\Zend\Db\Adapter\Abstract.php(535): Varien_Db_Adapter_Pdo_Mysql->query(’INSERT INTO `lo…’, Array)
#5 C:\xampp\htdocs\okkare\app\code\core\Mage\Core\Model\Mysql4\Abstract.php(349): Zend_Db_Adapter_Abstract->insert(’log_visitor’, Array)
#6 C:\xampp\htdocs\okkare\app\code\core\Mage\Core\Model\Abstract.php(251): Mage_Core_Model_Mysql4_Abstract->save(Object(Mage_Log_Model_Visitor))
#7 C:\xampp\htdocs\okkare\app\code\core\Mage\Log\Model\Visitor.php(157): Mage_Core_Model_Abstract->save()
#8 C:\xampp\htdocs\okkare\app\code\core\Mage\Core\Model\App.php(1166): Mage_Log_Model_Visitor->initByRequest(Object(Varien_Event_Observer))
#9 C:\xampp\htdocs\okkare\app\Mage.php(301): Mage_Core_Model_App->dispatchEvent(’controller_acti…’, Array)
#10 C:\xampp\htdocs\okkare\app\code\core\Mage\Core\Controller\Varien\Action.php(410): Mage::dispatchEvent(’controller_acti…’, Array)
#11 C:\xampp\htdocs\okkare\app\code\core\Mage\Core\Controller\Front\Action.php(45): Mage_Core_Controller_Varien_Action->preDispatch()
#12 C:\xampp\htdocs\okkare\app\code\core\Mage\Core\Controller\Varien\Action.php(356): Mage_Core_Controller_Front_Action->preDispatch()
#13 C:\xampp\htdocs\okkare\app\code\core\Mage\Core\Controller\Varien\Router\Standard.php(163): Mage_Core_Controller_Varien_Action->dispatch(’index’)
#14 C:\xampp\htdocs\okkare\app\code\core\Mage\Core\Controller\Varien\Front.php(158): Mage_Core_Controller_Varien_Router_Standard->match(Object(Mage_Core_Controller_Request_Http))
#15 C:\xampp\htdocs\okkare\app\Mage.php(457): Mage_Core_Controller_Varien_Front->dispatch()
#16 C:\xampp\htdocs\okkare\index.php(52): Mage::run()
#17 {main}

这个问题很多人都有遇到,解决的办法很简单,到phpmyadmin中打开magento的数据库,选择所有的表,执行修复。到前台再刷新一次即Ok。

另外记得要在后台缓存管理中将产品目录缓存更新一下才能看到产品页。不然前台很多页面无法看到。

修改mangeto欢迎语,login/login out,根据登陆状态

如何设置magento欢迎语?转自互联网—感谢转此文章的朋友们:辛苦了!!!!
效果图:

进行下面操作前请先关闭magento的缓存,本例使用magento1.5版本的MAGENTO default模板,请将模板路径换到你所用的模板路径,其它版本可能略有不同。

1.我们为了达到目的,就先将这个login删了,打开你的模板文件包,如果是default模板,路径如下:app\design\frontend \base\default\layout\customer.xml (注意:你要打开你的模板文件夹中的layout\customer.xml)。

删除或者注释掉如下的代码
<reference name=”top.links”>
<action method=”addLink” translate=”label title” module=”customer”><label>Log In</label><url helper=”customer/getLoginUrl”/><title>Log In</title><prepare/><urlParams/><position>100</position></action>
</reference>

那么上图的login就删掉了。

2.下面我们来看下,如何改掉这个Default welcome msg!,我们从代码中将它删掉先,写个新的。

打开app\design\frontend\base\default\template\page\html\header.phtml (注意打开你的模板的这个文件)

找到如下代码

<p><?php echo $this->getWelcome()?></p>
替换成

<?php echo $this->getChildHtml(‘cool_welcome’) ?>
$this->getwelcome()这个删了,后台的 system->configuration->design->header中的Welcome Text设置便不管用了,所以你要是根据本教程修改,这个功能就给删了,当然,还有其它的办法让这个继续起作用,但是由于还要稍微复杂点,本讲就不讲了。

3.先在我们就在代码中删掉了原先的Default welcome msg!这句话,我们来写个我们自己的cool welcome

在app\design\frontend\base\default\template\page\html中新建文件 cool_welcome_login.phtml和cool_welcome_logout.phtml文件(注意我使用的是default模板,在你的模板中新建)

在cool_welcome_login.phtml中加入如下代码

<p>
<?php echo $this->__(‘Welcome!’) ?>, <a style=”display:inline” href=”<?php echo $this->getUrl(”)?>customer/account/login”><?php echo $this->__(‘Login’) ?></a> <?php echo $this->__(‘or’) ?> <a style=”display:inline” href=”<?php echo $this->getUrl(”)?>customer/account/create”><?php echo $this->__(‘Register here’) ?></a>
</p>

在cool_welcome_logout.phtml中加入如下代码

<p>
<?php echo $this->__(‘welcome’) ?> <?php echo Mage::getSingleton(‘customer/session’)->
</p>

4.我们回到我们步骤1中的文件customer.xml中,找到<customer_logged_in>与<customer_logged_out>两段代码,更新到如下内容

<customer_logged_in>
<reference name=”top.links”>
<action method=”addLink” translate=”label title” module=”customer”><label>Log Out</label><url helper=”customer/getLogoutUrl”/><title>Log Out</title><prepare/><urlParams/><position>100</position></action>
</reference>
<reference name=”header”>
<block type=”core/template” name=”welcome_logout” as=”cool_welcome” template=”page/html/cool_welcome_logout.phtml”/>
</reference>
</customer_logged_in>

<!–
Load this update on every page when customer is logged out
–>

<customer_logged_out>
<reference name=”header”>
<block type=”core/template” name=”welcome_logout” as=”cool_welcome” template=”page/html/cool_welcome_login.phtml”/>
</reference>
<remove name=”wishlist_sidebar”></remove>
<remove name=”reorder”></remove>
</customer_logged_out>

Magento产品页调用SKU、调用附加信息

Magento产品页有时需要把SKU号调出来,方法:

<?php echo $this->htmlEscape($_product->getSku()) ?>
Magento的产品属性,在你所用的Magento模板中:布局文件—catalog.xml中已经写进去了。你可以在product view中找到

<block type=”catalog/product_view_attributes” name=”product.attributes” as=”additional” template=”catalog/product/view/attributes.phtml”>
<action method=”addToParentGroup”><group>detailed_info</group></action>
</block>

现在只要在产品详细页(view.phtml)中想要的位置插入

<?php echo $this->getChildHtml(‘additional’) ?>

Magento免费模板

经过自己的整理我在网上收集起来的一些Magento免费模板,大家选择自己需要的使用吧。以后希望大家有好的模板拿出来好好分享。

名称:pet store (宠物商店)

作者:Template Monster

介绍:模板怪兽出品的免费magento模板,质量有保证,但除非你的网店也是用来卖宠物用品,不然  还是得自己动手做下修改。

适用版本:1.14

下载链接

 

名称:Magento Classic Theme

作者:Templates-Master

介绍:简洁,清爽,看起来很专业。除了缩略图显示的蓝色背景外,作者还准备了另外9种颜色背景的模板。

适用版本:1.3

预览链接

下载地址

 

名称:Everson Store

作者:Everson

介绍:很漂亮的时尚网店模板,用来做服装,鞋子或者内衣之类都不错。

预览

名称:Modern Theme

作者:Magento

介绍:这是magento官方出品的一个免费模板,只能通过Magento connect安装使用。

适用版本:1.14

预览链接

 

名称:Computer Store

作者:Template Monster

介绍:模板怪兽出品的免费magento模板,专门为电脑及外设网店设计,用来做数码产品也不错。

适用版本:1.16

预览地址


 

名称: iPhone Optimized Theme

 

介绍:名副其实的苹果系magento模板,为手机上网的用户提供快乐的浏览体验。该模板也只能通过Magento connect安装使用。

适用版本:1.3


 

名称: Inspire Blue

作者: OseTemplates

介绍:界面清爽,但似嫌简单粗糙。

预览


 

 

名称:Girly Store

作者: Webdevster

介绍:配色活泼但不浮躁,适合卖女孩用品的店主。

适用版本:1.2.xx

预览


 

名称:Electronics Store (电子产品商店)

作者: Ecommerce-Themes

介绍:黑白灰的冷色调搭配彩色的广告图,制造出时尚炫酷的风格,用来做电子产品网店再适合不过。

下载


 

名称:Basic Magento Template

作者: M-template

介绍:这个模板是对magento官方的modern模板做了少量修改而成的,颜色由原来的银灰为主变成了以红色为主。

预览


 

名称:Simple Blue

作者: SiamMagento

介绍:模板怪兽出品的免费magento模板,质量有保证,但除非你的网店也是用来卖宠物用品,不然  还是得自己动手做下修改。

适用版本:1.14

预览


 

名称:Blue skin

作者:Magento

介绍:magento官方出品的另一款模板,蓝色,换了logo可以直接使用,应用比较广泛。

预览


 

名称:Linen Theme

作者: MagThemes

介绍:界面简单,商品展示位比较突出,可以用作任何产品网店。

适用版本:1.3x

预览


 

名称:Refresh

作者: i3Internet

介绍:适合各种产品网店。

预览链接

Magento清除缓存的多种方法

Magento“刷新”缓存,实际在程序执行上是清除缓存(Cleaning Cache)。

1–如果你想在后台刷新缓存,很简单,去后台“System > Cache Management”,点击清除全部缓存,或者在列表中选择一项你想清除的缓存。在这里我主要讲的不是后台清除,而是命令行和程序的直接清除。

2–如果你想通过命令行清除缓存,你需要使用ssh链接你的服务器,打如下命令:

cd /where/your/mangento/root/var/cache
rm -rf *

3–如果你需要在你的程序中清除缓存,一般是在计划任务中或者其他任何地方需要用这个,请将下列代码加到你的程序中,很简单。

Mage::app()->cleanCache();

也可以这样写:

Mage::app()->getCache()->clean();

4–如果你的计划任务脚本不在Magento程序内部,是个外部的执行脚本,那么你可以这样写:

$magento_bootstrap= ‘/[YOUR MAGENTO PATH]/app/Mage.php’;
require_once $magento_bootstrap;
umask(0);
Mage::run();
Mage::app()->cleanCache();
Magento里的Mage类是个启动器类,在ZendFramwork中称作Bootstrap,是通向Magento的大门。祝你使用Magento愉快~

转自互联网:

给magento中的产品随机生成相关产品和交叉产品

如何给magento中的产品随机定义相关产品和交叉产品,推荐产品?如果你的网站有1000个以上的产品,那么手工定义需要多少次点击呢?

点击打开产品,点击相关产品,点击重围过滤器,点击要关联的产品2到5下,点击保存,总共要点击7到10次,那么1000个产品可以需要点击7000到 10000次才能给每个产品定义相关产品.还不算要切换到列表页去打开下一个产品.何况还要定义推荐品之类等.总之手工是比较麻烦的.

所以花了一点之间研究了一下数据库,当然你可以直接使用magento的API.不过我觉得那个有点慢.还是直接对数据库进行操作.

catalog_product_link

link_id 自增

product_id 产品ID

linked_product_id 与之关联的产品ID

link_type_id 关联类型,如相关产品或推荐产品,交叉产品

INSERT INTO `catalog_product_link` VALUES (NULL,$pid,$ppid,1) //相关产品的记录 1表示”相关产品”,4表示”upsell产品”

catalog_product_link_type

link_type_id 关联类型ID

code 关联代码标识 如, relation, bundle , super , up_sell, cross_sell

catalog_product_link_attribute_int

value_id 自增

product_link_attribute_id 属性ID号,可以有很多的属性,默认好像只有qty,position,我们没用上.但是好像也需要默认值

link_id 哪个关联关系的属性值

value 属性值,例,position用来确定某个magento产品关联产品的排序位置

INSERT INTO `catalog_product_link_attribute_int` VALUES (NULL, 2, $cplaid, 0)