织梦标签问题集锦:
1, 第一问题织梦标签:{dede:field.typename/}和[field:typename/]和{dede:field name=’typename‘/}用法区别还有些类似加dede前缀和加有区别希望有大侠详细解释下谢谢谢谢
第二问题织梦标签调用时候底用单引号还双引号,有讲究嘛看有单引号有双引号好像都比arclist row=* 还’*‘
回家:第一个问题
{dede:field.typename/}单独使用标签;
[field:typename/]而像样外层肯定有嵌套标签;
{dede:field name=’typename‘/}其实和{dede:field.typename/}效样;
加dede前缀都般都外层比说{dede:arclist}标签或者单独使用标签{dede:field.body/}而加dede前缀般都指被嵌套标签内部标签;
其实dede:面field意思字段代表值;arclist意思表代表着多数据;样理解会好多;
第二问题规范来说用单引号用双引号也建议用单引号;
2,{dede:field name='typename'/}不是用来提取当前栏目名称的吗,我怎么不行 ,高手解谢谢。
回答:如果是在内容页的话用上页的是不行的,他只适用于首页和分页
在内容页的格式为:{dede:onetype typeid=''}[field:typename /]{/dede:onetype}
自己备注:效果图如下所示:
<div class="nleftbt">{dede:field.typeid function='GetTopidName(@me)'/}</div> //调用了“学院概况”这个是不能点击的,是栏目的名称。下方几个是它的子类。这种方法要注意了,是运用织梦的缓存,如果对织梦有一定了解的那都会知道织梦本身是写了获取顶级栏目id的方法(GetTopid($id))
在使用GetTopidName(@me)之前,要打开文件:include/helpers/channelunit.helper.php,然后在最下面添加以下代码:
/**
* 获取一个类目的顶级类目名称
*
* @param string $tid 栏目ID
* @return string
*/
if ( ! function_exists('GetTopidName'))
{
function GetTopidName($tid)
{
global $cfg_Cs;
if(!is_array($cfg_Cs))
{
require_once(DEDEDATA."/cache/inc_catalog_base.inc");
}
if(!isset($cfg_Cs[$tid][0]) || $cfg_Cs[$tid][0]==0)
{
return base64_decode($cfg_Cs[$tid][3]);
}
else
{
return GetTopidName($cfg_Cs[$tid][0]);
}
}
}
<ul> //调用“学院概况”下属的子类,文章页、列表页这位老兄都用了这个标签模式,效果都能出现。
{dede:channel type='son'}
<li><a href='[field:typelink /]'>[field:typename/]</a></li>
{/dede:channel}
</ul>
其实像这种模式的,一般我会选择用 织梦单页 来做,这样就比较简单了。不过没有试过,两种方法哪种更为的简洁。
这位老兄还用了下述的方法在列表页调用了文章列表,效果有了,不知道怎么样.
{dede:arclist row='10' titlelen='24' idlist='' channelid='1'}
<li class="catlist_li">[field:textlink/]</li>
{/dede:arclist}