Tag: Lamp

将magento评论页面移动到产品页面tabs

首先先找到 <block type="catalog/product_view_tabs" name="product.info.tabs" as="info_tabs" template="catalog/product/view/tabs.phtml" > <action method="addTab" translate="title" module="catalog"><alias>description</alias><title>Product Description</title><block>catalog/product_view_description</block><template>catalog/product/view/description.phtml</template></action> <action method="addTab" translate="title" module="catalog"><alias>additional</alias><title>Additional Information</title><block>catalog/product_view_attributes</block><template>catalog/product/view/attributes.phtml</template></action> <block type="review/form" name="product.review.form" as="review_form"> <block type="page/html_wrapper" name="product.review.form.fields.before" as="form_fields_before"> <action method="setMayBeInvisible"><value>1</value></action> </block> </block> </block> </block> 替换为 <block type="catalog/product_view_tabs" name="product.info.tabs" as="info_tabs" template="catalog/product/view/tabs.phtml" > <action method="addTab" translate="title" module="catalog"><alias>description</alias><title>Product Description</title><block>catalog/product_view_description</block><template>catalog/product/view/description.phtml</template></action> <action method="addTab" translate="title" module="catalog"><alias>additional</alias><title>Additional Information</title><block>catalog/product_view_attributes</block><template>catalog/product/view/attributes.phtml</template></action> <block type="review/product_view_list" name="product.info.product_additional_data" as="product_review" template="review/product/view/list.phtml"> <block type="review/form" [...]

Magento 1.4.1.1 windows 集成安装包 with APMXE

APMXE&MAGENTO 1.4.1.1 集成包(本来觉得这个东西没什么用不想更新,但是居然有人加我QQ找我要,就再放一次) **************************************************** 版本说明(感谢起源科技制 作的APMXE): # Apache 2.2(完整) # PHP 5.2.9–2(完整) # XCache 2.0.4 # MySQL 5.0(服务端和命令行工具) # phpMyAdmin 3.2 # Magento 1.4.1.1 (集成后台中文语言包) **************************************************** MySQL 默认账号密码:root magento后台地址 http://127.0.0.1/magento/index.php/admin magento后台账号:magentochina密码:1q2w3e4r5t **************************************************** 解压缩后运行apmxe.exe by jidda QQ:23363038 MSN:jidda@live.cn http://www.magentochina.org Windows 7 64bit, Windows xp sp3 32bit 测试通过 注意事项: 1.APACHE默认端口80,请确保安装时系统80端口未被占用(如迅雷) 2.mysql默认端口3306 3.如要卸载,请先把apache和mysql服务停止,直接删除文件夹即可 4.安装包直接用的好压haozip制作,安装完成后会出现假死,不用理会,直接关闭即可 4.apache,php,mysql的配置文件在/etc目录中,修改template文件即可%APMXE%为apmxe.exe所在目录的位置变量 QQ文件中转站下载 提取码(2d001275) 115网络U盘下载

prototype的简单Ajax

