把这个学会,zencart的数据库操作,以及各种函数的调用基本会了

这个东西非常有用,你需要认真看一下,不要闲代码多。

如何在数据库中调出自己想要的产品,让它显示在首页。

据我本人不科学的理解,在includes/modules/里面见一个  模块文件,该文件是功能文件,也就是含有sql语句,以及执行sql语句的常用函数,这个是“功能文件”

我在这取名叫做  show_products.php

<?php

$show_product = 'SELECT p.products_id,p.products_model,p.products_price, p.products_image, ps.specials_new_products_price,pd.products_name,pd.products_description,cd.categories_description,cd.categories_id FROM products p
     LEFT JOIN specials ps ON ps.products_id = p.products_id
     LEFT JOIN products_description pd ON pd.products_id = p.products_id
     LEFT JOIN products_to_categories pc ON pc.products_id = p.products_id
        LEFT JOIN categories_description cd ON cd.categories_id = pc.categories_id order by rand()';
$show_product_handle = $db->Execute($show_product,18);

while (!$show_product_handle->EOF)
{
 $show_product_content[] = array(
       'id'=>$show_product_handle->fields['products_id'],
       'product_name'=>$show_product_handle->fields['products_name'],
    'products_description'=>$show_product_handle->fields['products_description'],
       'product_module'=>$show_product_handle->fields['products_model'],
       'product_price'=>$currencies->display_price(zen_get_products_base_price($show_product_handle->fields['products_id'])),
       'special_price'=>$currencies->display_price(zen_get_products_special_price($show_product_handle->fields['products_id'])),
       'description'=>$show_product_handle->fields['categories_description'],
       'product_image'=>zen_image(DIR_WS_IMAGES . $show_product_handle->fields['products_image'], $show_product_handle->fields['products_name'], IMAGE_PRODUCT_NEW_WIDTH, IMAGE_PRODUCT_NEW_HEIGHT),
       'product_url'=>zen_href_link(FILENAME_PRODUCT_INFO,'cPath='. $show_product_handle->fields['categories_id'] . '&products_id='.$show_product_handle->fields['products_id'])
 );
 $show_product_handle->MoveNext();
 //print_r($show_product_handle);
}
//print_r($show_product_content);

?>

东西取出来了,得要按照我们需要的格式排列啊,就需要模板文件,在includes/templates/template_default/templates/建一个tpl_show_products.php的模板文件

<?php
include(DIR_WS_MODULES . zen_get_module_directory('show_product.php'));

if(is_array($show_product_content) && !empty($show_product_content))
{
 $outPutHtml .= '<div id="product">';
 $i=0;
 $j=0;
 foreach ($show_product_content as $key => $value)
 {
    $str=$value['products_description'];
    $val=substr($str,0,170)."...";
    $outPutHtml .= '<div id="Box'. $value['id'] .'">';
    $outPutHtml .=     '<div id="BoxT'. $value['id'] .'">';
    $outPutHtml .=         '<h2><a href="' . $value['product_url'] . '">' . $value['product_name'] . '</a></h2>';
    $outPutHtml .=     '</div>';
    $outPutHtml .=     '<div class="desc"><a href="' . $value['product_url'] . '" class="kuang" alt=" '. $value['product_name'] .' "></a></div>';
    $outPutHtml .=     '<div id="BoxD' . $value['id'] . '">';
    $outPutHtml .=     '<h3><span>RRP: ' . $value['product_price'] . '</span> - OUR PRICE:  ' . $value['special_price'] . '</h3>';
    $outPutHtml .=     $val;
    $outPutHtml .=     '</div>';
    $outPutHtml .=     '<div id="BoxB' . $value['id'] . '">';
    $outPutHtml .=        '<a href="' . $value['product_url'] . '"><img src="includes/templates/2/images2/'. $value['id'] .'.gif"></a>';
    $outPutHtml .=     '</div>';
    $outPutHtml .= '</div>';
      // print_r($value);
     
 }
 $outPutHtml .= '</div>';
}

echo $outPutHtml;
//print_r($show_product_content);
?>
<!--
<div id="p_1">
  <div id="p_li">
   <h2><a href="ghd-red-lust-styler-p-252.html">GHD Pink Limited Edition</a></h2>
  </div>
        <a href="ghd-pink-limited-edition-p-255.html" class="kuang" alt="GHD Red Lust Styler"></a>
<div id="text">
<h3><span>RRP: $299.00 AUD</span> - OUR PRICE: $145.99 AUD</h3>
2010 ghd pink limited edition-Rediscover your passion for pink with the new ghd Pink limited edition.Each pink patterned ghd IV styler comes with a gorgeous raffia bag &amp; mirror. </div>
</div>
<div id="an">
<a href="ghd-pink-limited-edition-p-255.html"><img src="includes/templates/2/images2/p_an_4.jpg"></a>
</div>

-->

