Warning: Redis::connect(): connect() failed: Connection refused in /var/www/admclub.com/wp-content/object-cache.php on line 418
Magento | _站长俱乐部站长俱乐部 | 第2页

标签存档: Magento - 第2页

Magento模块学习

Magento 模块

模块( module )是 Magento 的核心。站点上的任何一个动作( action ),无论是在前台和还是在后台的每一个操作都是通过模块来实现的。模块是可以视为一个容器,它可包含下面这几项:设置 (settings) ,数据库模式 (database schema) ,呈现对象 (rendering object) ,辅助工具类 (utility helpers) ,数据模型 (data models) 或动作控制器 (action controller) 。一个模块可以包含全部的这六项也可以只包含其中的几项,甚至只有一项。所有的模块可以通过 app/etc/modules/ 目录中 XML 配置系统来进行开关。每个模块也可以在自己模块目录下的 etc 子目录中创建一个 XML 文件来保存自己的配置信息。

由于 Magento 中的一切都是模块而且模块本身又可以有自己的配置文件和数据库设置,这样就允许开发人员对 Magento 进行扩展。

继续阅读 »

在Magento中直接操作数据库

在进行Magento的相关模块开发或二次开发的时候,在代码级别直接访问数据库是非常必要的,那么编写Magento代码时是怎么样的呢?要操作 数据库,首先你需要一个resource model,然后通过这个resource获取一个对数据库的连接。这样你就得到了一个Varien PDO Adapter对象,通过这个对象就可以直接通过sql语句操作。看下面的例子:

继续阅读 »

Magento 引用include顺序

Magento 1.6.2引用文件(include)顺序先后分别是:

app/code/local
app/code/community
app/code/core
lib
.
/usr/local/lib/php
/usr/local/lib/php/PEAR
/usr/local/lib

也就是因为这个local到community最后才到core的顺序,Magento无法优先加载你的同名类.这点可以在重写Magento核心模块时用到.

继续阅读 »

解决Magento后台不能登录的问题

Magento后台不能登录的原因绝大多数都是因为它的Cookies系统引起的.现像一般为,当你输入正确的密码时,登录一点反应也没有,只是一闪而过,不提示登录成功也不提供密码错误.而你输入错误的密码时,却又能提示你密码不对.而且还能使用找回密码功能.这就说明其实本来你是能登录的,只是Magento并没有记录下你的Session信息,而Session信息都是基于Cookies.
因为PHPerHost.com的外贸空间使用服务器群,拥有多台服务器,不同的服务器之前难免会告成时间不统一,而加上Magento处理Cookies时一般只使用默认的1小时,而他们的服务器之间的时间相差可能大于1小时.于是问题出现了.

解决办法:

打开并修改文件:
网站根/app/code/core/Mage/Core/Model/Cookie.php
第130后面新起一行,得到:
public function getLifetime()
{
return 3600*24;#这行是新添加的,登录之后要将它删除

在添加完上面之后,向下找,到151行后新起一行,得到:
public function setLifetime($lifetime)
{
return 3600*24;#这行是新添加的,登录后要将它删除

然后可以登录后台了.
为了以后可以正常修改这个值,还需要这样操作:
进入后台配置,cookies,把里面的值修改为:86400或更大,然后保存,再次编辑文件:
网站根/app/code/core/Mage/Core/Model/Cookie.php
把刚才添加的两个”return 3600*24;”删除

技术原理:
增加Cookies的有效时间.

网上常见的解决方法是修改localhost成127.0.0.1,需要有一个”.”作来网站名.如果是使用他们的空间,则不存在这个问题.

继续阅读 »

第 2 页,共 2 页12