holy shit

寺夺喜从天降

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>

posted @ 2011-04-09 17:26  潜水鱼  阅读(2093)  评论(1编辑  收藏  举报

holy shit on foot