找回密码
 立即注册

探究Discuz X3.2:分类信息变量在内容页与列表页的应用技巧

悬念 2024-6-29 13:18

在设计模板下载用的帖子内容页样式时,我遇到一个挑战:分类信息默认显示在帖子内容上方,但我希望将其独立出来,在内容页的其他位置调用特定分类字段。为了实现这一目标,我计划使用以下代码片段来调用所需字段: 
 
```php 
$_G['forum_option']['字段']['value']
``` 
 
值得注意的是,这个变量在帖子列表页中无法直接使用,这在逻辑上是可以理解的。经过一番搜索和测试,我发现网上普遍推荐的调用方法是:
 
```php
{$_G['optionvaluelist'][$sortid][$thread['tid']]['字段']['value']} 
```
 
然而,在X3.2版本中,这种方法似乎并不奏效,可能是适用于旧版本的解决方案。 
 
为了找出问题所在,我详细检查了`$_G['optionvaluelist']`数组的结构:
```php
    [1] => Array 
        (
            [1] => Array
                (
                    [zd1] => Array
                        (
                            [title] => 字段1
                            [unit] => 
                            [value] => 光电鼠标 
                        )
                ) 
        )
)
```
从数组结构来看,该数组本身并无问题。问题的关键在于`$sortid`变量未能正确获取分类信息ID。由于帖子列表数据使用了`pre_forum_thread`表,其中包含`sortid`字段,因此正确的做法应是使用`$thread['sortid']`来获取分类信息ID。据此,我修正了调用方式:
 
```php
{$_G['optionvaluelist'][$thread['sortid']][$thread['tid']]['字段']['value']} 
``` 
这样修改后,即可成功调用分类信息字段。 
 
这一过程不仅解决了当前的问题,还为我之前编写的DB调用帖子列表功能提供了新的思路和应用可能性。通过深入理解分类信息数组、分类信息ID、帖子ID以及字段之间的关系,我们可以更灵活地处理和展示数据。
路过
路过
雷人
雷人
握手
握手
鲜花
鲜花
鸡蛋
鸡蛋