因为最近打算做个商店玩玩,所以开始接触学习shopex, 下面写些这3天自己的理解心得供新人参考,希望可以更加快速上手理解shopex,当然有不对的地方还希望指出以供大家学习。 shopex是程序和模板分离的,这样就大大方便了大家可以做出自己漂亮的外观网站, 首先,说说模板下的theme.xml,官方是这么说的,theme.xml是整个模板中最重要的部分,所有模板的配置信息都是存在这个xml中的,包括板块的位置、配置信息,边框的信息等等。第一次加载模板时,theme.xml中包含的信息被读入数据库,即模板的初始化,之后用户便可以在可视化界面中进行板块的增删改和对原有的板块进行配置。配置信息保存在数据库中,用户可以通过导出模板来下载到最新的带配置信息的theme.xml,通过“恢复默认”来应用新的theme.xml。 这个意思表达得还是比较清楚了,我再详细补充下。 1. 官方说第一次加载模板时,theme.xml中包含的信息被读入数据库,即模板的初始化。意思就是这个zheme数据库只会加载他一次,第二次是不会加载的,除非你强行要恢复默认,数据库才会重新加载读取zheme的信息。明白了这点,所以只要加载第一次后,你可以随便修改zheme啊,只要你不强行恢复默认的话,zheme此时不对数据库任何影响,程序也不会读取和应用到zheme。 2,但是为什么大家建议不要修改zheme呢? 首先,修改它没意义。上面说了,第一次加载后zheme就等于完成了他的任务了,只要不强行重新加载,zheme对系统没任何影响。其次,如果你修改了zheme的话,哪天不小心强行恢复默认的话,就会导致某些页面不能输出你被修改的挂件内容。因为zheme是告诉数据库在哪个页面哪个位置输出哪个内容。 3.配置信息保存在数据库中。意思就是你的所有可视化编辑的操作数据和记录全部保持在数据库里面,比如可视化删除了挂件,编辑了挂件,添加了挂件。你在后台代码编辑的时候他会保存到对应的html文件里(是否保存在数据库官方未说)。这点就是要告诉我们,记得一定要数据库配置备份,备份生成的文件就是zheme-bak.xml,比如你错误的删除了挂件,这个操作已经记录在数据库里面,你通过点恢复zheme-bak.xml,那么数据库里面的这个操作记录就会被擦去,这个挂件就没有删除被恢复。 3.用户可以通过导出模板来下载到最新的带配置信息的theme.xml,通过“恢复默认”来应用新的theme.xml,也就是上面的意思,通过theme.xml这个文件,方便大家反复擦写数据库记录,实际zheme就是数据库配置信息的备份文件。 3,为什么要引入theme.xml呢?上面说了,可以方便大家备份配置信息反复擦写数据库。其次,就是通用模板的共享。模板包含了2个主要文件,一个是html框架文件,这些是最外层框架布局和大致显示样式,二个是zheme.xml配置文件,zheme配置文件告诉程序要在哪个页面哪个位置输出哪个内容。比如zheme里面全部记录了挂件配置信息,通过zheme程序才能真正和模板结合起来输出重要信息内容。html框架文件是死的,zheme记录的挂件输出的内容是活的。正是有了zheme传递给程序的配置信息,程序才知道什么位置输出什么内容。配置信息最终是要传递到数据库里面,程序才能识别和输出内容。如果没有引入zheme,那么这些保存在数据库的配置信息就不方便共享,因为要共享数据库。有了zheme,数据库配置信息就可以以文件存在的形式方便大家互相转移共享。 再说说部分人问的widgets ID中ID的理解。ID就是身份,就是给这个widgets一个唯一的身份,以便程序认识和记住这个widgets输出正确的内容。如果不做ID辨认,程序会自动默认排列顺序,导致输出内容错位,也就是说,你写的ID数据库就会记录这个ID,然后数据库通过这个ID输出你挂件设置的内容。也就是说ID可以随便写,但是不能重复。 ====================================================================================== 再说说 挂件下模板的修改。 先来分析default.html里面的代码
我们只要修改模板html代码,就是在以最后一个<{capture 结尾的地方的后面代码,就是输出代码,找到输出的html代码 这3个smarty的代码就是分别输出图像,商品名字,商品描述的。 |