Magento
Magento常用SQL语句实用篇
如果网站更换域名或base_url网址后,导致本地测试打不开网站,可以执行以下语句设为默认值{{base_url}}
//网站默认URL
1
|
UPDATE
`
core_config_data
`
SET
`
value
`
=
'{{base_url}}'
WHERE
`
path
`
=
'web/unsecure/base_url'
;
|
//网站安全URL
1
|
UPDATE
`
core_config_data
`
SET
`
value
`
=
'{{base_url}}'
WHERE
`
path
`
=
'web/unsecure/base_url'
;
|
以下所有命令仅供参考,不同版本,不同时间,可能数据略有不同,慎用!
1. 导出导入 Magento 所有分类和产品
分类和产品是存放在以 catalog 开头的所有表中,对这组表进行导出导入即可实现此功能。
导入分类产品的 SQL 文件前注意:
在首行加入:
1
|
SET
FOREIGN_KEY_CHECKS
=
0
;
|
在末行加入:
1
|
SET
FOREIGN_KEY_CHECKS
=
1
;
|
原因是 Magento 使用 Innodb 存储引擎。
2. 批量修改分类的 Display Settings ——> Is Anchor 值为 No
1
|
UPDATE
`
catalog_category_entity_int
`
set
value
=
0
WHERE
value
=
1
AND
attribute_id
=
120
;
|
3. 批量处理所有 exclude 状态的图片
1
|
UPDATE
`
catalog_product_entity_media_gallery_value
`
SET
disabled
=
0
WHERE
disabled
=
1
;
|
4. 批量调整所有产品的价格 ( 参考命令在 1.3 下通过 )
1
|
UPDATE
`
catalog_product_entity_decimal
`
SET
value
=
round
(
value*
1.45
)
WHERE
attribute_id
=
99
;
|
执行完后,需要到缓存管理里刷新:Layered Navigation Indices ,即可同步数据库里的关联表。
5. 清空邮件队列
1
2
3
|
TRUNCATE
TABLE
`
newsletter_queue
`
;
TRUNCATE
TABLE
`
newsletter_queue_link
`
;
TRUNCATE
TABLE
`
newsletter_queue_store_link
`
;
|
注意:同时向上万顾客发邮件时,不要在后台查看邮件队列,不然服务器压力会很大,待邮件发完之后,记着清空邮件队列,这样在后台进入邮件队列就不会大量消耗服务器资源了。
6. Magento 转移站后,经常会出现下面这个提示,运行一下下面的SQL命令即可恢复正常。
错误提示:
Notice: Undefined index: 0 app/code/core/Mage/Core/Model/Mysql4/Config.php on line 92
SET FOREIGN_KEY_CHECKS=0;
1
2
3
4
5
|
update
`
core_store
`
set
store_id
=
0
where
code
=
'admin'
;
update
`
core_store_group
`
set
group_id
=
0
where
name
=
'Default'
;
update
`
core_website
`
set
website_id
=
0
where
code
=
'admin'
;
update
`
customer_group
`
set
customer_group_id
=
0
where
customer_group_code
=
'NOT LOGGED IN'
;
SET
FOREIGN_KEY_CHECKS
=
1
;
|
不过要明白,这个错误是使用了第三方数据库备份工具导致的,Magento 自带的备份功能是不会出现这个错误的。
7. 根据产品的 SKU 批量将产品自定义选项设为非必填:
1
|
UPDATE
`
catalog_product_option
`
SET
is_require
=
0
WHERE
product_id
IN
(
SELECT
entity_id
FROM
`
catalog_product_entity
`
WHERE
sku
LIKE
'SKU %'
)
;
|
8. 关闭/开启 所有缺货产品
1
2
3
|
SET
FOREIGN_KEY_CHECKS
=
0
;
UPDATE
`
catalog_product_entity_int
`
SET
value
=
2
WHERE
attribute_id
=
80
and
entity_idIN
(
SELECT
product_id
FROM
`
cataloginventory_stock_status
`
WHERE
stock_status
=
0
)
;
SET
FOREIGN_KEY_CHECKS
=
1
;
|
其它说明:value=2 为关闭,1为开启,attribute_id 对应不同版本的产品禁用项,最后执行完命令需要重建分类索引。
9. 取消所有问题邮件订阅
1
|
UPDATE
`
newsletter_subscriber
`
SET
subscriber_status
=
3
WHERE
subscriber_id
IN
(
SELECT
subscriber_id
FROM
`
newsletter_problem
`
)
;
|
10. 清除产品与分类的描述与 Meta
重置所有产品short description
1
|
UPDATE
`
catalog_product_entity_text
`
SET
value
=
'Short Description'
WHERE
attribute_id
=
506
;
|
清除所有产品Meta
1
2
|
UPDATE
`
catalog_product_entity_text
`
SET
value
=
''
WHERE
attribute_id
=
97
OR
attribute_id
=
104
;
UPDATE
`
catalog_product_entity_varchar
`
SET
value
=
''
WHERE
attribute_id
=
103
OR
attribute_id
=
105
;
|
清除所有产品URL
1
|
UPDATE
`
catalog_product_entity_varchar
`
SET
value
=
''
WHERE
attribute_id
=
481
;
|
清除所有分类描述:
1
|
UPDATE
`
catalog_category_entity_text
`
SET
value
=
''
WHERE
attribute_id
=
112
OR
attribute_id
=
115
OR
attribute_id
=
116
;
|
清除所有分类URL
1
|
UPDATE
`
catalog_category_entity_varchar
`
SET
value
=
''
WHERE
attribute_id
=
479
;
|
11. Magento 数据库清理
安全模式:清理日常数据库的无用记录
1
2
3
4
|
TRUNCATE
TABLE
`
log_visitor
`
;
TRUNCATE
TABLE
`
log_visitor_info
`
;
TRUNCATE
TABLE
`
log_url
`
;
TRUNCATE
TABLE
`
log_url_info
`
;
|
干净模式:清理数据库的无用记录
1
2
3
4
5
6
7
|
TRUNCATE
`
log_visitor
`
;
TRUNCATE
`
log_url_info
`
;
TRUNCATE
`
log_visitor_info
`
;
TRUNCATE
`
dataflow_batch_import
`
;
TRUNCATE
`
log_url
`
;
TRUNCATE
`
report_event
`
;
TRUNCATE
`
log_visitor_online
`
;
|
备注:如果是转移网站,URL 重写表 core_url_rewrite 也可清空,转完站重建 URL 即可。
12. 批量修改 SKU、Meta、Name 等字段里的部份词
1
2
3
|
UPDATE
`
catalog_product_entity
`
SET
sku
=
replace
(
sku
,
'oldskuw'
,
'newskuw'
)
WHERE
sku
LIKE
'%oldskuw%'
;
UPDATE
`
catalog_product_entity_text
`
SET
value
=
replace
(
value
,
'oldmetaw'
,
'newmetaw'
)
WHERE
value
LIKE
'%oldmetaw%'
;
UPDATE
`
catalog_product_entity_varchar
`
SET
value
=
replace
(
value
,
'oldnamew'
,
'newnamew'
)
WHERE
value
LIKE
'%oldnamew%'
;
|
13. 清站相关提示
能在后台清理的就在后台清理,直接对数据库操作有造成网站出错的可能性。其他辅助命令如下:
清除订单命令:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
TRUNCATE
`
sales_flat_invoice
`
;
TRUNCATE
`
sales_flat_invoice_grid
`
;
TRUNCATE
`
sales_flat_invoice_item
`
;
TRUNCATE
`
sales_flat_order
`
;
TRUNCATE
`
sales_flat_order_address
`
;
TRUNCATE
`
sales_flat_order_grid
`
;
TRUNCATE
`
sales_flat_order_item
`
;
TRUNCATE
`
sales_flat_order_payment
`
;
TRUNCATE
`
sales_flat_order_status_history
`
;
TRUNCATE
`
sales_flat_quote
`
;
TRUNCATE
`
sales_flat_quote_address
`
;
TRUNCATE
`
sales_flat_quote_address_item
`
;
TRUNCATE
`
sales_flat_quote_item
`
;
TRUNCATE
`
sales_flat_quote_item_option
`
;
TRUNCATE
`
sales_flat_quote_payment
`
;
TRUNCATE
`
sales_flat_quote_shipping_rate
`
;
|
清除其它日志:
1
2
3
4
5
6
7
|
TRUNCATE
`
log_url_info
`
;
TRUNCATE
`
log_visitor_info
`
;
TRUNCATE
`
log_url
`
;
TRUNCATE
`
log_visitor
`
;
TRUNCATE
`
core_url_rewrite
`
;
TRUNCATE
`
report_event
`
;
TRUNCATE
`
report_viewed_product_index
`
;
|
14. 重置 Magento 所有 ID 统计数(如订单编码、发票编码等)
1
2
|
TRUNCATE
`
eav_entity_store
`
;
ALTER
TABLE
`
eav_entity_store
`
AUTO_INCREMENT
=
1
;
|
15. 批量调整指定产品的价格
1
2
3
|
create
table
xytmptb
SELECT
entity_id
,
value
FROM
`
catalog_product_entity_varchar
`
WHERE
(
value
LIKE
'%Boot%'
OR
value
LIKE
'%Shoes%'
)
AND
attribute_id
=
60
;
UPDATE
`
catalog_product_entity_decimal
`
SET
value
=
value
+
10
WHERE
entity_id
IN
(
SELECT
entity_id
FROM
`
xytmptb
`
)
AND
attribute_id
=
64
;
drop
table
xytmptb
;
|
最后别忘了重建价格索引!
16. 分类与产品的反向开关
1
2
|
UPDATE
`
catalog_category_entity_int
`
SET
value
=
if
(
value
=
0
,
1
,
0
)
WHERE
attribute_id
=
119
;
UPDATE
`
catalog_product_entity_int
`
SET
value
=
if
(
value
=
1
,
2
,
1
)
WHERE
attribute_id
=
273
;
|
运行一下,开的关了,关的开了,再运一下反之,最后别忘了重建索引!
17. 批量禁用产品 —— 数据库操作
1
2
3
|
CREATE
TABLE
XYTMPTB
SELECT
entity_id
,
value
FROM
`
catalog_product_entity_varchar
`
WHERE
value
LIKE
'affliction%'
AND
attribute_id
=
96
;
UPDATE
`
catalog_product_entity_int
`
SET
value
=
1
WHERE
attribute_id
=
273
AND
entity_id
IN
(
SELECT
entity_id
FROM
`
XYTMPTB
`
)
;
DROP
TABLE
XYTMPTB
;
|
别忘了重建索引!
18. 账户之间转移订单
1
|
UPDATE
`
sales_order
`
SET
`
customer_id
`
=
newuserid
WHERE
`
customer_id
`
=
olduserid
;
|
Magento订单显示产品图片的方法
在Magento的订单管理中,默认是没有显示产品图片的,这样使用起来会有一点点的不方便,要如何才能使得Magento订单中显示产品图片呢,很简单,只要小小的改动就可以了。
编辑
1
|
/
app
/
design
/
adminhtml
/
default
/
default
/
template
/
sales
/
order
/
view
/
items
/
renderer
/
default
.
phtml
|
找到下面这行代码
1
|
<?php
echo
$this
->
getColumnHtml
(
$_item
,
'name'
)
?>
|
然后在这行代码之前添加如下代码就可以了。
1
2
3
4
5
6
7
8
9
10
11
|
<
!
--
?
php
<
br
/
--
>
$imageCollection
=
Mage::
getModel
(
'catalog/product'
)
-
&
gt
;
load
(
$_item
[
'product_id'
]
)
;
$i
=
0
;
foreach
(
$imageCollection
-
&
gt
;
getMediaGalleryImages
(
)
as
$_image
)
{
if
(
$i
==
0
)
{
?
&
gt
;
&
nbsp
;
<
a
style
=
"float: left; margin-right: 10px;"
onclick
=
"Popup=window.open('<?php echo $this->helper('catalog/image')->init($imageCollection, 'image', $_image->getFile())->resize(600); ?>','Popup','toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=no, width=620,height=700,left=430,top=23'); return false;"
href
=
"#"
>
<
img
title
=
"<?php echo $this->htmlEscape($_image->getLabel()) ?>"
alt
=
"<?php echo $this->htmlEscape($_image->getLabel()) ?>"
src
=
"<?php echo $this->helper('catalog/image')->init($imageCollection, 'thumbnail', $_image->getFile())->resize(100); ?>"
/
>
<
/
a
>
<
!
--
?
php
}
$i
++
;
}
<
br
/
--
>
?
&
gt
;
|
如何删除Magento页脚链接
在安装好Magento之后,页脚会有两部分链接需要修改如图:
上面的一行About us和Customer Service这部分链接可以在后台的CMS/Static Blocks的Footer link直接修改,这个没有什么好讲的,关键是下面的这部分链接要如何删除呢?我也是尝试了好久,终于找到了删除Magento页脚默认链接的方法。
编辑/app/design/frontend/base/default/layout/page.xml文件
找到下面的内容,删除或者注销掉就可以了,大概是104行
1
|
<
block
type
=
"page/template_links"
name
=
"footer_links"
as
=
"footer_links"
template
=
"page/template/links.phtml"
/
>
|
现在试试看,是不是OK了?
Magento侧栏显示产品分类方法
这篇文章主要是介绍如何在Magento侧栏包括首页侧栏显示产品分类的方法。在安装好Magento以后,一般除了在网站导航栏显示产品分类以外,我们常用的方法是直接在首页侧栏显示产品分类,这是很多Magento新手会遇到的一个比较棘手的问题。下面就详细介绍如何操作。
第一步,在app/design/frontend/base/default/template/catalog/navigation新建一个vert_nav.phtml in 如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
<
div
class
=
"vertical-nav-container box base-mini"
>
<
div
class
=
"vertical-nav"
>
<
!
--
<
div
class
=
"head"
>
--
>
<
!
--
<
h4
>
--
>
<
div
class
=
"block block-cart"
>
<
div
class
=
"block-title"
>
<
strong
>
<
span
>
<?php
echo
$this
->
__
(
'Categories'
)
?>
<
/
span
>
<
/
strong
>
<
/
div
>
<
!
--
End
block
block
-
cart
--
>
<
div
class
=
"block-content"
>
<
!
--
<
/
h4
>
--
>
<
!
--
<
/
div
>
--
>
<
!
--
End
Of
head
--
>
<
h4
class
=
"no-display"
>
<?php
echo
$this
->
__
(
'Category Navigation:'
)
?>
<
/
h4
>
<
ul
id
=
"nav_vert"
>
<?php
foreach
(
$this
->
getStoreCategories
(
)
as
$_category
)
:
?>
<?php
echo
$this
->
drawItem
(
$_category
)
?>
<?php
endforeach
?>
<
/
ul
>
<
/
div
>
<
/
div
>
<
!
--
End
Of
vertical
-
nav
--
>
<?php
echo
$this
->
getChildHtml
(
'topLeftLinks'
)
?>
<
/
div
>
<
/
div
>
<
!
--
End
Of
vertical
-
nav
-
container
box
base
-
mini
--
>
|
第二步,修改你的app/design/frontend/default/modern/layout/catalog.xml文件,在合适位置插入以下代码,这个要根据自己的主题情况去修改:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<
!
--
Category
default
layout
--
>
<
catalog_category_default
translate
=
"label"
>
<
label
>
Catalog
Category
(
Non
-
Anchor
)
<
/
label
>
<
reference
name
=
"root"
>
<
action
method
=
"setTemplate"
>
<
template
>
page
/
2columns
-
left
.
phtml
<
/
template
>
<
/
action
>
<
/
reference
>
<
reference
name
=
"left"
>
<
!
--
<
block
type
=
"catalog/navigation"
name
=
"catalog.leftnav"
after
=
"currency"
template
=
"catalog/navigation/left.phtml"
/
>
--
>
<
block
type
=
"catalog/navigation"
before
=
"-"
name
=
"catalog.vertnav"
template
=
"catalog/navigation/vert_nav.phtml"
/
>
<
/
reference
>
|
第三步,修改相对应的CSS,在skin/frontend/default/modern/css/widgets.css,也可以直接把下面的CSS添加到你的skin.css文件内
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
|
/**********************************************Vertical Nav ****************************************/
#nav { float:left; margin-top:15px; margin-left:15px; font-size:1.1em; }
/************** ALL LEVELS *************/
/* Style consistent throughout all nav levels */
#nav li { position:relative;text-transform:uppercase; text-align:left; }
#nav li.over { z-index:999; }
#nav a,
#nav a:hover { display:block; line-height:1.3em; text-decoration:none; }
#nav span { display:block; cursor:pointer; white-space:nowrap; }
#nav li ul span {white-space:normal; }
/************ 0 LEVEL ***************/
#nav li { float:left; margin:1px 8px 11px 1px; padding:3px 8px; }
#nav li.active a { color:#444; }
#nav a { float:left; background:url(../images/nav_top_level_arrow.gif) no-repeat 100% 50%; padding-right:11px; color:#444; font-weight:bold; }
#nav li.over a,
#nav a:hover { color:#444; }
#nav li.over,
#nav li.active { margin:0 7px 10px 0; border:1px solid #bbb; background:#ececec; }
/************ 1ST LEVEL ************/
#nav ul li,
#nav ul li.active,
#nav ul li.over { float:none; border:none; background:none; margin:0; padding:0; padding-bottom:1px; text-transform:none; }
#nav ul li.parent { background:url(../images/nav_parent_arrow.gif) no-repeat 100% 50%; }
#nav ul li.last { padding-bottom:0; }
#nav ul li.active { margin:0; border:0; background:none; }
#nav ul a,
#nav ul a:hover { float:none; padding:0; background:none; }
#nav ul li a { font-weight:normal !important; }
/************ 2ND LEVEL ************/
#nav ul { position:absolute; width:15em; top:22px; left:-10000px; border:1px solid #bbb; border-bottom:2px solid #999; padding:3px 8px; background:#fcfcfc; font-size:11px; }
/* Show menu */
#nav li.over > ul { left:-1px; }
#nav li.over > ul li.over > ul { left:100px; }
#nav li.over ul ul { left:-10000px; }
#nav ul li a { padding:3px 0; color:#444 !important; }
#nav ul li a:hover { padding:3px 0; color:#5a7f00 !important; }
/************ 3RD+ LEVEL ************/
#nav ul ul { top:5px; }
/**********************************************Vertical Nav ****************************************/
#nav_vert { padding:0 8px; font-size:1em; z-index:999; width:180px; background-color: #F6F6F6; }
/************** ALL LEVELS *************/
/* Style consistent throughout all nav levels */
#nav_vert li {
width
:
200px
;
list
-
style
:
none
;
position
:
relative
;
text
-
align
:
left
;
background
-
color
:
#F6F6F6;
border
-
bottom
-
width
:
thin
;
border
-
bottom
-
style
:
solid
;
border
-
bottom
-
color
:
#CCCCCC;
}
#nav_vert li.over { z-index:999; }
#nav_vert li.active { z-index:999; } /* to prevent the li separator from showing through on mouseover on li */
#nav_vert a { line-height:1.3em; }
#nav_vert a, #nav_vert a:hover { display:block; text-decoration:none; }
#nav_vert span { display:block; cursor:pointer; color: #000; }
/************ 1ST LEVEL ***************/
#nav_vert li { float:left; background:url(../images/nav_bg.gif) repeat-x 50%; height:30px; margin-right:1px; }
#nav_vert li.active a { color:#4c6a16; }
#nav_vert a {
float
:
left
;
padding
:
5px
12px
6px
8px
;
color
:
#4c6a16;
font
-
weight
:
bold
;
font
-
family
:
Trebuchet
MS
;
font
-
size
:
13px
;
}
#nav_vert li.over a, #nav_vert a:hover { color:#CCCCCC; }
/************ 1ST LEVEL RESET ************/
#nav_vert ul li, #nav_vert ul li.active {
float
:
none
;
height
:
auto
;
background
:
none
;
margin
:
0
;
}
#nav_vert ul a, #nav_vert ul a:hover {
float
:
none
;
padding
:
0
;
background
:
none
;
}
#nav_vert ul li a { font-weight:normal !important; }
/************ 2ND LEVEL ***********/
#nav_vert ul {
position
:
absolute
;
width
:
200px
;
margin
-
left
:
180px
;
top
:
0px
;
left
:
-
10000px
;
border
:
1px
solid
#666666;
}
/* Show menu */
#nav_vert li.over ul { left:0; }
#nav_vert li.over ul ul { left:-10000px; }
#nav_vert li.over ul li.over ul { left:0px; }
#nav_vert ul li a { background:#FFFFFF/*#ecf3f6*/; }
#nav_vert ul li a:hover { background: #F2F1D2; /*#d5e4eb;*/ }
#nav_vert ul li a span { background:url(../images/nav_divider.gif) repeat-x 0 100%; }
#nav_vert ul li a, #nav_vert ul li a:hover { color:#2f2f2f !important; }
#nav_vert ul span, #nav_vert ul li.last li span { padding:6px 15px 6px 15px; }
#nav_vert ul li.last span { background:none; }
/************ 3RD+ LEVEL ************/
#nav_vert ul ul { top:5px;}
#nav_vert ul ul ul { left:-10000px;}
#nav_vert li.over ul li.over ul ul { left:-10000px;}
#nav_vert li.over ul li.over ul li.over ul { left:100px; }
/* Fix for the IE bug */
#nav_vert iframe {
position
:
absolute
;
left
:
-
1px
;
top
:
0
;
z
-
index
:
-
1
;
filter
:
progid
:
DXImageTransform
.
Microsoft
.
Alpha
(
style
=
0
,
opacity
=
0
)
;
}
|
第四步,如果想在首页显示产品分类,需要将app/design/frontend/base/default/template/catolog/navigation/top.phtml用以下内容替换:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
<?php
/**
* Magento
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE_AFL.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@magentocommerce.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade Magento to newer
* versions in the future. If you wish to customize Magento for your
* needs please refer to http://www.magentocommerce.com for more information.
*
* @category design
* @package base_default
* @copyright Copyright (c) 2009 Irubin Consulting Inc. DBA Varien (http://www.varien.com)
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
*/
?>
<?php
/**
* Top menu for store
*
* @see Mage_Catalog_Block_Navigation
*/
?>
<
!
--
<?php
$_menu
=
''
?>
<?php
foreach
(
$this
->
getStoreCategories
(
)
as
$_category
)
:
?>
<?php
$_menu
.
=
$this
->
drawItem
(
$_category
)
?>
<?php
endforeach
?>
<?php
if
(
$_menu
)
:
?>
<
div
class
=
"nav-container"
>
<
ul
id
=
"nav"
>
<?php
echo
$_menu
;
?>
<
/
ul
>
<
/
div
>
<?php
endif
;
?>
--
>
|
第五步:在Magento管理后台CMS»Pages»Home page»design,选择左栏或者右栏布局,然后插入以下代码:
1
2
3
4
|
<
reference
name
=
"left"
>
<
!
--
<
block
type
=
"catalog/navigation"
name
=
"catalog.leftnav"
after
=
"currency"
template
=
"catalog/navigation/left.phtml"
/
>
--
>
<
block
type
=
"catalog/navigation"
before
=
"-"
name
=
"catalog.vertnav"
template
=
"catalog/navigation/vert_nav.phtml"
/
>
<
/
reference
>
|
这样再看看你的网站,是不是都可以了,然后在在Firefox或者Chrome的网页调试工具如firebug下对一些细节进行处理就OK了。
Magento邮件模板无法预览
Magento内置很丰富强大邮件模板功能,一般新建一个magento站点需要根据自己的需要修改模板,这个时候会经常用到模板预览的功能,如下
在System—Transactional Emails创建模板的时候右上角有个Preview Template一般点击这个按钮就可以预览当前加载的邮件模板了。但是今天在操作的时候发现有个问题,每次点击预览模板的时候总是调到管理后台首页,研究了下,发现这应该是Magento 1.6x的一个小bug,解决方法如下:
打开app/code/core/Mage/Adminhtml/Block/System/Email/Template/Preview.php编辑,找到下面的一段代码注释掉:
1
2
3
|
$template
-
&
gt
;
setTemplateText
(
$this
-
&
gt
;
escapeHtml
(
$template
-
&
gt
;
getTemplateText
(
)
)
)
;
|
完整的样子应该如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
class
Mage_Adminhtml_Block_System_Email_Template_Preview
extends
Mage_Adminhtml_Block_Widget
35
{
36
37
protected
function
_toHtml
(
)
38
{
39
$template
=
Mage::
getModel
(
'core/email_template'
)
;
40
if
(
$id
=
(
int
)
$this
->
getRequest
(
)
->
getParam
(
'id'
)
)
{
41
$template
->
load
(
$id
)
;
42
}
else
{
43
$template
->
setTemplateType
(
$this
->
getRequest
(
)
->
getParam
(
'type'
)
)
;
44
$template
->
setTemplateText
(
$this
->
getRequest
(
)
->
getParam
(
'text'
)
)
;
45
$template
->
setTemplateStyles
(
$this
->
getRequest
(
)
->
getParam
(
'styles'
)
)
;
46
}
47
// $template->setTemplateText(
48
// $this->escapeHtml($template->getTemplateText())
49
// );
50
//
51
Varien_Profiler::
start
(
"email_template_proccessing"
)
;
52
$vars
=
array
(
)
;
53
54
$templateProcessed
=
$template
->
getProcessedTemplate
(
$vars
,
true
)
;
55
56
if
(
$template
->
isPlain
(
)
)
{
57
$templateProcessed
=
"<pre>"
.
htmlspecialchars
(
$templateProcessed
)
.
"</pre>"
;
58
}
59
60
Varien_Profiler::
stop
(
"email_template_proccessing"
)
;
61
62
return
$templateProcessed
;
63
}
64
65
}
|
这样就没问题了。
批量删除Magento所有产品和分类
最近在研究Magento,就把一些经常需要的操作记录下来做个笔记。
虽然Mageno后台也有这个功能,依次进入后台Catalog//Manage Products 选择Select All ,Actions选中Delete,然后提交就可以了。如下图
但是这样的效率非常慢,尤其是产品数量很多的情况下,如果直接在phpmyadmin数据库操作,就方便的多。
进入PHPmyadmin管理后台,选中数据库,然后在SQL标签输入以下代码执行,就可以删除所有产品数据了。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
TRUNCATE
TABLE
`
catalog_product_bundle_option
`
;
TRUNCATE
TABLE
`
catalog_product_bundle_option_value
`
;
TRUNCATE
TABLE
`
catalog_product_bundle_selection
`
;
TRUNCATE
TABLE
`
catalog_product_entity_datetime
`
;
TRUNCATE
TABLE
`
catalog_product_entity_decimal
`
;
TRUNCATE
TABLE
`
catalog_product_entity_gallery
`
;
TRUNCATE
TABLE
`
catalog_product_entity_int
`
;
TRUNCATE
TABLE
`
catalog_product_entity_media_gallery
`
;
TRUNCATE
TABLE
`
catalog_product_entity_media_gallery_value
`
;
TRUNCATE
TABLE
`
catalog_product_entity_text
`
;
TRUNCATE
TABLE
`
catalog_product_entity_tier_price
`
;
TRUNCATE
TABLE
`
catalog_product_entity_varchar
`
;
TRUNCATE
TABLE
`
catalog_product_link
`
;
TRUNCATE
TABLE
`
catalog_product_link_attribute
`
;
TRUNCATE
TABLE
`
catalog_product_link_attribute_decimal
`
;
TRUNCATE
TABLE
`
catalog_product_link_attribute_int
`
;
TRUNCATE
TABLE
`
catalog_product_link_attribute_varchar
`
;
TRUNCATE
TABLE
`
catalog_product_link_type
`
;
TRUNCATE
TABLE
`
catalog_product_option
`
;
TRUNCATE
TABLE
`
catalog_product_option_price
`
;
TRUNCATE
TABLE
`
catalog_product_option_title
`
;
TRUNCATE
TABLE
`
catalog_product_option_type_price
`
;
TRUNCATE
TABLE
`
catalog_product_option_type_title
`
;
TRUNCATE
TABLE
`
catalog_product_option_type_value
`
;
TRUNCATE
TABLE
`
catalog_product_super_attribute
`
;
TRUNCATE
TABLE
`
catalog_product_super_attribute_label
`
;
TRUNCATE
TABLE
`
catalog_product_super_attribute_pricing
`
;
TRUNCATE
TABLE
`
catalog_product_super_link
`
;
TRUNCATE
TABLE
`
catalog_product_enabled_index
`
;
TRUNCATE
TABLE
`
catalog_product_website
`
;
TRUNCATE
TABLE
`
catalog_product_entity
`
;
TRUNCATE
TABLE
`
cataloginventory_stock
`
;
TRUNCATE
TABLE
`
cataloginventory_stock_item
`
;
TRUNCATE
TABLE
`
cataloginventory_stock_status
`
;
insert
into
`
catalog_product_link_type
`
(
`
link_type_id
`
,
`
code
`
)
values
(
1
,
'relation'
)
,
(
2
,
'bundle'
)
,
(
3
,
'super'
)
,
(
4
,
'up_sell'
)
,
(
5
,
'cross_sell'
)
;
insert
into
`
catalog_product_link_attribute
`
(
`
product_link_attribute_id
`
,
`
link_type_id
`
,
`
product_link_attribute_code
`
,
`
data_type
`
)
values
(
1
,
2
,
'qty'
,
'decimal'
)
,
(
2
,
1
,
'position'
,
'int'
)
,
(
3
,
4
,
'position'
,
'int'
)
,
(
4
,
5
,
'position'
,
'int'
)
,
(
6
,
1
,
'qty'
,
'decimal'
)
,
(
7
,
3
,
'position'
,
'int'
)
,
(
8
,
3
,
'qty'
,
'decimal'
)
;
insert
into
`
cataloginventory_stock
`
(
`
stock_id
`
,
`
stock_name
`
)
values
(
1
,
'Default'
)
;
|
然后再输入下面的代码执行,就可以删除所有的产品分类信息。
1
2
3
4
5
6
7
8
9
10
11
12
|
TRUNCATE
TABLE
`
catalog_category_entity
`
;
TRUNCATE
TABLE
`
catalog_category_entity_datetime
`
;
TRUNCATE
TABLE
`
catalog_category_entity_decimal
`
;
TRUNCATE
TABLE
`
catalog_category_entity_int
`
;
TRUNCATE
TABLE
`
catalog_category_entity_text
`
;
TRUNCATE
TABLE
`
catalog_category_entity_varchar
`
;
TRUNCATE
TABLE
`
catalog_category_product
`
;
TRUNCATE
TABLE
`
catalog_category_product_index
`
;
insert
into
`
catalog_category_entity
`
(
`
entity_id
`
,
`
entity_type_id
`
,
`
attribute_set_id
`
,
`
parent_id
`
,
`
created_at
`
,
`
updated_at
`
,
`
path
`
,
`
position
`
,
`
level
`
,
`
children_count
`
)
values
(
1
,
3
,
0
,
0
,
'0000-00-00 00:00:00'
,
'2009-02-20 00:25:34'
,
'1'
,
1
,
0
,
1
)
,
(
2
,
3
,
3
,
0
,
'2009-02-20 00:25:34'
,
'2009-02-20 00:25:34'
,
'1/2'
,
1
,
1
,
0
)
;
insert
into
`
catalog_category_entity_int
`
(
`
value_id
`
,
`
entity_type_id
`
,
`
attribute_id
`
,
`
store_id
`
,
`
entity_id
`
,
`
value
`
)
values
(
1
,
3
,
32
,
0
,
2
,
1
)
,
(
2
,
3
,
32
,
1
,
2
,
1
)
;
insert
into
`
catalog_category_entity_varchar
`
(
`
value_id
`
,
`
entity_type_id
`
,
`
attribute_id
`
,
`
store_id
`
,
`
entity_id
`
,
`
value
`
)
values
(
1
,
3
,
31
,
0
,
1
,
'Root Catalog'
)
,
(
2
,
3
,
33
,
0
,
1
,
'root-catalog'
)
,
(
3
,
3
,
31
,
0
,
2
,
'Default Category'
)
,
(
4
,
3
,
39
,
0
,
2
,
'PRODUCTS'
)
,
(
5
,
3
,
33
,
0
,
2
,
'default-category'
)
;
|