最后是引用这一块,比如我想在首页的一个DIV里显示这些内容

<div class="products">

<?php
//display product module
require($template->get_template_dir('tpl_module_show_product.php', DIR_WS_TEMPLATE, $current_page_base, 'templates').'/tpl_module_show_product.php');

?>

</div>

zencart的modules下数据库操作templates排版和common首页引用的更多相关文章

  1. Android下数据库操作——增删改查

    Android下数据库第一种方式增删改查     1.创建一个帮助类的对象,调用getReadableDatabase方法,返回一个SqliteDatebase对象     2.使用SqliteDat ...

  2. Oracle Linux下数据库操作的相关问题

    1.su - oracle 切换到oracle用户 lsnrctl status 查看数据库监听状态 lsnrctl start 打开数据库监听 2.Connected to an idle inst ...

  3. c#数据库访问服务(综合数据库操作)

    前面给大家说封装了常用的数据库,并且整理了使用.最近我再次把项目整合了.做成比较完善的服务. 还是重复的说下数据库操作封装. berkeley db数据库,Redis数据库,sqlite数据库. 每个 ...

  4. 如何在高并发环境下设计出无锁的数据库操作(Java版本)

    一个在线2k的游戏,每秒钟并发都吓死人.传统的hibernate直接插库基本上是不可行的.我就一步步推导出一个无锁的数据库操作. 1. 并发中如何无锁. 一个很简单的思路,把并发转化成为单线程.Jav ...

  5. mysql在cmd命令下执行数据库操作

    windows+r 运行cmd命令,执行以下操作! 当mysql 数据库文件相对于来说比较大的时候,这个时候你可能在正常环境下的mysql中是导入不进去的,因为mysql数据库本身就有默认的导入文件大 ...

  6. Django 2.0 学习(16):Django ORM 数据库操作(下)

    Django ORM数据库操作(下) 一.增加表记录 对于表单有两种方式: # 方式一:实例化对象就是一条表记录france_obj = models.Student(name="海地&qu ...

  7. Python3.x:pyodbc连接Sybase数据库操作(Windows系统下DNS模式)

    Python3.x:pyodbc连接Sybase数据库操作(Windows系统下DNS模式) 一.安装模块pyodbc pip install pyodbc 二.配置odbc数据源 (1).windo ...

  8. 数据库操作API 或万能的双下划线

    数据库操作API: 类型 描述 exact 精确匹配: polls.get_object(id__exact=14). iexact 忽略大小写的精确匹配: polls.objects.filter( ...

  9. Django 模型(数据库)-cmd下的操作

    Django 模型是与数据库相关的,与数据库相关的代码一般写在 models.py 中,Django 支持 sqlite3, MySQL, PostgreSQL等数据库,只需要在settings.py ...

随机推荐

  1. 打印出最后执行的mysql 语句

    db.php 文件中添加 public function getlastsql(){ return $this->sql; } 入口文件中添加,公共方法 function getlastsql( ...

  2. Memcached缓存

    Memcached是"分布式"的内存对象缓存系统,那么不需要"分布"的.不需要共享的或者干脆规模小到只有一台服务器的应用,Memcached不会带来任何好处,相 ...

  3. Http Post与Get等

    Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE.URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP ...

  4. android,view的执行过程onDraw、onSizeChanged,onFinishInflate

    小试view的执行过程,此是入门,高手绕道. ----------------------------------------------------------------------------- ...

  5. Unity3d 物体沿着正七边形轨迹移动

    不对之处,敬请谅解. 1.圆内接正七边形半径 public static float r = 10; 2.存储七个顶点的值 Vector3[] ar = new Vector3[7]; 3.圆心角 s ...

  6. HDU 5965 三维dp 或 递推

    题意:= =中文题 思路一:比赛时队友想的...然后我赛后想了一下想了个2维dp,但是在转移的时候,貌似出了点小问题...吧?然后就按照队友的思路又写了一遍. 定义dp[i][j][k],表示第i列, ...

  7. 关于web.xml的格式

    先是filter  再是<filter-mapping> 然后<servlet> 再是<servlet-mapping> 这是一种规范基于j2ee 在开发的过程中一 ...

  8. [Python]网络爬虫(四):Opener与Handler的介绍和实例应用

    在开始后面的内容之前,先来解释一下urllib2中的两个个方法:info and geturl urlopen返回的应答对象response(或者HTTPError实例)有两个很有用的方法info() ...

  9. 关于一些url中传递参数有空格问题

    1.关于一些url中传递参数有空格问题: url.replace(/ /g, "%20") 从上面的例子中可以看到可以用:replace(/ /g, "%20" ...

  10. RatingBar

    题记:保持旺盛的求知欲.希望会一直这样. 说明:来了新控件了.就是经常用的打分的那种东东. 说明:1.看上图分别是系统自带的和自己做的.rating就是设置小星星的数目. 2.用系统自带的必须是Wra ...