function getContents() { var request_url = “test1.html”; // 需要获取内容的url var request_pars = ”;//请求参数 var myAjax = new Ajax.Updater(‘result’, request_url,{ // 将request_url返回内容绑定到id为result的容器中 method : ‘get’, //HTTP请求的方法,get or post parameters : request_pars, //请求参数 onFailure : reportError, //失败的时候调用 reportError 函数 onLoading : loading, //正在获得内容的时候 onComplete : done //内容获取完毕的时候 }); } function loading() { $(‘loading’).style.display = ‘block’; } function [...]

javascript去除数组重复

js数组去重就是把数组中重复的元素去掉:

Array.prototype.delRepeat=function(){
var newArray=new Array();
var len=this.length;
for (var i=0;i
for(var j=i+1;j
if(this[i]===this[j]){
j=++i;
}
}
newArray.push(this[i]);
}
return newArray;

自动获取Magento带前缀的表名

在写插件时,有的用户安装magento时设置了表的前缀,而有的用户没有,如果直接把表名写死在那,是不正确的。 magento提供了获取表名的的一个方法: $tableName = Mage::getSingleton(‘core/resource’)->getTableName(‘默认表名’);

解决 magento contact us 无法发送问题

解决magento contact us无法发送问题 需要修改的文件 /app/design/frontend/base/default/template/contacts/form.phtml 查找一下代码 <div class="buttons-set"> <p class="required"><?php echo Mage::helper(‘contacts’)->__(‘* Required Fields’) ?></p><input type="image" src="<?php echo $this->getSkinUrl(‘images/btn_submit.gif’);?>"alt="<?php echo Mage::helper(‘contacts’)->__(‘Submit’) ?>"/></div> 替换成 <div class="buttons-set"> <p class="required"><?php echo Mage::helper(‘contacts’)->__(‘* Required Fields’) ?></p><input type="text" name="hideit" id="hideit" value="" style="display:none !important;"/><button type="submit" title="<?php echo Mage::helper(‘contacts’)->__(‘Submit’) ?>"class="button"><span><span><?php echo Mage::helper(‘contacts’)->__(‘Submit’) ?></span></span></button> </div> ————–另类问题—–一下几点是收集的看看有没有对大家有帮助————— magento的contact us是一个非常重要的一个功能,当在线客服不在时,客户可以通过contact us发送邮件来联系我们。问题是,总是会出来这样或者那样的问题导致magento下面的这个功能无法使用。 我这边要说明的是一种非常特殊的情况引起的这个问题。但是我在magento论坛上搜索了,碰到的更多的是其它的状况,一起记录一下。 Unable to submit [...]

深入理解Magento – 第四章 – 模型和ORM基础

作者:Alan Storm 翻译:Hailong Zhang 第四章 – 模型和ORM基础 对于任何一个MVC架构,模型(Model)层的实现都是占据了很大一部分。对于Magento来说,模型占据了一个更加重要的位置,因为它常常包含了一部分商业逻辑代码(可以说它对,也可以说它错)。这些代码在其他的MVC框架中往往出现在控制器或者帮助函数中。 传统的PHP MVC架构中的模型 本来MVC的定义就不是很清晰,不同的人有不同的看法,而对于模型的定义争议就更多了。在MVC模式被广泛采用之前,PHP程序员往往通过SQL语句直接操作数据库。也有些程序员通过一个SQL抽象层来操作数据库(比如AdoDB)。程序员往往关注SQL语句本身,而不是和数据相关的对象。 虽然直接操作SQL的方式一直被病诟,但是很多PHP框架还是以SQL为中心的。模型层提供了一系列对象,抽象/封装了数据操作,但是程序员最终还是需为模型层对象写SQL语句操作数据库。 还有一些框架回避了SQL,使用了对象关系映射(Object Relational Mapping,ORM)来解决这个问题。使用这个方法的话,程序员不用关注SQL,而只需要和对象打交道。我们可以操作一个对象的属性,当“Save”方法被调用的时候,对象的属性会作为数据自动的被写入数据库。有些ORM框架会根据数据表的信息自动推测对象的属性,也有框架要求用户显示的生命对象属性和表的关系。比较有名的ORM框架有ActiveRecord等等。【译者注:ActiveRecord源自Ruby on Rails,不过现在PHP也有了】 关于ORM的概念,我就解释到这里。但是和许多计算机领域的其他概念一样,ORM的定义也越来越模糊了。我不想在这片文章中讨论关于ORM的争议,所以我说的ORM就是那个最基本的ORM概念。 Magento的模型 Magento理所当然的也追随潮流应用了ORM。虽然Magento自带的Zend框架提供了SQL抽象层,但是在大多数情况下我们将通过Magento自带的模型和我们自己的模型来进行数据访问。他和视图层(View)一样,Magento的模型层也不是简单的ORM,而是一个高度灵活,高度抽象甚至有点令人费解。 解剖Magento的模型 大部分的Magento模型分为两类。第一类是基本的ActiveRecord类型,一张表一个对象的模型。第二类是Entity Attribute Value(EAV)模型。【译者注:EAV翻译成“实体属性值”有点词不达意,还是就叫EAV的好】Magento自己定义了一个数据类型叫做模型集合(Model Collection)。顾名思义,模型集合就是一个对象里面包含了很多模型对象。Magento的创造者Varien团队实现了PHP类库的标准接口,“IteratorAggregate”,“Countable”。这样模型集合就能调用这些方法,这也是模型集合和数组的区别。 Magento的模型并不直接访问数据库。每一个模型都有一个资源模型(Resource Model),每一个资源模型拥有两个适配器(Adapter),一个读,一个写。这样的话逻辑模型和数据库访问就分开了,所以从理论上讲更改底层数据库只需要重写适配器就可以了,所有上层代码都不需要更改。 创建一个基本模型 【译者注:从这一章开始我用我自己的例子替换了Alan的例子】继续我们Hello World的例子。在Hello World模块中创建BlogController.php如下 class Zhlmmc_Helloworld_BlogController extends Mage_Core_Controller_Front_Action { public function indexAction() { echo ‘Hello Blog’; } } 访问以下URL http://127.0.0.1/Magento/helloworld/blog 你应该看到“Hello Blog”输出。 创建数据表 我们可以通过Magento自带的方法创建或者修改数据库,但是为了不引入过多新内容,我们暂且手工创建一张表。在你的数据库中执行以下语句 CREATE TABLE `blog_posts` ( [...]

深入理解Magento – 第三章   布局,块,模板

作者:Alan Storm 翻译:Hailong Zhang 第三章 – 布局,块和模板 我们接着研究Magento。根据我们第二章讲的Magento MVC的架构,我们接下来应该讲模型(Model),但是我们跳过模型先来看布局和块。和一些流行的PHP MVC架构不同的是,Magento的执行控制器不直接将数据传给试图,相反的视图将直接引用模型,从模型取数据。这样的设计就导致了视图被拆分成两部分,块(Block)和模板(Template)。块是PHP对象,而模板是原始PHP文件,混合了XHTML和PHP代码(也就是把PHP作为模板语言来使用了)。每一个块都和一个唯一的模板文件绑定。在模板文件phtml中,“$this”就是指该模板文件对应的快对象。 让我们来看一个例子 File: app/design/frontend/base/default/template/catalog/product/list.phtml 你将看到如下代码 <?php $_productCollection=$this->getLoadedProductCollection() ?> <?php if(!$_productCollection->count()): ?> <p class="note-msg"><?php echo $this->__(‘There are no products matching the selection.’) ?></p> <?php else: ?> 这里“getLoadedProductCollection”方法可以在这个模板的块对象“Mage_Catalog_Block_Product_List”中找到 File: app/code/core/Mage/Catalog/Block/Product/List.php … public function getLoadedProductCollection() { return $this-&gt;_getProductCollection(); } … 块的“_getProductCollection”方法会实例化模型,并读取数据然后返回给模板。 嵌套块 Magento把视图分离成块和模板的真正强大之处在于“getChildHtml”方法。这个方法可以让你实现在块中嵌套块的功能。顶层的块调用第二层的块,然后是第三层……这就是Magento如何输出HTML的。让我们来看一下单列的顶层模板 File: app/design/frontend/base/default/template/page/1column.phtml <!DOCTYPE html PUBLIC "-//W3C//DTD [...]

深入理解Magento – 第二章  Magento请求分发与控制器

作者:Alan Storm 翻译:Hailong Zhang 第二章 – Magento请求分发与控制器 Model-View-Controller (MVC) ,模型-视图-控制器,源于Smalltalk编程语言和Xerox Parc。现在有很多系统是基于MVC架构的,不同的系统MVC的实现也略有不同,但都体现了MVC的精髓,分离数据,业务逻辑和显示逻辑。最常见的PHP MVC框架是这样的 URL请求被一个PHP文件拦截,通常称为前端控制器(Front Controller) 这个PHP文件分析这个URL,获得一个执行控制器(Action Controller)的名字和一个执行方法(Action Method)的名字,这个过程通常称为路由(Routing) 实例化#2获得的执行控制器 调用执行控制器的执行方法 执行方法中处理业务逻辑,比如获取数据 执行控制器负责把数据传递给显示逻辑 显示逻辑生成HTML 这个架构相对于传统的“每个php都是一个页面”来讲已经是一个巨大的飞跃,但还是有人抱怨【译者注: CodeIgniter就是这样一个MVC框架】 前端控制器仍然以全局的方式运行 基于配置的惯例导致了系统不够模块化 URL Routing不够灵活 控制器往往和视图绑定 更改默认设置往往导致大量的重构 Magento创造了一个更抽象的MVC来解决上述问题。 URL请求被一个PHP拦截 这个PHP文件实例化一个Magento对象 Magento对象实例化前端控制器 前端控制器实例化全局配置中指定的路由对象,可以是多个 路由对象会逐个与请求URL匹配 如果发现匹配,那么可以获得一个执行控制器和一个执行方法的名字 实例化#6获得的执行控制器,并调用相应的执行方法 执行方法中处理业务逻辑,模型数据 控制器实例化布局对象(Layout) 布局对象根据请求的参数,系统配置创建一个块对象(Block)列表,并实例化 布局对象会调用块对象的output方法生成HTML。这是一个递归的过程,因为块对象可以嵌套块对象 每一个块对象都和一个模板文件(Template File)对应。块对象包含了显示逻辑,模板文件包含了HTML和PHP输出代码 块对象直接从模型那里获得数据,换句话说,在Magento的MVC架构中,控制器并不直接把数据传给视图 这里很复杂,我们以后会详细解释每一个部分。我们先关注“前端控制器->路由对象->执行控制器”部分。 Hello World示例 我们讲了太多理论,现在让我们来实践一下,通过实践来加深理解。下面是我们将要做的事情 创建一个Hello World模块 为这个模块配置路由 为这个模块创建执行控制器 创建Hello World模块 首先,我们要创建一个模块的目录结构,这个我们以前已经做过了,就不再熬述 [...]

深入理解Magento – 第一章 – Magento强大的配置系统

作者:Alan Storm 翻译:Hailong Zhang 第一章 – Magento强大的配置系统 Magento的配置系统就像是Magento的心脏,支撑着Magento的运行。这套配置系统掌管着几乎所有“module/model/class/template/etc”。它把整个Magento系统抽象出来,用一个配置文件来描述。这里的“配置文件”并不是一个物理上存在的文件,而是Magento根据当前的系统状态动态生成的一段XML。大多数的PHP开发者并不习惯于这样抽象层,因为它增加的编程的复杂性。但是这样的抽象提供了无与伦比的灵活性,允许你覆盖几乎任何系统的默认行为。 首先,让我们写一个简单的插件来看看这个所谓的“配置文件”长什么样。虽然我已经提供的现成的代码,但是还是建议你自己建立这个插件,把整个流程走一遍有助于你的理解。 设置插件的目录结构 我们将要创建一个Magento的模块【译者注: Magento的插件不叫plug-in,叫module,翻译成模块】。Magento的模块由php和xml文件组成,目的是扩展或者覆盖系统的行为,比如为订单增加数据模型,更改一个类的方法,或者增加一个全新的功能。【译者注:Magento自带的那些功能也都是基于模块的,比如用户注册,商品展示,结账流程等等。Magento给我的感觉就是一切皆模块,和Eclipse的插件体系结构有点像】 大多数Magento的系统模块的结构和我们将要构建的插件的结构是一样的。Magento的系统模块在以下目录 app/code/core/Mage 每一个子目录都是一个单独的模块。这些模块是由Magento官方开发的。我们安装完Magento以后,所使用的功能就是来自这些模块。我们自己创建的模块应该放在如下目录 app/code/local/Packagename “Packagename”应该是一个唯一的字符串,用来标识你的代码。通常人们使用公司名字作为Packagename,比如 app/code/local/Microsoft 由于我在做我自己的Magento项目,我将使用我自己的域名“Alanstormdotcom”。 然后,我们要创建以下目录结构 app/code/local/Alanstormdotcom/Configviewer/Block app/code/local/Alanstormdotcom/Configviewer/controllers app/code/local/Alanstormdotcom/Configviewer/etc app/code/local/Alanstormdotcom/Configviewer/Helper app/code/local/Alanstormdotcom/Configviewer/Model app/code/local/Alanstormdotcom/Configviewer/sql 你的插件并不一定需要包含以上所有的目录,但是为了以后开发方便,我们还是在一开始就把目录创建好。接下来我们要创建两个文件,一个是config.xml,放在etc目录下面 app/code/local/Alanstormdotcom/Configviewer/etc/config.xml 文件内容如下 <config> <modules> <Alanstormdotcom_Configviewer> <version>0.1.0</version> </Alanstormdotcom_Configviewer> </modules> </config> 第二个文件需要在如下位置创建 app/etc/modules/Alanstormdotcom_Configviewer.xml 第二个文件应该遵循如下命名规则“Packagename_Modulename.xml”,文件内容如下 <config> <modules> <Alanstormdotcom_Configviewer> <active>true</active> <codePool>local</codePool> </Alanstormdotcom_Configviewer> </modules> </config> 我们先不管这些文件是干什么的,以后会解释。建立好这两个文件以后,你的模块的骨架就已经完成了。Magento已经知道你的模块存在,但是现在你的模块不会做任何事情。我们来确认一下Magento确实装载了你的模块 清空Magento缓存 在后台管理界面,进入 System->Configuration->Advanced 展开“Disable Modules Output” 确认“Alanstormdotcom_Configviewer”显示出来了 [...]

TOP Online Store
1.Girls' Generation, a Fantasy Jewelry online Store. Nobody Can Keep Away From the Beauty:tiffany ca 2.China Wholesale Electronics:China Wholesale Electronics 3.The android phone is best:Android sale.The Android Ice cream sandwich well be best Android OS. 4.R4 3DS for sale:R4 ds shops,and support Japanese R4:R4 販売. 5.fashion bag:armani watches and MBT shoes.
R4 V1.4.2 and your R4i Gold 1.4.2 and R4i GOLD 3DS card V1.4.2 can not work on it.
Please update your R4i Gold 1.4.2 and R4i GOLD 3DS card V1.4.2 card with this patch. Please read readme.txt attached firstly.Just do as the procedures listed in readme.