CCK图片字段的显示问题

问题:

野放客() 20:55:58
我的怎么弄都不成,用什么函数能提取用  cck 设的 说明字段里的内容
葛红儒(55381091) 20:59:27
你想把图片的显示做成什么样子的?

野放客() 21:00:06
http://www.thomaspucher.com/cms/index.php?idcat=81 就是这样,模仿这个网站就成.
 

也就是图片和正文分栏显示.

葛红儒(55381091) 21:03:42
图片,正文左右栏显示,你可以单独的创建一个节点模板文件
葛红儒(55381091) 21:04:08
 
葛红儒(55381091) 21:04:32
把图片放到id为contentleft里面
野放客() 21:04:39
这个我知道
葛红儒(55381091) 21:04:52
然后把正文的内容放到contentright里面

葛红儒(55381091) 21:07:30
你可以在节点模板文件中
葛红儒(55381091) 21:07:45

那个是页面模板文件
葛红儒(55381091) 21:08:08

node.tpl.php里面
葛红儒(55381091) 21:08:36

<?php
// $Id: node.tpl.php,v 1.5 2007/10/11 09:51:29 goba Exp $
?>
<div id="node-<?php print $node->nid; ?>" class="node<?php if ($sticky) { print ' sticky'; } ?><?php if (!$status) { print ' node-unpublished'; } ?>">

<?php print $picture ?>

<?php if ($page == 0): ?>
  <h2><a href="<?php print $node_url ?>" title="<?php print $title ?>"><?php print $title ?></a></h2>
<?php endif; ?>

  <?php if ($submitted): ?>
    <span class="submitted"><?php print $submitted; ?></span>
  <?php endif; ?>

  <div class="content clear-block">
    <?php print $content ?>
  </div>

  <div class="clear-block">
    <div class="meta">
    <?php if ($taxonomy): ?>
      <div class="terms"><?php print $terms ?></div>
    <?php endif;?>
    </div>

    <?php if ($links): ?>
      <div class="links"><?php print $links; ?></div>
    <?php endif; ?>
  </div>

</div>
葛红儒(55381091) 21:08:46
默认的是这样的
葛红儒(55381091) 21:09:05

<div class="content clear-block">
    <?php print $content ?>
  </div>这个地方可以做一下修改
野放客() 21:09:39

野放客() 21:10:32
设计说明   field_description
野放客() 21:10:44
那怎么来输出他的内容
葛红儒(55381091) 21:11:03
<div id="contentleft"〉<?php print  $field_fieldimagesname[0][value] ?></div>
<div id="contentright"〉<?php   print $node->content[body]['#value']?></div>
葛红儒(55381091) 21:11:18
<div id="contentleft"〉<?php print  $field_description [0][value] ?></div>
<div id="contentright"〉<?php   print $node->content[body]['#value']?></div>

葛红儒(55381091) 21:11:28
这样就可以了
葛红儒(55381091) 21:12:03
<?php print  $field_description [0][value] ?>可以在节点模板中输出CCK字段的
葛红儒(55381091) 21:12:24
<?php   print $node->content[body]['#value']?>负责输出正文的
葛红儒(55381091) 21:12:55
这样通过CSS你就能够将其分开了

野放客() 21:13:18
嗯,cck字段输出是用 Views 来设置的吗
葛红儒(55381091) 21:13:44
你的节点模板名字node-project.tpl.php
野放客() 21:13:58

葛红儒(55381091) 21:14:10
views是用来控制节点列表的
葛红儒(55381091) 21:14:28
节点本身的输出,需要节点模板文件的配合

野放客() 21:14:54
嗯,好的。我先研究一下。谢谢

....

Drupal版本:

本周六答疑继续解答了CCK图片字段多图片的显示问题

问题:

野放客() 21:03:53
cck 创建的images字段 里有很多张图片在 node-project.tpl.php 怎么输出

解答:

葛红儒(55381091) 21:05:43
可以写一个循环
葛红儒(55381091) 21:05:52
也可以使用gallery模块
葛红儒(55381091) 21:06:06
galleria?

野放客() 21:06:06
是一张图片一个节点吗
葛红儒(55381091) 21:06:18
一章图片一个字段
野放客() 21:07:08
 
