织梦DEDECMS扩展标签怎么用

来源:undefined 2024-12-29 09:18:43 1044

织梦dedecms扩展标签怎么用?

织梦DEDECMS扩展标签演示实例

推荐学习:织梦cms

我们可以看一个示例标签:demotag.lib.php ,

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

if(!defined(DEDEINC)) 

exit("Request Error!"); 

function lib_demotag(&$ctag,&$refObj) 

global $dsql,$envs; 

$attlist="row|12,titlelen|24"; 

FillAttsDefault($ctag->CAttribute->Items,$attlist); 

extract($ctag->CAttribute->Items, EXTR_SKIP); 

$revalue = ; 

//------------------------------------------------------ 

$revalue = Hello Word!; 

//------------------------------------------------------ 

return $revalue; 

?>

登录后复制

我们会发现标签起作用了,输出了我们的内容。

1

2

3

$revalue = Hello Word!; 

$revalue .=" 

Row:".$row.";TitleLen:".$titlelen;

登录后复制

这样我们可以看到,这个属性已经被创建变量并且赋值了。

接下来我们可以再进一步去修改这个标签。

1

function lib_writerarc(&$ctag,&$refObj)

登录后复制

接下来我们就可以编写查询语句及对底层模板处理的相关函数了

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

$revalue = ; 

$innertext = $ctag->GetInnerText(); 

$ctp = new DedeTagParse(); 

$ctp->SetNameSpace(field, [, ]); 

$sql = "SELECT * FROM dede_archives WHERE writer={$refObj->Fields[writer]} limit 0, $row"; 

$dsql->Execute(me,$sql); 

while($rs = $dsql->GetArray(me)) 

$rs[title] = cn_substr($rs[title], $titlelen); 

$ctp->LoadSource($innertext); 

foreach($ctp->CTags as $tagid=>$ctag) { 

if(!emptyempty($rs[strtolower($ctag->GetName())])) { 

$ctp->Assign($tagid,$rs[$ctag->GetName()]); 

$revalue .= $ctp->GetResult(); 

}

登录后复制

最后返回这个值return $revalue;

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

if(!defined(DEDEINC)) 

exit("Request Error!"); 

function lib_writerarc(&$ctag,&$refObj) 

global $dsql,$envs; 

$attlist="row|12,titlelen|24"; 

FillAttsDefault($ctag->CAttribute->Items,$attlist); 

extract($ctag->CAttribute->Items, EXTR_SKIP); 

$revalue = ; 

$innertext = $ctag->GetInnerText(); 

$ctp = new DedeTagParse(); 

$ctp->SetNameSpace(field, [, ]); 

$sql = "SELECT * FROM dede_archives WHERE writer={$refObj->Fields[writer]} limit 0, $row"; 

$dsql->Execute(me,$sql); 

while($rs = $dsql->GetArray(me)) 

$rs[title] = cn_substr($rs[title], $titlelen); 

$ctp->LoadSource($innertext); 

foreach($ctp->CTags as $tagid=>$ctag) { 

if(!emptyempty($rs[strtolower($ctag->GetName())])) { 

$ctp->Assign($tagid,$rs[$ctag->GetName()]); 

$revalue .= $ctp->GetResult(); 

return $revalue; 

?>

登录后复制

通过动态浏览页面进行查看调试?aid=3

1

2

3

{dede:writerarc row=10 titlelen=6} 

[field:title/]  

{/dede:writerarc}

登录后复制

以上就是织梦DEDECMS扩展标签怎么用的详细内容,更多请关注php中文网其它相关文章!

最新文章