zencart广告模块分析
模块说明
广告是通过 后台:工具——广告管理添加广告
广告可以是html代码,也可以上传图片,添加链接,不同广告以广告组区分,但一个广告组可以包含多个广告。
系统预设九个广告位,每个广告位用常量SHOW_BANNERS_GROUP_SET(1/2/3/4/5/6/7/8/ALL)来区分,该常量对应广告位所要显示的广告组,一个广告位可以有多个广告组(以分号隔开),显示广告时随机从广告组中抽取广告,广告组在 后台:商店设置——布局设置里设置。
广告显示组 - 标题位置 1
广告显示组 - 标题位置 2
广告显示组 - 标题位置 3
广告显示组 - 页脚位置 1
广告显示组 - 页脚位置 2
广告显示组 - 页脚位置 3
广告显示组 - 边框 banner_box
广告显示组 - 边框 banner_box2
广告显示组 - 边框 banner_box_all
其中头六个广告位直接显示,无需模板,后三个放在三个系统预设方框里显示,需要模板支持。
可独立开发方框显示相应广告。
案例说明
直接输出
<?php if (SHOW_BANNERS_GROUP_SET2 != '' && $banner = zen_banner_exists('dynamic', SHOW_BANNERS_GROUP_SET2)) { if ($banner->RecordCount() > 0) { ?> <div id="bannerTwo" class="banners"><?php echo zen_display_banner('static', $banner);?></div> <?php } } ?>
方框输出
1,引用,加载modules\sideboxes下相应文件banner_box.php
<?php $column_box_default='tpl_box_default_left.php'; $custom_ad='banner_box'; if ( file_exists(DIR_WS_MODULES . 'sideboxes/' . $custom_ad) or file_exists(DIR_WS_MODULES . 'sideboxes/' . $template_dir . '/' . $custom_ad) ) { $column_width = BOX_WIDTH_LEFT; if ( file_exists(DIR_WS_MODULES . 'sideboxes/' . $template_dir . '/' . $custom_ad) ) { $box_id = zen_get_box_id($custom_ad); require(DIR_WS_MODULES . 'sideboxes/' . $template_dir . '/' . $custom_ad); } else { $box_id = zen_get_box_id($custom_ad); require(DIR_WS_MODULES . 'sideboxes/' . $custom_ad); } } ?>
2,banner_box.php文件内容,加载tpl_banner_box.php tpl_box_default_left.php模板文件
<?php $show_banner_box = true; if (SHOW_BANNERS_GROUP_SET7 == '') { $show_banner_box = false; } if ($show_banner_box == true) { $banner_box[] = TEXT_BANNER_BOX; $banner_box_group= SHOW_BANNERS_GROUP_SET7; require($template->get_template_dir('tpl_banner_box.php',DIR_WS_TEMPLATE, $current_page_base,'sideboxes'). '/tpl_banner_box.php'); if ($banner->RecordCount() > 0) { $title = BOX_HEADING_BANNER_BOX; $title_link = false; require($template->get_template_dir($column_box_default, DIR_WS_TEMPLATE, $current_page_base,'common') . '/' . $column_box_default); } } ?>
3,tpl_banner_box.php文件内容
<?php $content = ''; if ($banner = zen_banner_exists('dynamic', $banner_box_group)) { $content .= '<div id="' . str_replace('_', '-', $box_id . 'Content') . '" class="sideBoxContent centeredContent">'; $content .= zen_display_banner('static', $banner); $content .= '</div>'; } ?>
4,tpl_box_default_left.php文件内容
<?php if ($title_link) { $title = '<a href="' . zen_href_link($title_link) . '">' . $title . BOX_HEADING_LINKS . '</a>'; } ?> <div class="leftBoxContainer" id="<?php echo str_replace('_', '-', $box_id ); ?>" style="width: <?php echo $column_width; ?>"> <h3 class="leftBoxHeading" id="<?php echo str_replace('_', '-', $box_id) . 'Heading'; ?>"><?php echo $title; ?></h3> <?php echo $content; ?> </div>