欢迎光临
我们一直在努力

DedeCMS实现头条大标题图片调用的实现方法

你是否经常看到一些大门户网站的漂亮的头条图片标题呢?就像下面人民网这个: 这标题就是图片做的,虽然我们可以直接用文字和css做,但有时我们需要要一些字体特效,可不是每个人的电脑都安装有这些字体的

dede怎么生成这样的标题呢?其实很简单的: 一、实现方法 1)标题图片字体定义 首先上传字体文件上传到include/data/fonts/下,并命名为 STXINGKA.TTF (字体下载),这个是用于生成标题图片的字体的。当然,你也可以自己定义更漂亮的字体,但字体必须命名为STXINGKA.TTF。 2)标题图片函数文件 打开include/extend.func.php (注意:本文件为自定义函数接口,如果你没有这个文件,请自己创建一个),在最后面的?>的前面以上开始插入以下代码:

class DeDeTitle
{
var $text = '暂无标题';
var $bg = '#F0F0F0';
var $color = '#30F';
var $width = 500;
var $height = 50;
var $size = 30;
var $font;
var $path;
function __construct($t)
{
if($t)
{
$this->text = $t;
}
$this->font = DEDEINC.'/data/fonts/STXINGKA.TTF';
}
function DeDeTitle($t)
{
$this->__construct($t);
}
function TextConv()
{
global $cfg_soft_lang;
if($cfg_soft_lang!='utf-8')
{
return gb2utf8($this->text);
}
return $this->text;
}
function C($color,$rgb)
{
if(strlen($color)==4)
{
for($i=1;$i<4;$i++)
{
$str .= str_repeat($color[$i],2);
}
$color = '#'.$str;
}
switch($rgb)
{
case 'R': return hexdec(substr($color, 1, 2));
case 'B': return hexdec(substr($color, 3, 2));
case 'G': return hexdec(substr($color, 5, 2));
}
}
function Titlepath()
{
global $cfg_medias_dir;
$name = GetPinyin($this->text).'.gif';
$path = $cfg_medias_dir.'/title/';
if(!is_dir($path))
{
CreateDir($path);
}
return $path.$name;
}
function Show()
{
if(!file_exists(DEDEROOT.$this->Titlepath()))
{
$this->Make();
}
global $cfg_cmsurl;
return '<img src="'.$cfg_cmsurl.$this-/>Titlepath().'"/>';
}
function Make()
{
$image = imagecreatetruecolor($this->width,$this->height);
$bg = ImageColorAllocate($image,$this->C($this->bg,'R'),$this->C($this->bg,'B'),$this->C($this->bg,'G'));
$color = ImageColorAllocate($image,$this->C($this->color,'R'),$this->C($this->color,'B'),$this->C($this->color,'G'));
ImageFilledRectangle($image,0,0,$this->width,$this->height,$bg);
imagettftext($image,$this->size, 0, $this->size/2, ($this->height+$this->size)/2, $color, $this->font,$this->TextConv());
imagegif($image,DEDEROOT.$this->Titlepath());
imagedestroy($image);
}
}

3)调用方法简单说明       实际上我们知道,在织梦(DedeCMS)系统中,处理底层字段,一般来说有两种方法:

1.function 2.runphp

这两种方法的知识不在本教程讲解的重点,大家可查阅相关资料了解!        我们这里的标题图片,运用的就是第二种runphp来处理的,调用方法为:        在arclist标签中:

[field:title runphp='yes']
$title = new DeDeTitle(@me);//使用DedeTile类
$title->bg = '#F0F0F0';//标题图片背静颜色
$title->color = '#30F';//标题图片字体颜色
$title->width = 350;//标题图片的宽度
$title->height = 50;//标题图片的高度
$title->size = 25;//标题图片的字体大小
@me=$title->Show();//显示图片
[/field:title]

如果在是内容页运用,只需要将[field:title/]换成 {dede:field.title/}即可,例如:

{dede:field.title runphp='yes'}
$title = new DeDeTitle(@me);//使用DedeTile类
$title->bg = '#F0F0F0';//标题图片背静颜色
$title->color = '#30F';//标题图片字体颜色
$title->width = 350;//标题图片的宽度
$title->height = 50;//标题图片的高度
$title->size = 25;//标题图片的字体大小
@me=$title->Show();//显示图片
{/dede:field.title/}

二、效果预览       我们在后台的【模板】——[全局标记测试]中输入以下代码:

{dede:arclist row='1' typeid=''}
<a href="[field:arcurl/]">[field:title runphp='yes']
$title = new DeDeTitle(@me);
$title->bg = '#F0F0F0';
$title->color = '#30F';
$title->width = 350;
$title->height = 50;
$title->size = 25;
@me=$title->Show();
[/field:title]</a>
{/dede:arclist}

三、其它说明       这里的这个是一个现成的库,他不仅仅可以生成标题图片,也可以生成一些其它的内容。只要你会使用本函数中所介绍的几个参数即可。        本文转自:DEDECMS 再次对原作者贾金鹏表示感谢,来源:http://www.16blog.cn/dedecms-call-header-image.htm

其他方法来自DEDE论坛

1、直接用字体实现

http://bbs.dedecms.com/220350.html

[code]INDEX.HTM 文件的代码

</head>
<body class="index">
{dede:include filename="head.htm"/}
<!– /header –>
<div class="w960 center clear mt1">
<div class="pleft">

<div class="picnews">
<!–头条–>
<div class="onenews">
{dede:arclist titlelen=’40’ flag=’h’ limit=’0,1′ infolen=’230′}
<h2 align="center"><font size="6" face="黑体"><strong><a href="[field:arcurl/]">[field:title/]</a></strong></font></h2>
{/dede:arclist}
</div>
<!– /onenews –>
<!–/头条–>
</div> [/code]

2、和第一种方式差不多的,http://bbs.dedecms.com/read.php?tid=279978&keyword=%CD%B7%CC%F5

赞(0) 打赏
未经允许不得转载:新席地网博客 » DedeCMS实现头条大标题图片调用的实现方法
分享到: 更多 (0)
标签:

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
  • Q Q(选填)

新席地网-苏州网站制作,360度全景摄影,微信小程序营销推广,抖音运营推广

QQ :13945502电话:17895058839

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

×
订阅图标按钮