Magento模板安装教程

此教程讲解如何安装magento模板,由于模板不尽一样,安装可能也不一样,所以如何安装,需要按照模板的说明来进行。此教程只是对其中一种模板安装进行讲解,方便大家参考学习。

视频地址:http://www.tudou.com/programs/view/HbLFdOzp-yw/


继续阅读“Magento模板安装教程”

Magento语言包修改和多语言实现

此教程讲解如何修改magento的语言包,对如何实现多语言也做了一定的说明和讲解。在看此视频前,需要大家熟悉如何使用magento connect安装语言包,如何设置magento多语言,不会的看我的2013年Magento视频教程

视频地址:http://www.tudou.com/programs/view/e81dLlGkKjg/

继续阅读“Magento语言包修改和多语言实现”

谈Magento多语言与特价Special Price翻译

Magento商品属性翻译修改
Magento商品属性翻译修改

安装Magento语言包后,Magento的翻译文件依据语言不同,分成不同文件夹存放在 app/locale文件夹下,如下图

Magento语言包文件夹
Magento语言包文件夹

每个文件夹是一个语言包,打开可以看到很多CSV文件,打开以后可以看到类似如下格式的内容

"Currently Shopping by:","Actualmente Comprando en:"
"Custom Design","Diseño Personalizado"
"Custom Options","Opciones Personalizadas"
"Custom options","Opciones de personalización"
"Customer Group","Grupo de Clientes