葛红儒(55381091) 21:07:18
一张图片一个字段是目前最主流的方式
葛红儒(55381091) 21:07:47
一张图片一个节点,也是一种常用的方式
野放客() 21:08:10
最是上次跟你说的,我的一个设计方案里需要好多张片的展示
葛红儒(55381091) 21:08:48
可以处理成为节点引用的形式,
葛红儒(55381091) 21:09:21
不过节点引用,现在本身也是一个字段了
葛红儒(55381091) 21:09:35
所以说,这两种方式没有本质区别
野放客() 21:10:24
http://www.thomaspucher.com/cms/index.php?idcat=43 还是个例子,我按你说的用imagefield 实现在这个效果
野放客() 21:11:34
但我需要重新输出时,不知道怎么输出在node-project.tpl.php
野放客() 21:13:47
 [field_images] => Array
        (
            [0] => Array
                (
                    [fid] => 97
                    [list] => 1
                    [data] => Array
                        (
                            [alt] => 01
                            [title] => 01
                        )

                    [uid] => 1
                    [filename] => 01.jpg
                    [filepath] => sites/default/files/images/project/9/01.jpg
                    [filemime] => image/jpeg
                    [filesize] => 53394
                    [status] => 1
                    [timestamp] => 1265445524
                    [origname] => 01.jpg
                    [nid] => 9
野放客() 21:14:12
有你说的<pre><?php print_r($node); ?></pre> 输出的看不太明白
葛红儒(55381091) 21:15:01

你对这个循环一次就可以了,
葛红儒(55381091) 21:15:06

写一个循环函数
葛红儒(55381091) 21:15:30
输出数组field_images下面的元素
葛红儒(55381091) 21:15:58
[filepath] => sites/default/files/images/project/9/01.jpg,只要提取到了这个
野放客() 21:16:10
哦,可帮我举个例子吗
葛红儒(55381091) 21:16:11

你就可以把它拼凑成img的形式
葛红儒(55381091) 21:16:21
我找一个啊
野放客(17643751) 21:16:29
好,谢谢
葛红儒(55381091) 21:17:07
默认没有把field_images这个字段输出么?
野放客() 21:18:21
我用默认模板显示是正常,就是你看到 的参照网站左边的图片效果
野放客() 21:18:35
原图列表行式
野放客() 21:19:15
一张接一张显示出来,但怎么查看他的模板里是怎么输出这样效果的
葛红儒(55381091) 21:24:28
我记得默认就是一张一张的从上向下排的
葛红儒(55381091) 21:24:57

只有需要特别的效果的时候,而默认的不是想要的,才自己负责输出
野放客() 21:25:10
对,但重写一个节点显示的话怎么象它一样输出
葛红儒(55381091) 21:25:27
你直接输出,这个字段
葛红儒(55381091) 21:26:13
我好长时间没有接触过这个问题了
野放客() 21:26:59
<?php print  $field_images [0][value] ?> 这样什么也出不来
葛红儒(55381091) 21:27:09
 
葛红儒(55381091) 21:27:33

在这里,选中exclude
葛红儒(55381091) 21:27:44
两个都选中
野放客() 21:28:03
这是什么地址的设置

。。。。

葛红儒(55381091) 21:28:32
我这是一个例子,我本地的
葛红儒(55381091) 21:28:52
然后直接输出<?php print  $field_images ?> ,可能就可以了

。。。。

葛红儒(55381091) 21:33:17
我记得是Display field里面配置一下就好了,
野放客() 21:33:35
我在看看
野放客() 21:35:33
exclude  为什么叫排除呢
葛红儒(55381091) 21:36:18
exclude 表示,它不显示在content里面

葛红儒(55381091) 21:38:12

把它独立为一个独立的字段,然后直接在模板中直接输出这个字段就可以了
葛红儒(55381091) 21:38:29
我印象中就是这样的

。。。

葛红儒(55381091) 21:48:06
 <?php if ($field_images[0]['view'] > '' ) : ?>
            <?php foreach($field_images as $item) { ?>
            <div class="company-logos">
            <?php print $item['view']; ?>
            </div>
            <?php } ?>
            <?php endif; ?>

葛红儒(55381091) 21:48:13

这样就可以了
野放客(17643751) 21:48:15
这个view 输出的吗+
葛红儒(55381091) 21:48:32

你使用我上面的代码就可以了
葛红儒(55381091) 21:49:04
 
葛红儒(55381091) 21:49:12

这段代码就可已搞定你的问题了
野放客() 21:49:20
好了,
野放客() 21:49:24
谢谢

野放客() 21:50:32
['view'] 这个就是显示的意思吗
野放客() 21:51:11
<?php foreach($field_images as $item) { ?>这个怎么理解

野放客() 21:52:34
field_images 里 的每个项目的意思吗
葛红儒(55381091) 21:55:05
['view'] 指的是数组中的一个键
葛红儒(55381091) 21:55:25
它指的是单个图片的输出文本
葛红儒(55381091) 21:55:44
野放客() 21:52:34
field_images 里 的每个项目的意思吗,
对,就是这个意思

正确答案就是上面给出的代码:这里重复一下:

 <?php if ($field_images[0]['view'] > '' ) : ?>
            <?php foreach($field_images as $item) { ?>
            <div class="company-logos">
            <?php print $item['view']; ?>
            </div>
            <?php } ?>
            <?php endif; ?>

 

Drupal版本: