zoukankan      html  css  js  c++  java
  • Zen Cart的sidebox机制

    ZenCart模板的sidebox文件夹里建立一个sidebox程序,登陆管理后台后,选择外观控制,系统会自动检测到新增加的sidebox程序,并提醒你操作。并把所有的sidebox配置信息存储在layout_boxes的表格中。

    程序调用边栏是通过includes/modules 目录下的column_left.php,和column_right.php 控制。分析下源码也非常简单:首页查询layout_boxes数据表,检索出在左栏或右栏显示的所有sidebox,再直接require进来layout_box_name字段标记的sidebox名称。随便打开一个sidebox的源代码,如系统自带的includes/modules/sideboxes /banner_box.php,banner_box.php只要用来获取sidebox显示所要的数据,再通过require($template->get_template_dir(’tpl_banner_box.php’, DIR_WS_TEMPLATE, $current_page_base,’sideboxes’),载入显示这个sidebox的模板,其实这个所谓的模板就是生成一个$content 的字符串,然后再require($template->get_template_dir($column_box_default,DIR_WS_TEMPLATE, $current_page_base,’common’). ‘/’ . $column_box_default) 再用一个显示sidebox的公共模板,在$column_box_default中打印出$content的内容,这样一个sidebox就显示完成了。

    如何添加一个自己的sidebox?

    其实很简单,在includes/modules/sideboxes/{模板目录}/ 建立一个文件,就是一个 sidebox了,可以在后台控制是否显示在默认的左右边栏和排序。

    在这个文件中就输出任何内容了,当然可以按照标准的模式,再在includes/templates/{模板目录}/sideboxes下建立一个模板文件require进来,尽量做到 M/V的分离,这样以后修改也会比较方便。

    在zencart左侧栏目中,每个小模块都是用box方式显示的。

    zencart 函数zen_get_box_id()主要是对box_id进行处理.while (strstr($box_id, ‘_’)) $box_id = str_replace(‘_’, ”, $box_id); $box_id = str_replace(‘.php’, ”, $box_id); return $box_id; 看的出来,他的主要作用是除去”_”和”.phquot;的后缀,形成一个新的字符串,形成的注释中会有<!–// bof: <?php echo $box_id; ?> //–> <div cla=”leftBoxContainer” <?php echo $column_width; ?>quotgt; <h3 cla=”leftBoxHeading”FONT-FAMILY: 宋体; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: 宋体; mso-fareast-theme-font: minor-fareast; mso-hansi-font-family: Calibri; mso-hansi-theme-font: minor-latin”>借助$box_id还可以形成样式html的id

  • 相关阅读:
    RAID介绍,RAID5,10制作与损坏恢复
    ELK 安装过程
    centos 系统 yum安装软件报错
    linux系统磁盘分区
    python实现遍历两个文件夹,比对文件异常,生成比对报告功能
    win10新装系统,显卡风扇转动,链接正常开机,但设备管理器如果显示,无法更新驱动
    navicat premium 破解,无限试用方法
    安装vmware workstations 12 +ubuntu 遇到的一些问题
    win10 如何打开telnet,ftp等服务
    linux集群架构-keepalived高可用
  • 原文地址:https://www.cnblogs.com/ss159/p/2589859.html
Copyright © 2011-2022 走看看