Lesson13 Drupal7企业建站 终极之战,利用 views+分类taxonomy完成企业建站,menu position模块使用介绍

日期:2014-04-12 阅读:15283

Lesson13 Drupal7企业建站 终极之战,利用 views+分类taxonomy完成企业建站,menu position模块使用介绍
  • 第一部分: 分类列表 公用一个路径(需要一点php基础,了解基本语法就够了)
  • 第二部分: 分类列表 不公用一个路径(这个没什么php,都在views后台配置,通过global custom text定制文本)
  • 第三部分:菜单定位和面包屑 menu position模块使用介绍

课程资料:

drupal devel 模块 文档介绍>>  

------------------------------

views视图:

在views里,启用自带的 Taxonomy term 这个视图。
再在高级里,把depth的深度设置一下,比如选5.

另外覆写下views-view--taxonomy-term--page.tpl.php,把多余的div去掉(这个在视频里没有漏讲了)

--------------------

关于图片,可以这样取得:假如当前内容类型是product.
在template/node/node--product.tpl.php

双击再ctrl+c可以复制源码

//pre($node);

  if(isset($node->field_image['und'][0]['uri'])){
      $image_uri      = $node->field_image['und'][0]['uri'];
       $style = 'thumbnail';
       $smallimg = image_style_url($style, $image_uri);
       $bigimg = file_create_url($image_uri);//大图片

  }
  else{
  $smallimg =  'sites/default/files/default.jpg';
  $bigimg = 'sites/default/files/default.jpg';

  }

--------------------

那么,上面的thumbnail是从哪来的呢?
要注意两个地方,一是在admin/config/media/image-styles设置一个,
二是要在 admin/structure/types/manage/product/display/full里设置一种显示方式,在这里选择了thumbnail,则用thumbnail.
这样才会有thumbnail的图片产生,上面的使用才会有效。---这是为了这样用: render($content['field_image'])

---------------

 //得到node链接
 $url = url('node/' . $node->nid);    
 

关于时间 : echo $created.'--'.$date; //1390621180--星期六, 01/25/2014 - 11:39

echo  date('Y-m-d   h:m:s',$created);

---------------

关于分类:

$taxoid = $node->field_cate_products['und']['0']['tid'];     
$term = taxonomy_term_load($taxoid); 
$term_uri = taxonomy_term_uri($term);//这个可以不要。
//得到分类的链接
$link = l($term->name,url('taxonomy/term/' . $taxoid));  //这是不对的

$link = l($term->name,'taxonomy/term/' . $taxoid); //这是对的。

注意: l函数 里面,不要再用url,不然,可能会重复目录。当是http://www.yoursite.com/demo1时。会出现/demo1/demo1/yourlink.php

-----------------

分类图片:

  if (arg(0) == 'taxonomy' && arg(1) == 'term' && is_numeric(arg(2))) {
        $term = taxonomy_term_load(arg(2));
        // pre($term);
        if(isset($term->field_image['und'][0]['uri'])){
         $image_uri      = $term->field_image['und'][0]['uri'];
         $cateimg = file_create_url($image_uri);
         //print $cateimg;
         }else{ $cateimg= 'sites/default/files/default.jpg'; }      

    }

----------------

关于摘要:
<?php print $node->body['und'][0]['summary']?>

-------------------

require:

如果在node/node--product.tpl.php写这个
 <?php  require_once(drupal_get_path('theme', 'bartik').'/templates/display/grid.tpl.php');?>
会出错。$node传不过去。
---这个问题后来又好了。原因是drupal的问题,第一次加代码后,刷新下会有问题,是drupal还没有反应过来。再刷新下,就好了。怪不怪?

 -----------------

-----------------------------------

第三部分操作流程:

1.用taxonomy menu模块把产品分类 创建为一个菜单。
2.用menu block模块把 第一步的分类菜单 创建一个区块。并分配到相关区域region
3. menu position模块的使用。

menu position模块: https://drupal.org/project/menu_position  

这个模块,操作起来有点复杂,每一个分类,都要加一个规则。除了在内容类型上要选择,
在 only a selected taxonomy term 里也要填一个,这样就会对应上。见下面图片。
另外这个模块还提供了breadcrumb面包屑的功能。 

menu position操作起来有点烦琐,其他方法请看:drupal7 面包屑 breadcrumb 的问题>>

-----------------------

context 模块:https://drupal.org/project/context

------------------------

 

  • drupal views 定制文本global custom text
    drupal views 定制文本global custom text
  • Drupal7企业建站 终极之战
    Drupal7企业建站 终极之战
  • drupal menu position
    drupal menu position

<<点击返回

Drupal7视频教程 Drupal7主题 Drupal7最新文档 Drupal7推荐文档