分享

PrestaShop目录结构与迁移

 sumi2005 2014-05-04

PrestaShop目录结构与迁移

 

PrestaShop的开发人员以及尽量清楚而又直观地分离了此软件的各个部分:

下面是结构说明:

  • /admin: 包含了所有和PrestaShop后台相关的文件。当你用浏览器访问此文件夹时,会被要求提供身份认证。
  • /cache: 包含了为了降低服务器负载而生成和再利用的文件夹。
  • /classes: 包含了所有和PrestaShop对象模型相关的文件。每个文件都代表或者包含了一个PHP类,以及其属性和方法。
  • /config: 包含了所有PrestaShop的配置文件。除非有特殊要求,否则请务必不要编辑这些文件,它们都是被PrestaShop的安装器和后台直接擦管理的。
  • /controllers: 包含了所有和PrestaShop的控制器相关的文件。每个文件控制PrestaShop的一个特定模块。
  • /css: 包含了所有和主题没有关联的CSS文件,因而主要被后台使用。
  • /docs: 包含了一些文档。 注意:在生产环境这个目录需要被删除。
  • /download: 包含了你的可供下载的数字商品,比如: PDF文件, MP3文件等。
  • /img: 包含了所有PrestaShop用到的不属于主题的图标、图像文件。包括用于商品类别的(/c子目录)、用于商品的(/p子目录)和后台(/admin子目录)。
  • /install: 包含了所有和PrestaShop安装器有关的文件。在安装结束之后,你会被要求删除此目录。
  • /js: 包含了所有和主题没有关联的JavaScript文件。大部分属于后台,当然你也能找到jQuery 架构。
  • /localization: 包含了所有PrestaShop的本地化文件,包含了本地化信息,比如货币、语言、税制及税制组、省及被选国家的度量衡。
  • /log: 包含了PrestaShop产生的各种Log文件。
  • /mails: 包含了各种和由PrestaShop发送的电子邮件相关的HTML和文本文件。每种语言有他指定的目录,你可以手工编辑他们的内容。
  • /modules: 包含了所有PrestaShop的模块,每个有其自己的目录。如果你需要明确地删除一个模块,你首先需要在后台卸载,然后你才可以删除其文件夹。
  • /override: 这是PrestaShop1.4出现的一个新特性。通过利用PrestaShop的目录/文件名协议,你可以创建自己的文件来覆盖PrestaShop默认的类及控制器。这使得你可以改变PrestaShop的核心行为而不用访问这些源文件,从而确保了在下一次升级的时候,这些文件都比较安全。
  • /themes: 包含了所有当前安装了的主题,每个有其自己的目录。
  • /tools: 包含了被集成到PrestaShop中的扩展工具。例如,你可以找到Smarty(template/theme引擎)、 FPDF (PDF文件生成器)、 Swift (mail发送器)、PEAR XML Parser (PHP tool).
  • /translations: 包含了每种可用语言的子目录。但是如果你希望改变翻译的话,你必须使用PrestaShop内置的工具,而不是直接编辑这个文件夹。
  • /upload: 包含了所有客户上传的文件。
  • /webservice: 包含了所有可以使第三方应用通过API来访问PrestaShop的文件。

迁移PrestaShop】

一个PrestaShop安装很少不发生迁移的,下面是迁移PrestaShop的常见原因:

  • 从本地迁移到在线服务器
  • 从测试子域名迁移到主域名
  • 从一个服务器迁移到另一台
  • 从一个域名迁移到另外一个

在所有这些场景中,你都必须非常小心地正确迁移所有的文件和数据。

一、迁移到一台新的服务器

下面是主要的步骤:

  1. 设置你的商店进入“维护”模式,以避免损失新的客户和订单。进入后台,“Preference” >设置"Enable shop" 选项为“NO"
  2. 迁移文件
    1. 备份所有文件:连接FTP服务器,拷贝所有的文件和目录到本地硬盘
    2. 上传到新的服务器:连接到新服务器的FTP,拷贝刚才备份的文件和目录到新服务器
  3. 迁移数据
    1. 备份所有数据库
    2. 上传SQL DUMP到新的数据库:
  4. 配置
    1. 在新的服务器上,打开/config/settings.inc.php文件,更新和数据库相关的设置,请用你自己的实际设置代替下面这个例子:
      define('_DB_SERVER_', 'sql.domainname.com');
      define('_DB_NAME_', 'prestashop');
      fine('_DB_USER_', 'PS-user');
      define('_DB_PASSWD_', 'djsf15');
      define('_DB_PREFIX_', 'ps_');
    2. (1.4或者更早版本)在同一个文件中更新BASE_URI设置('/'是服务器根目录):
      define('__PS_BASE_URI__', '/prestashop/');
    3. 登录到后台,"Preferences" >"SEO & URLs">更新域名到新域名。对SSL域名做同样的处理。
      生效后,系统会更新""ps_configuration" b表中的PS_SHOP_DOMAIN"和"PS_SHOP_DOMAIN_SSL"列。
    4. 登录到后台,"Tools">"Generators",生成.htaccess 和robots.txt文件。
  5. 连接你的新FTP服务器,删除下列目录中除了index.php文件之外的所有文件及子目录:
    • /tools/smarty/cache
    • /tools/smarty/compile
    • /tools/smarty_v2/cache
    • /tools/smarty_v2/compile
  6. 登录到后台,"Preference",设置"Enable shop"为"Yes".

这样应该就OK了。请你检测一下所有的连接都有效,所有的商品、图像、模块和主题都OK,然后生成一个新的账号,走一遍订单量流程确保系统正常。

二、迁移到一个新的域名

事实上,在同一个服务器上迁移域名是“迁移到一台新的服务器”的子集:只需要执行上面的1,2,4,5,6,然后测试~

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多