左边是magento英文原文,右边是翻译后的,使用UTF8编码来编辑这些语言文件,以此来修改翻译不当的内容。
保存后,记得刷新magento缓存,来查看修改结果。
要想找到自己需要找的翻译内容,可能不太好找,需要查找多个CSV文件才能找到。如果所有的文件都没有你需要找的内容,你可以在某个CSV文件中自己添加一条。
如上就是一般的修改magento翻译的方法。
有的时候,可能我们通过修改编辑文件解决不了你的问题。(也可以试试magento在线翻译。什么是在线翻译?见我的视频:http://www.hellokeykey.com/magento-transfer-online/)这可能和你的模板代码有一定的关系。

继续阅读“谈Magento多语言与特价Special Price翻译”

Magento搬家、换域名、重新安装教程2013

视频讲解,magento搬家,换域名,重装的操作,为2013年新版

视频地址如下:http://www.tudou.com/programs/view/IvDvfKu1EWI/

继续阅读“Magento搬家、换域名、重新安装教程2013”

Magento去掉价格的小数点

Magento去掉价格小数点
Magento去掉价格小数点

Magento的默认情况,价格后面是有小数点的,我们来看下如何正确的来去掉小数点。

1.复制如下路径的文件 app/code/core/Mage/Directory/Model/Currency.php 到 app\code\local\Mage\Directory\Model\ 文件夹下面,这个文件夹没有自己手动创建下。

2.打开新复制的这个文件 Currency.php

继续阅读“Magento去掉价格的小数点”

Magento控制器中添加Block

如果不想在模板的xml中设置block或者block是动态的,那么在Magento在控制器中添加block的时候可以做下动态的调整,进而动态的修改页面。

代码如下:

$this->loadLayout();

//set view page top content
$block = $this->getLayout()->createBlock(
                    'activitie/activitie_view', 'activitie_view', array('template' => 'hellokeykey_activitie/activitie/view.phtml')
            );
$this->getLayout()->getBlock('content')->insert($block);
//$this->getLayout()->getBlock('content')->append($block);

$this->renderLayout();

 

getBlock('content')是只更新content部分

append是指添加到后面,insert是添加到前面

参考文章:http://inchoo.net/ecommerce/magento/programatically-create-magento-blocks-and-inject-them-into-layout/

转载表明出处:www.hellokeykey.com

Magento清空数据库log和var缓存文件脚本

magento清空log与var脚本
magento清空log与var脚本

Magento的数据库,用久了,很多log表会变的非常巨大,数据库体积也越来越大,这会严重影响到数据库的运行。

此脚本可以自动清空数据库log表。如果你的log表有用,可以按照实际情况修改此脚本。

将文件上传至你的magento文件根目录,然后用如下地址执行清空命令:

清空数据库log表:http://你网站的网址/clear-magento.php?clean=log

清空magento缓存文件:http://你网站的网址/clear-magento.php?clean=var

如果你的数据库log表比较大,那么使用如上命令清log可能会失败,或者用去很长时间,你可以手动清空,在脚本代码中的log表有:

‘dataflow_batch_export’,
‘dataflow_batch_import’,
‘log_customer’,
‘log_quote’,
‘log_summary’,
‘log_summary_type’,
‘log_url’,
‘log_url_info’,
‘log_visitor’,
‘log_visitor_info’,
‘log_visitor_online’,
‘index_event’,
‘report_event’,
‘report_compared_product_index’,
‘report_viewed_product_index’,
‘catalog_compare_item’,
‘catalogindex_aggregation’,
‘catalogindex_aggregation_tag’,
‘catalogindex_aggregation_to_tag’,
‘catalogsearch_query’,
‘catalogsearch_fulltext’,
‘catalogsearch_result’

清空var缓存文件一般不会花费太多时间,缓存文件在脚本中路径分别为:

继续阅读“Magento清空数据库log和var缓存文件脚本”

magento set image fit or fill the parent container

magento图片自适应容器大小
magento图片自适应容器大小

magento原始模板原先自带的图片处理会有白边,就是图片比例不符合代码中的尺寸时,magento会自动resize图片尺寸,并且自动加上白边。

其实去掉白边好搞,增加去白边的代码即可,如下

$this->helper('catalog/image')->init($_product, 'small_image')->constrainOnly(TRUE)->keepAspectRatio(TRUE)->keepFrame(FALSE)->resize(210);

keepFrame(FALSE)这个是控制白边的,参数false就是不带白边。resize控制图片的比例,单独一个数字,如上面 200,是将图片搞成200*200的尺寸,这个只有在有白边的时候才有效,没有白边了这个resize就不太管用了,会按照实际比例缩放图片,你可以试试。

对于很多人来说也许去掉白边就够用了,但是有的时候有变态的情况,比如图片比例是1:5甚至1:10,尼玛 – – ! 怎么会有这么变态的图片比例,这会将你的布局搞的乱七八糟。如果你有这个情况,又想控制图片的最大宽高的话,看这篇博文会有所帮助。

首先我们将magento的图片的白边去掉了,下一步就是使图片自适应到你设置的大小,即使比例差别很大,也自适应下,图片不超出你指定的长宽。相当于,你设置了图片的最大宽度,最大高度。这样对于你布局来说,会好狠多。

jquery有很多图片缩放,自适应的插件,我找到的这个是我自己认为比较合适的 http://imgscale.kjmeath.com/,当然大家也可以找自己喜欢的,或者更满足大家自己需求的js插件。

看插件的说明,他要求在图片的外层有个div或者什么的是block类型的html标签,并且css中写上宽高。

继续阅读“magento set image fit or fill the parent container”

Magento获取当前Collection的排序方式

 

汤面和namu
汤面和namu

在Magento中,平时获得collection的时候,我们会根据实际情况设置排序,使用setOrder。如果只是静态的,这个好说,直接写上即可。

现在需要使用ajax的加载product list,实现当前页面动态加载后面页面的内容。这个时候页面排序和排序方式用户可以自己选择的,就需要动态的获取,当前的排序方式。

参考代码如下

$_productCollection = Mage::getResourceModel('catalog/product_collection')
                ->addAttributeToSelect('*')
                ->addAttributeToFilter('visibility', $visibility)
                .............
                ->setStoreId($storeId)
                ->addStoreFilter($storeId)
                ->addCategoryFilter($_featcategory) //feature category to list first
                //set order as CurrentOrder
                ->setOrder(Mage::getBlockSingleton('catalog/product_list_toolbar')->getCurrentOrder(), Mage::getBlockSingleton('catalog/product_list_toolbar')->getCurrentDirection())
                .......................

代码中如下两行分别获取order和direction,动态的设置collection

Mage::getBlockSingleton(‘catalog/product_list_toolbar’)->getCurrentOrder();
Mage::getBlockSingleton(‘catalog/product_list_toolbar’)->getCurrentDirection();

继续阅读“Magento获取当前Collection的排序方式”

Magento sql升级脚本加入新的字段add column

magento add column
magento add column

最近使用了magento的商品品牌插件,需要在此插件的数据库表中添加几个字段。

首先需要修改插件的版本号,以便magento发现插件版本升级了,运行升级脚本。

版本号在插件的ect/config.xml文件中,sql脚本示例mysql4-upgrade-0.1.0-0.1.1.php如下

<?php

$installer = $this;

$installer->startSetup();

$installer->getConnection()->addColumn(
    $installer->getTable('brand'),
    'country',
    "varchar(255) NULL"
);
$installer->getConnection()->addColumn(
    $installer->getTable('brand'),
    'role',
    "varchar(255) NULL"
);

$installer->endSetup();

继续阅读“Magento sql升级脚本加入新的字段add column”